| 45 if(args->icon) { |
46 if(args->icon) { |
| 46 button.image = ui_cocoa_named_icon(args->icon);; |
47 button.image = ui_cocoa_named_icon(args->icon);; |
| 47 } |
48 } |
| 48 |
49 |
| 49 if(args->onclick) { |
50 if(args->onclick) { |
| 50 EventData *event = [[EventData alloc] init:args->onclick userdata:args->onclickdata]; |
51 EventData *event = [[EventData alloc] init:args->onclick userdata:args->onclickdata action:args->action]; |
| 51 event.obj = obj; |
52 event.obj = obj; |
| 52 button.target = event; |
53 button.target = event; |
| 53 button.action = @selector(handleEvent:); |
54 button.action = @selector(handleEvent:); |
| 54 objc_setAssociatedObject(button, "eventdata", event, OBJC_ASSOCIATION_RETAIN); |
55 objc_setAssociatedObject(button, "eventdata", event, OBJC_ASSOCIATION_RETAIN); |
| 55 } |
56 } |
| 86 i->obj = (__bridge void*)button; |
87 i->obj = (__bridge void*)button; |
| 87 i->get = ui_togglebutton_get; |
88 i->get = ui_togglebutton_get; |
| 88 i->set = ui_togglebutton_set; |
89 i->set = ui_togglebutton_set; |
| 89 } |
90 } |
| 90 |
91 |
| 91 if(args->onchange) { |
92 if(args->onchange || args->action) { |
| 92 EventData *event = [[EventData alloc] init:args->onchange userdata:args->onchangedata]; |
93 EventData *event = [[EventData alloc] init:args->onchange userdata:args->onchangedata action:args->action]; |
| 93 event.get_eventdata = togglebutton_eventdata; |
94 event.get_eventdata = togglebutton_eventdata; |
| 94 event.obj = obj; |
95 event.obj = obj; |
| 95 event.var = var; |
96 event.var = var; |
| 96 event.vartype = UI_VAR_INTEGER; |
97 event.vartype = UI_VAR_INTEGER; |
| 97 button.target = event; |
98 button.target = event; |
| 98 button.action = @selector(handleEventWithEventData:); |
99 button.action = @selector(handleEventWithEventData:); |
| 99 objc_setAssociatedObject(button, "eventdata", event, OBJC_ASSOCIATION_RETAIN); |
100 objc_setAssociatedObject(button, "eventdata", event, OBJC_ASSOCIATION_RETAIN); |
| |
101 |
| |
102 ui_cocoa_view_bind_action(obj->ctx, button, args->action); |
| 100 } |
103 } |
| 101 |
104 |
| 102 UiLayout layout = UI_INIT_LAYOUT(args); |
105 UiLayout layout = UI_INIT_LAYOUT(args); |
| 103 ui_container_add(obj, button, &layout); |
106 ui_container_add(obj, button, &layout); |
| 104 |
107 |
| 147 i->obj = (__bridge void*)button; |
150 i->obj = (__bridge void*)button; |
| 148 i->get = ui_switch_get; |
151 i->get = ui_switch_get; |
| 149 i->set = ui_switch_set; |
152 i->set = ui_switch_set; |
| 150 } |
153 } |
| 151 |
154 |
| 152 if(args->onchange) { |
155 if(args->onchange || args->action) { |
| 153 EventData *event = [[EventData alloc] init:args->onchange userdata:args->onchangedata]; |
156 EventData *event = [[EventData alloc] init:args->onchange userdata:args->onchangedata action:args->action]; |
| 154 event.get_eventdata = switch_eventdata; |
157 event.get_eventdata = switch_eventdata; |
| 155 event.obj = obj; |
158 event.obj = obj; |
| 156 event.var = var; |
159 event.var = var; |
| 157 event.vartype = UI_VAR_INTEGER; |
160 event.vartype = UI_VAR_INTEGER; |
| 158 button.target = event; |
161 button.target = event; |
| 159 button.action = @selector(handleEventWithEventData:); |
162 button.action = @selector(handleEventWithEventData:); |
| 160 objc_setAssociatedObject(button, "eventdata", event, OBJC_ASSOCIATION_RETAIN); |
163 objc_setAssociatedObject(button, "eventdata", event, OBJC_ASSOCIATION_RETAIN); |
| |
164 ui_cocoa_view_bind_action(obj->ctx, button, args->action); |
| 161 } |
165 } |
| 162 |
166 |
| 163 UiLayout layout = UI_INIT_LAYOUT(args); |
167 UiLayout layout = UI_INIT_LAYOUT(args); |
| 164 ui_container_add(obj, button, &layout); |
168 ui_container_add(obj, button, &layout); |
| 165 |
169 |
| 236 } |
240 } |
| 237 [buttons addObject:button]; |
241 [buttons addObject:button]; |
| 238 objc_setAssociatedObject(button, "radiogroup", buttons, OBJC_ASSOCIATION_RETAIN); |
242 objc_setAssociatedObject(button, "radiogroup", buttons, OBJC_ASSOCIATION_RETAIN); |
| 239 } |
243 } |
| 240 |
244 |
| 241 if(args->onchange || var) { |
245 if(args->onchange || args->action || var) { |
| 242 EventData *event = [[EventData alloc] init:args->onchange userdata:args->onchangedata]; |
246 EventData *event = [[EventData alloc] init:args->onchange userdata:args->onchangedata action:args->action]; |
| 243 event.get_eventdata = radiobutton_eventdata; |
247 event.get_eventdata = radiobutton_eventdata; |
| 244 event.obj = obj; |
248 event.obj = obj; |
| 245 event.var = var; |
249 event.var = var; |
| 246 event.vartype = UI_VAR_INTEGER; |
250 event.vartype = UI_VAR_INTEGER; |
| 247 button.target = event; |
251 button.target = event; |
| 248 |
252 |
| 249 |
|
| 250 button.action = @selector(handleEventWithEventData:); |
253 button.action = @selector(handleEventWithEventData:); |
| 251 |
254 |
| 252 objc_setAssociatedObject(button, "eventdata", event, OBJC_ASSOCIATION_RETAIN); |
255 objc_setAssociatedObject(button, "eventdata", event, OBJC_ASSOCIATION_RETAIN); |
| |
256 |
| |
257 ui_cocoa_view_bind_action(obj->ctx, button, args->action); |
| 253 } |
258 } |
| 254 |
259 |
| 255 UiLayout layout = UI_INIT_LAYOUT(args); |
260 UiLayout layout = UI_INIT_LAYOUT(args); |
| 256 ui_container_add(obj, button, &layout); |
261 ui_container_add(obj, button, &layout); |
| 257 |
262 |