gwenhywfar 5.10.1
w_label.mm
Go to the documentation of this file.
1/***************************************************************************
2 begin : August 09 2010
3 copyright : (C) 2010 by Samuel Strupp
4
5 ***************************************************************************
6 * Please see toplevel file COPYING for license details *
7 ***************************************************************************/
8
9
10#import "CocoaLabel.h"
11
12
13static GWENHYWFAR_CB
16 int index,
17 int value,
18 int doSignal) {
19 CocoaLabel *labelTextField;
20
22 assert(labelTextField);
23
24 switch(prop) {
26 [labelTextField setEnabled:(value==0)?NO:YES];
27 return 0;
28
30 if ([labelTextField window]) {
31 [[labelTextField window] makeFirstResponder:labelTextField];
32 }
33 return 0;
34
36 NSRect frame = [labelTextField frame];
37 frame.size.width = value;
38 [labelTextField setFrame:frame];
39 }
40 return 0;
41
43 NSRect frame = [labelTextField frame];
44 frame.size.height = value;
45 [labelTextField setFrame:frame];
46 }
47 return 0;
48
49 default:
50 break;
51 }
52
54 "Function is not appropriate for this type of widget (%s)",
56 return GWEN_ERROR_INVALID;
57}
58
59
60
61
62static GWENHYWFAR_CB
65 int index,
66 int defaultValue) {
67 CocoaLabel *labelTextField;
68
70 assert(labelTextField);
71
72 switch(prop) {
74 return ([labelTextField isEnabled])?1:0;
75
77 if ([labelTextField window]) {
78 if ([[labelTextField window] firstResponder] == labelTextField) {
79 return 1;
80 }
81 }
82 return 0;
83
85 return [labelTextField frame].size.width;
86
88 return [labelTextField frame].size.height;
89
90 default:
91 break;
92 }
93
95 "Function is not appropriate for this type of widget (%s)",
97 return defaultValue;
98}
99
100
101
102static GWENHYWFAR_CB
105 int index,
106 const char *value,
107 int doSignal) {
108 CocoaLabel *labelTextField;
109
111 assert(labelTextField);
112
113 switch(prop) {
115 NSString *stringValue = [[NSString alloc] initWithCString:value encoding:NSUTF8StringEncoding];
116 [labelTextField setStringValue:stringValue];
117 NSLog(@"%@", stringValue);
118 [stringValue release];
119 }
120 return 0;
121 default:
122 break;
123 }
124
126 "Function is not appropriate for this type of widget (%s)",
128 return GWEN_ERROR_INVALID;
129}
130
131
132
133static GWENHYWFAR_CB
136 int index,
137 const char *defaultValue) {
138 CocoaLabel *labelTextField;
139
141 assert(labelTextField);
142
143 switch(prop) {
145 return [[labelTextField stringValue] cStringUsingEncoding:NSUTF8StringEncoding];
146 default:
147 break;
148 }
149
151 "Function is not appropriate for this type of widget (%s)",
153 return defaultValue;
154}
155
156
157
159
160 CocoaLabel *labelTextField;
161 const char *s;
162 uint32_t flags;
163 GWEN_WIDGET *wParent;
164
165 flags=GWEN_Widget_GetFlags(w);
166 wParent=GWEN_Widget_Tree_GetParent(w);
167 s=GWEN_Widget_GetText(w, 0);
168
169 labelTextField = [[[CocoaLabel alloc] initWithFrame:NSMakeRect(10.0, 10.0, 100.0, 24.0)] autorelease];
170 if (flags & GWEN_WIDGET_FLAGS_FILLX) labelTextField.fillX = YES;
171 if (flags & GWEN_WIDGET_FLAGS_FILLY) labelTextField.fillY = YES;
172 [labelTextField setDrawsBackground:NO];
173 [labelTextField setBordered:NO];
174 [labelTextField setEditable:NO];
175 if (s && *s) {
176 NSString *stringValue = [[NSString alloc] initWithCString:s encoding:NSUTF8StringEncoding];
177 [labelTextField setStringValue:stringValue];
178 //NSLog(@"%@", stringValue);
179 [stringValue release];
180 }
181
182
183 GWEN_Widget_SetImplData(w, COCOA_DIALOG_WIDGET_REAL, (void*) labelTextField);
184 GWEN_Widget_SetImplData(w, COCOA_DIALOG_WIDGET_CONTENT, (void*) labelTextField);
185
190
191 if (wParent)
193
194
195
196 return 0;
197}
198
199
#define COCOA_DIALOG_WIDGET_REAL
#define COCOA_DIALOG_WIDGET_CONTENT
#define DBG_WARN(dbg_logger, format, args...)
Definition: debug.h:125
#define GWEN_WIDGET_FLAGS_FILLY
Definition: dialog.h:62
#define GWEN_WIDGET_FLAGS_FILLX
Definition: dialog.h:61
GWEN_DIALOG_PROPERTY
Definition: dialog.h:260
@ GWEN_DialogProperty_Title
Definition: dialog.h:263
@ GWEN_DialogProperty_Height
Definition: dialog.h:273
@ GWEN_DialogProperty_Enabled
Definition: dialog.h:267
@ GWEN_DialogProperty_Focus
Definition: dialog.h:276
@ GWEN_DialogProperty_Width
Definition: dialog.h:272
#define GWEN_ERROR_INVALID
Definition: error.h:67
#define GWENHYWFAR_CB
Definition: gwenhywfarapi.h:89
BOOL fillX
Definition: CocoaLabel.h:19
BOOL fillY
Definition: CocoaLabel.h:20
#define GWEN_LOGDOMAIN
Definition: logger.h:35
static GWENHYWFAR_CB int CocoaGui_WLabel_SetIntProperty(GWEN_WIDGET *w, GWEN_DIALOG_PROPERTY prop, int index, int value, int doSignal)
Definition: w_label.mm:14
static GWENHYWFAR_CB int CocoaGui_WLabel_SetCharProperty(GWEN_WIDGET *w, GWEN_DIALOG_PROPERTY prop, int index, const char *value, int doSignal)
Definition: w_label.mm:103
int CocoaGui_WLabel_Setup(GWEN_WIDGET *w)
Definition: w_label.mm:158
static GWENHYWFAR_CB const char * CocoaGui_WLabel_GetCharProperty(GWEN_WIDGET *w, GWEN_DIALOG_PROPERTY prop, int index, const char *defaultValue)
Definition: w_label.mm:134
static GWENHYWFAR_CB int CocoaGui_WLabel_GetIntProperty(GWEN_WIDGET *w, GWEN_DIALOG_PROPERTY prop, int index, int defaultValue)
Definition: w_label.mm:63
GWEN_WIDGET_GETCHARPROPERTY_FN GWEN_Widget_SetGetCharPropertyFn(GWEN_WIDGET *w, GWEN_WIDGET_GETCHARPROPERTY_FN fn)
Definition: widget.c:732
GWEN_WIDGET_GETINTPROPERTY_FN GWEN_Widget_SetGetIntPropertyFn(GWEN_WIDGET *w, GWEN_WIDGET_GETINTPROPERTY_FN fn)
Definition: widget.c:702
int GWEN_Widget_AddChildGuiWidget(GWEN_WIDGET *w, GWEN_WIDGET *wChild)
Definition: widget.c:828
void GWEN_Widget_SetImplData(GWEN_WIDGET *w, int index, void *ptr)
Store a pointer with the widget.
Definition: widget.c:136
void * GWEN_Widget_GetImplData(const GWEN_WIDGET *w, int index)
Definition: widget.c:122
GWEN_WIDGET_SETINTPROPERTY_FN GWEN_Widget_SetSetIntPropertyFn(GWEN_WIDGET *w, GWEN_WIDGET_SETINTPROPERTY_FN fn)
Definition: widget.c:687
const char * GWEN_Widget_GetText(const GWEN_WIDGET *w, int idx)
Definition: widget.c:293
uint32_t GWEN_Widget_GetFlags(const GWEN_WIDGET *w)
Definition: widget.c:149
const char * GWEN_Widget_Type_toString(GWEN_WIDGET_TYPE t)
Definition: widget.c:452
GWEN_WIDGET_TYPE GWEN_Widget_GetType(const GWEN_WIDGET *w)
Definition: widget.c:185
GWEN_WIDGET_SETCHARPROPERTY_FN GWEN_Widget_SetSetCharPropertyFn(GWEN_WIDGET *w, GWEN_WIDGET_SETCHARPROPERTY_FN fn)
Definition: widget.c:717
struct GWEN_WIDGET GWEN_WIDGET
Definition: widget_be.h:34