88 [button setImage:s->image]; |
93 [button setImage:s->image]; |
89 } else { |
94 } else { |
90 [button setImage:[NSImage imageNamed: NSImageNameRemoveTemplate]]; |
95 [button setImage:[NSImage imageNamed: NSImageNameRemoveTemplate]]; |
91 } |
96 } |
92 [button setBezelStyle: NSTexturedRoundedBezelStyle]; |
97 [button setBezelStyle: NSTexturedRoundedBezelStyle]; |
93 [item setView:button]; |
|
94 |
98 |
95 // event |
99 // event |
96 EventWrapper *event = [[EventWrapper alloc] |
100 EventWrapper *event = [[EventWrapper alloc] |
97 initWithData:userdata callback:callback]; |
101 initWithData:userdata callback:callback]; |
98 [button setAction:@selector(handleEvent:)]; |
102 if(isToggleButton) { |
|
103 [button setButtonType: NSPushOnPushOffButton]; |
|
104 [button setAction:@selector(handleToggleEvent:)]; |
|
105 } else { |
|
106 [button setAction:@selector(handleEvent:)]; |
|
107 } |
99 [button setTarget:event]; |
108 [button setTarget:event]; |
100 |
109 |
101 if(groups) { |
110 if(groups) { |
102 uic_add_group_widget(obj->ctx, item, groups); |
111 uic_add_group_widget(obj->ctx, item, groups); |
103 } |
112 } |
104 |
113 |
|
114 [item setView:button]; |
105 return item; |
115 return item; |
106 } |
116 } |
107 |
117 |
108 - (UcxList*) groups { |
118 - (UcxList*) groups { |
109 return groups; |
119 return groups; |
208 void ui_toolitem_st(char *name, char *stockid, ui_callback f, void *udata) { |
218 void ui_toolitem_st(char *name, char *stockid, ui_callback f, void *udata) { |
209 ui_toolitem_stgr(name, stockid, f, udata, -1); |
219 ui_toolitem_stgr(name, stockid, f, udata, -1); |
210 } |
220 } |
211 |
221 |
212 void ui_toolitem_stgr(char *name, char *stockid, ui_callback f, void *udata, ...) { |
222 void ui_toolitem_stgr(char *name, char *stockid, ui_callback f, void *udata, ...) { |
|
223 va_list ap; |
|
224 va_start(ap, udata); |
|
225 ui_toolbar_stock_button(name, stockid, NO, f, udata, ap); |
|
226 va_end(ap); |
|
227 } |
|
228 |
|
229 void ui_toolitem_toggle_st(char *name, char *stockid, ui_callback f, void *udata) { |
|
230 ui_toolitem_toggle_stgr(name, stockid, f, udata, -1); |
|
231 } |
|
232 |
|
233 void ui_toolitem_toggle_stgr(char *name, char *stockid, ui_callback f, void *udata, ...) { |
|
234 va_list ap; |
|
235 va_start(ap, udata); |
|
236 ui_toolbar_stock_button(name, stockid, YES, f, udata, ap); |
|
237 va_end(ap); |
|
238 } |
|
239 |
|
240 |
|
241 void ui_toolbar_stock_button(char *name, char *stockid, BOOL toggle, ui_callback f, void *udata, va_list ap) { |
213 UiToolbarStockItem *item = [[UiToolbarStockItem alloc] |
242 UiToolbarStockItem *item = [[UiToolbarStockItem alloc] |
214 initWithIdentifier: name |
243 initWithIdentifier: name |
215 stockID: stockid |
244 stockID: stockid |
216 callback: f |
245 callback: f |
217 userdata: udata]; |
246 userdata: udata]; |
|
247 [item setIsToggleButton: toggle]; |
218 NSString *identifier = [[NSString alloc]initWithUTF8String:name]; |
248 NSString *identifier = [[NSString alloc]initWithUTF8String:name]; |
219 [toolbar_delegate addItem: identifier item: item]; |
249 [toolbar_delegate addItem: identifier item: item]; |
220 |
250 |
221 // add groups |
251 // add groups |
222 va_list ap; |
|
223 va_start(ap, udata); |
|
224 int group; |
252 int group; |
225 while((group = va_arg(ap, int)) != -1) { |
253 while((group = va_arg(ap, int)) != -1) { |
226 [item addGroup: group]; |
254 [item addGroup: group]; |
227 } |
255 } |
228 va_end(ap); |
256 } |
229 } |
257 |
230 |
258 |
231 void ui_toolbar_add_default(char *name) { |
259 void ui_toolbar_add_default(char *name) { |
232 NSString *identifier = [[NSString alloc]initWithUTF8String:name]; |
260 NSString *identifier = [[NSString alloc]initWithUTF8String:name]; |
233 [toolbar_delegate addDefault: identifier]; |
261 [toolbar_delegate addDefault: identifier]; |
234 } |
262 } |