ui/cocoa/button.m

changeset 603
8d2b7b934230
parent 568
797b73c2c883
child 718
06eec75a6fd5
--- a/ui/cocoa/button.m	Fri May 30 17:55:57 2025 +0200
+++ b/ui/cocoa/button.m	Sat May 31 20:57:26 2025 +0200
@@ -31,15 +31,15 @@
 #import "Container.h"
 #import <objc/runtime.h>
 
-UIWIDGET ui_button_create(UiObject* obj, UiButtonArgs args) {
+UIWIDGET ui_button_create(UiObject* obj, UiButtonArgs *args) {
     NSButton *button = [[NSButton alloc] init];
-    if(args.label) {
-        NSString *label = [[NSString alloc] initWithUTF8String:args.label];
+    if(args->label) {
+        NSString *label = [[NSString alloc] initWithUTF8String:args->label];
         button.title = label;
     }
     
-    if(args.onclick) {
-        EventData *event = [[EventData alloc] init:args.onclick userdata:args.onclickdata];
+    if(args->onclick) {
+        EventData *event = [[EventData alloc] init:args->onclick userdata:args->onclickdata];
         event.obj = obj;
         button.target = event;
         button.action = @selector(handleEvent:);
@@ -59,17 +59,17 @@
     *value = (int)state;
 }
 
-UIWIDGET togglebutton_create(UiObject* obj, UiToggleArgs args, enum NSButtonType type) {
+UIWIDGET togglebutton_create(UiObject* obj, UiToggleArgs *args, enum NSButtonType type) {
     NSButton *button = [[NSButton alloc] init];
     [button setButtonType:type];
     //[button setAllowsMixedState:YES];
     
-    if(args.label) {
-        NSString *label = [[NSString alloc] initWithUTF8String:args.label];
+    if(args->label) {
+        NSString *label = [[NSString alloc] initWithUTF8String:args->label];
         button.title = label;
     }
     
-    UiVar* var = uic_widget_var(obj->ctx, obj->ctx, args.value, args.varname, UI_VAR_INTEGER);
+    UiVar* var = uic_widget_var(obj->ctx, obj->ctx, args->value, args->varname, UI_VAR_INTEGER);
     if(var) {
         UiInteger *i = var->value;
         i->obj = (__bridge void*)button;
@@ -77,8 +77,8 @@
         i->set = ui_togglebutton_set;
     }
     
-    if(args.onchange) {
-        EventData *event = [[EventData alloc] init:args.onchange userdata:args.onchangedata];
+    if(args->onchange) {
+        EventData *event = [[EventData alloc] init:args->onchange userdata:args->onchangedata];
         event.get_eventdata = togglebutton_eventdata;
         event.obj = obj;
         event.var = var;
@@ -113,11 +113,11 @@
     button.state = state;
 }
 
-UIWIDGET ui_togglebutton_create(UiObject* obj, UiToggleArgs args) {
+UIWIDGET ui_togglebutton_create(UiObject* obj, UiToggleArgs *args) {
     return togglebutton_create(obj, args, NSButtonTypePushOnPushOff);
 }
 
-UIWIDGET ui_checkbox_create(UiObject* obj, UiToggleArgs args) {
+UIWIDGET ui_checkbox_create(UiObject* obj, UiToggleArgs *args) {
     return togglebutton_create(obj, args, NSButtonTypeSwitch);
 }
 
@@ -127,10 +127,10 @@
     *value = (int)state;
 }
 
-UIWIDGET ui_switch_create(UiObject* obj, UiToggleArgs args) {
+UIWIDGET ui_switch_create(UiObject* obj, UiToggleArgs *args) {
     NSSwitch *button = [[NSSwitch alloc] init];
     
-    UiVar* var = uic_widget_var(obj->ctx, obj->ctx, args.value, args.varname, UI_VAR_INTEGER);
+    UiVar* var = uic_widget_var(obj->ctx, obj->ctx, args->value, args->varname, UI_VAR_INTEGER);
     if(var) {
         UiInteger *i = var->value;
         i->obj = (__bridge void*)button;
@@ -138,8 +138,8 @@
         i->set = ui_switch_set;
     }
     
-    if(args.onchange) {
-        EventData *event = [[EventData alloc] init:args.onchange userdata:args.onchangedata];
+    if(args->onchange) {
+        EventData *event = [[EventData alloc] init:args->onchange userdata:args->onchangedata];
         event.get_eventdata = switch_eventdata;
         event.obj = obj;
         event.var = var;
@@ -204,14 +204,14 @@
     }
 }
 
-UIWIDGET ui_radiobutton_create(UiObject* obj, UiToggleArgs args) {
+UIWIDGET ui_radiobutton_create(UiObject* obj, UiToggleArgs *args) {
     UiRadioButton *button = [[UiRadioButton alloc] init];
     
-    if(args.label) {
-        button.title = [[NSString alloc] initWithUTF8String:args.label];
+    if(args->label) {
+        button.title = [[NSString alloc] initWithUTF8String:args->label];
     }
     
-    UiVar* var = uic_widget_var(obj->ctx, obj->ctx, args.value, args.varname, UI_VAR_INTEGER);
+    UiVar* var = uic_widget_var(obj->ctx, obj->ctx, args->value, args->varname, UI_VAR_INTEGER);
     button.var = var;
     NSMutableArray *buttons = nil;
     if(var) {
@@ -227,8 +227,8 @@
         objc_setAssociatedObject(button, "radiogroup", buttons, OBJC_ASSOCIATION_RETAIN);
     }
     
-    if(args.onchange || var) {
-        EventData *event = [[EventData alloc] init:args.onchange userdata:args.onchangedata];
+    if(args->onchange || var) {
+        EventData *event = [[EventData alloc] init:args->onchange userdata:args->onchangedata];
         event.get_eventdata = radiobutton_eventdata;
         event.obj = obj;
         event.var = var;

mercurial