ui/ui/toolbar.h

branch
newapi
changeset 205
b1ac0dd1d38b
parent 167
161511838ea6
child 207
93b9f502cb88
--- a/ui/ui/toolbar.h	Fri Oct 06 19:38:10 2023 +0200
+++ b/ui/ui/toolbar.h	Tue Oct 10 10:58:14 2023 +0200
@@ -36,7 +36,35 @@
 extern "C" {
 #endif
 
-void ui_toolitem(char *name, char *label, ui_callback f, void *udata);
+typedef struct UiToolbarItemArgs {
+	const char* label;
+	const char* stockid;
+	const char* icon;
+
+	ui_callback onclick;
+	void* onclickdata;
+} UiToolbarItemArgs;
+
+typedef struct UiToolbarToggleItemArgs {
+	const char* label;
+	const char* stockid;
+	const char* icon;
+
+	const char* varname;
+	ui_callback onchange;
+	void* onchangedata;
+} UiToolbarToggleItemArgs;
+
+
+#define ui_toolbar_item(name, ...) ui_toolbar_item_create(name, (UiToolbarItemArgs){ __VA_ARGS__ } )
+#define ui_toolbar_toggleitem(name, ...) ui_toolbar_item_create(name, (UiToolbarItemArgs){ __VA_ARGS__ } )
+
+UIEXPORT void ui_toolbar_item_create(const char* name, UiToolbarItemArgs args);
+UIEXPORT void ui_toolbar_toggleitem_create(const char* name, UiToolbarToggleItemArgs args);
+
+
+
+void ui_toolitem_deprecated(char *name, char *label, ui_callback f, void *udata);
 void ui_toolitem_st(char *name, char *stockid, ui_callback f, void *udata);
 void ui_toolitem_sti(char *name, char *stockid, ui_callback f, void *udata);
 void ui_toolitem_stgr(char *name, char *stockid, ui_callback f, void *udata, ...);
@@ -52,7 +80,7 @@
 void ui_toolbar_combobox_str(char *name, UiList *list, ui_callback f, void *udata);
 void ui_toolbar_combobox_nv(char *name, char *listname, ui_getvaluefunc getvalue, ui_callback f, void *udata);
 
-void ui_toolbar_add_default(char *name);
+UIEXPORT void ui_toolbar_add_default(const char *name);
 
 #ifdef	__cplusplus
 }

mercurial