| 138 } |
138 } |
| 139 gtk_tool_item_set_is_important(button, TRUE); |
139 gtk_tool_item_set_is_important(button, TRUE); |
| 140 |
140 |
| 141 ui_set_widget_nstates(obj->ctx, GTK_WIDGET(button), item->args.states, item->nstates); |
141 ui_set_widget_nstates(obj->ctx, GTK_WIDGET(button), item->args.states, item->nstates); |
| 142 |
142 |
| 143 if(item->args.onclick) { |
143 if(item->args.onclick || item->args.action) { |
| 144 UiEventData *event = cxMalloc( |
144 UiEventData *event = cxMalloc( |
| 145 obj->ctx->allocator, |
145 obj->ctx->allocator, |
| 146 sizeof(UiEventData)); |
146 sizeof(UiEventData)); |
| 147 event->obj = obj; |
147 event->obj = obj; |
| 148 event->callback = item->args.onclick; |
148 event->callback = item->args.onclick; |
| 149 event->userdata = item->args.onclickdata; |
149 event->userdata = item->args.onclickdata; |
| |
150 event->action = item->args.action ? ui_strdup(obj->ctx, item->args.action) : NULL; |
| 150 event->customdata = NULL; |
151 event->customdata = NULL; |
| 151 event->customint = 0; |
152 event->customint = 0; |
| 152 event->value = 0; |
153 event->value = 0; |
| 153 |
154 |
| 154 g_signal_connect( |
155 g_signal_connect( |
| 236 UiVar *var = event->var; |
238 UiVar *var = event->var; |
| 237 UiInteger *i = var ? var->value : NULL; |
239 UiInteger *i = var ? var->value : NULL; |
| 238 |
240 |
| 239 if(i) { |
241 if(i) { |
| 240 ui_notify_evt(i->observers, &e); |
242 ui_notify_evt(i->observers, &e); |
| |
243 } |
| |
244 |
| |
245 if(event->action) { |
| |
246 uic_action_callback(&e, event->action); |
| 241 } |
247 } |
| 242 } |
248 } |
| 243 |
249 |
| 244 int64_t ui_tool_toggle_button_get(UiInteger *integer) { |
250 int64_t ui_tool_toggle_button_get(UiInteger *integer) { |
| 245 integer->value = gtk_toggle_tool_button_get_active(GTK_TOGGLE_TOOL_BUTTON(integer->obj)); |
251 integer->value = gtk_toggle_tool_button_get_active(GTK_TOGGLE_TOOL_BUTTON(integer->obj)); |