--- a/ui/ui/button.h Sun Oct 01 09:23:47 2023 +0200 +++ b/ui/ui/button.h Sun Oct 01 12:08:09 2023 +0200 @@ -42,24 +42,32 @@ int colspan; int rowspan; - char* label; - char* stockid; + const char* label; + const char* stockid; ui_callback onclick; void* onclickdata; } UiButtonArgs; typedef struct UiToggleArgs { - char* label; - char* stockid; + UiTri fill; + UiBool hexpand; + UiBool vexpand; + int colspan; + int rowspan; + + const char* label; + const char* stockid; UiInteger* value; - char* varname; + const char* varname; } UiToggleArgs; #define ui_button(obj, ...) ui_button_create(obj, (UiButtonArgs){ __VA_ARGS__ } ) +#define ui_togglebutton(obj, ...) ui_togglebutton_create(obj, (UiToggleArgs){ __VA_ARGS__ } ) #define ui_checkbox(obj, ...) ui_checkbox_create(obj, (UiToggleArgs){ __VA_ARGS__ } ) #define ui_radiobutton(obj, ...) ui_checkbox_create(obj, (UiToggleArgs){ __VA_ARGS__ } ) UIWIDGET ui_button_create(UiObject* obj, UiButtonArgs args); +UIWIDGET ui_togglebutton_create(UiObject* obj, UiToggleArgs args); UIWIDGET ui_checkbox_create(UiObject* obj, UiToggleArgs args); UIWIDGET ui_radiobutton_create(UiObject* obj, UiToggleArgs);