app.toolbar_item("new_notebook").icon(UiIconSet::NewFolder.as_str()).action("new_notebook").create();
app.toolbar_item("go_back").icon(UiIconSet::GoBack.as_str()).action("go_back").create();
app.toolbar_item("go_forward").icon(UiIconSet::GoForward.as_str()).action("go_forward").create();
- app.toolbar_item("new_note").icon(UiIconSet::Add.as_str()).action("new_note").states(&[AppStates::NoteEnableNew as i32]).create();
- app.toolbar_item("show_list").icon(UiIconSet::List.as_str()).action("show_list").create();
+ app.toolbar_item("new_note").icon(UiIconSet::NewDocument.as_str()).action("new_note").states(&[AppStates::NoteEnableNew as i32]).create();
app.toolbar_add_default("new_notebook", ToolbarItemPosition::SidebarLeft);
app.toolbar_add_default("go_back", ToolbarItemPosition::Left);
pub enum UiIconSet {
Home = 0,
NewWindow,
- Refresh,
+ NewTab,
NewFolder,
+ NewDocument,
+ NewAppointment,
+ NewChatMessage,
+ NewContact,
+ NewMail,
+ AddBookmark,
+ AddImage,
+ AddLink,
+ AddText,
Add,
+ Remove,
+ Refresh,
Upload,
SaveLocal,
- Delete,
- DockLeft,
- DockRight,
+ EditCopy,
+ EditCut,
+ EditDelete,
+ EditPaste,
+ Undo,
+ Redo,
+ SidebarLeft,
+ SidebarRight,
GoBack,
GoForward,
GoUp,
GoDown,
- List
+ ViewList,
+ ViewGrid,
+ ViewDual,
+ ViewFullscreen,
+ ViewRestore,
+ TextBold,
+ TextItalic,
+ TextUnderline,
+ ListBullet,
+ ListOrdered,
+ ListCheck,
}
impl UiIconSet {
free(args);
}
+/* ---------------------------- UiToolbarContentToggleItemArgs ---------------------------- */
+
+UiToolbarContentToggleItemArgs* ui_toolbar_content_toggleitem_args_new(void) {
+ UiToolbarContentToggleItemArgs *args = malloc(sizeof(UiToolbarContentToggleItemArgs));
+ memset(args, 0, sizeof(UiToolbarContentToggleItemArgs));
+ return args;
+}
+
+void ui_toolbar_content_toggleitem_args_set_label0(UiToolbarContentToggleItemArgs *args, const char *label) {
+ args->label0 = strdup(label);
+}
+
+void ui_toolbar_content_toggleitem_args_set_icon0(UiToolbarContentToggleItemArgs *args, const char *icon) {
+ args->icon0 = strdup(icon);
+}
+
+void ui_toolbar_content_toggleitem_args_set_tooltip0(UiToolbarContentToggleItemArgs *args, const char *tooltip) {
+ args->tooltip0 = strdup(tooltip);
+}
+
+void ui_toolbar_content_toggleitem_args_set_label1(UiToolbarContentToggleItemArgs *args, const char *label) {
+ args->label1 = strdup(label);
+}
+
+void ui_toolbar_content_toggleitem_args_set_icon1(UiToolbarContentToggleItemArgs *args, const char *icon) {
+ args->icon1 = strdup(icon);
+}
+
+void ui_toolbar_content_toggleitem_args_set_tooltip1(UiToolbarContentToggleItemArgs *args, const char *tooltip) {
+ args->tooltip1 = strdup(tooltip);
+}
+
+void ui_toolbar_content_toggleitem_args_set_varname(UiToolbarContentToggleItemArgs *args, const char *varname) {
+ args->varname = strdup(varname);
+}
+
+void ui_toolbar_content_toggleitem_args_set_action(UiToolbarContentToggleItemArgs *args, const char *action) {
+ args->action = strdup(action);
+}
+
+void ui_toolbar_content_toggleitem_args_set_onchange(UiToolbarContentToggleItemArgs *args, ui_callback callback) {
+ args->onchange = callback;
+}
+
+void ui_toolbar_content_toggleitem_args_set_onchangedata(UiToolbarContentToggleItemArgs *args, void *onchangedata) {
+ args->onchangedata = onchangedata;
+}
+
+void ui_toolbar_content_toggleitem_args_set_istogglebutton(UiToolbarContentToggleItemArgs *args, UiBool value) {
+ args->istogglebutton = value;
+}
+
+void ui_toolbar_content_toggleitem_args_set_toggled_by_state(UiToolbarContentToggleItemArgs *args, int state) {
+ args->toggled_by_state = state;
+}
+
+void ui_toolbar_content_toggleitem_args_set_states(UiToolbarContentToggleItemArgs *args,int *states, int numstates) {
+ args->states = calloc(numstates+1, sizeof(int));
+ memcpy((void*)args->states, states, numstates * sizeof(int));
+ ((int*)args->states)[numstates] = -1;
+}
+
+void ui_toolbar_content_toggleitem_args_free(UiToolbarContentToggleItemArgs *args) {
+ free((void*)args->label0);
+ free((void*)args->icon0);
+ free((void*)args->tooltip0);
+ free((void*)args->label1);
+ free((void*)args->icon1);
+ free((void*)args->tooltip1);
+ free((void*)args->varname);
+ free((void*)args->action);
+ free((void*)args->states);
+ free(args);
+}
+
/* ---------------------------- UiToolbarMenuArgs ---------------------------- */
free(args);
}
+/* ------------------------- UiContentToggleArgs ----------------------------*/
+
+
+UiContentToggleArgs* ui_content_toggle_args_new(void) {
+ UiContentToggleArgs *args = malloc(sizeof(UiContentToggleArgs));
+ memset(args, 0, sizeof(UiContentToggleArgs));
+ return args;
+}
+
+void ui_content_toggle_args_set_fill(UiContentToggleArgs *args, UiBool fill) {
+ args->fill = fill;
+}
+
+void ui_content_toggle_args_set_hexpand(UiContentToggleArgs *args, UiBool value) {
+ args->hexpand = value;
+}
+
+void ui_content_toggle_args_set_vexpand(UiContentToggleArgs *args, UiBool value) {
+ args->vexpand = value;
+}
+
+void ui_content_toggle_args_set_hfill(UiContentToggleArgs *args, UiBool value) {
+ args->hfill = value;
+}
+
+void ui_content_toggle_args_set_vfill(UiContentToggleArgs *args, UiBool value) {
+ args->vfill = value;
+}
+
+void ui_content_toggle_args_set_override_defaults(UiContentToggleArgs *args, UiBool value) {
+ args->override_defaults = value;
+}
+
+void ui_content_toggle_args_set_margin(UiContentToggleArgs *args, int value) {
+ args->margin = value;
+}
+
+void ui_content_toggle_args_set_margin_left(UiContentToggleArgs *args, int value) {
+ args->margin_left = value;
+}
+
+void ui_content_toggle_args_set_margin_right(UiContentToggleArgs *args, int value) {
+ args->margin_right = value;
+}
+
+void ui_content_toggle_args_set_margin_top(UiContentToggleArgs *args, int value) {
+ args->margin_top = value;
+}
+
+void ui_content_toggle_args_set_margin_bottom(UiContentToggleArgs *args, int value) {
+ args->margin_bottom = value;
+}
+
+void ui_content_toggle_args_set_colspan(UiContentToggleArgs *args, int colspan) {
+ args->colspan = colspan;
+}
+
+void ui_content_toggle_args_set_rowspan(UiContentToggleArgs *args, int rowspan) {
+ args->rowspan = rowspan;
+}
+
+
+void ui_content_toggle_args_set_name(UiContentToggleArgs *args, const char *name) {
+ args->name = strdup(name);
+}
+
+void ui_content_toggle_args_set_style_class(UiContentToggleArgs *args, const char *classname) {
+ args->style_class = strdup(classname);
+}
+
+void ui_content_toggle_args_set_label0(UiContentToggleArgs *args, const char *label){
+ args->label0 = strdup(label);
+}
+
+void ui_content_toggle_args_set_icon0(UiContentToggleArgs *args, const char *icon){
+ args->icon0 = strdup(icon);
+}
+
+void ui_content_toggle_args_set_tooltip0(UiContentToggleArgs *args, const char *tooltip) {
+ args->tooltip0 = strdup(tooltip);
+}
+
+void ui_content_toggle_args_set_label1(UiContentToggleArgs *args, const char *label){
+ args->label1 = strdup(label);
+}
+
+void ui_content_toggle_args_set_icon1(UiContentToggleArgs *args, const char *icon){
+ args->icon1 = strdup(icon);
+}
+
+void ui_content_toggle_args_set_tooltip1(UiContentToggleArgs *args, const char *tooltip) {
+ args->tooltip1 = strdup(tooltip);
+}
+
+void ui_content_toggle_args_set_labeltype(UiContentToggleArgs *args, int labeltype){
+ args->labeltype = labeltype;
+}
+
+void ui_content_toggle_args_set_onchange(UiContentToggleArgs *args, ui_callback callback){
+ args->onchange = callback;
+}
+
+void ui_content_toggle_args_set_onchangedata(UiContentToggleArgs *args, void *onchangedata){
+ args->onchangedata = onchangedata;
+}
+
+void ui_content_toggle_args_set_action(UiContentToggleArgs *args, const char *action) {
+ args->action = strdup(action);
+}
+
+void ui_content_toggle_args_set_varname(UiContentToggleArgs *args, const char *varname) {
+ args->varname = strdup(varname);
+}
+
+void ui_content_toggle_args_set_value(UiContentToggleArgs *args, UiInteger *value) {
+ args->value = value;
+}
+
+void ui_content_toggle_args_set_toggled_by_state(UiContentToggleArgs *args, int state) {
+ args->toggled_by_state = state;
+}
+
+void ui_content_toggle_args_set_istogglebutton(UiContentToggleArgs *args, UiBool value) {
+ args->istogglebutton = value;
+}
+
+void ui_content_toggle_args_set_enablestate(UiContentToggleArgs *args, int state) {
+ args->enable_state = state;
+}
+
+void ui_content_toggle_args_set_states(UiContentToggleArgs *args, int *states, int numstates) {
+ args->states = calloc(numstates+1, sizeof(int));
+ memcpy((void*)args->states, states, numstates * sizeof(int));
+ ((int*)args->states)[numstates] = -1;
+}
+
+void ui_content_toggle_args_set_visibility_states(UiContentToggleArgs *args, int *states, int numstates) {
+ args->visibility_states = calloc(numstates+1, sizeof(int));
+ memcpy((void*)args->visibility_states, states, numstates * sizeof(int));
+ ((int*)args->visibility_states)[numstates] = -1;
+}
+
+void ui_content_toggle_args_free(UiContentToggleArgs *args) {
+ free((void*)args->name);
+ free((void*)args->style_class);
+ free((void*)args->label0);
+ free((void*)args->icon0);
+ free((void*)args->tooltip0);
+ free((void*)args->label1);
+ free((void*)args->icon1);
+ free((void*)args->tooltip1);
+ free((void*)args->varname);
+ free((void*)args->action);
+ free((void*)args->states);
+ free((void*)args->visibility_states);
+ free(args);
+}
+
/* ------------------------- UiLinkButtonArgs ----------------------------*/
UIEXPORT void ui_toolbar_toggleitem_args_set_states(UiToolbarToggleItemArgs *args, int *states, int numstates);
UIEXPORT void ui_toolbar_toggleitem_args_free(UiToolbarToggleItemArgs *args);
+UIEXPORT UiToolbarContentToggleItemArgs* ui_toolbar_content_toggleitem_args_new(void);
+UIEXPORT void ui_toolbar_content_toggleitem_args_set_label0(UiToolbarContentToggleItemArgs *args, const char *label);
+UIEXPORT void ui_toolbar_content_toggleitem_args_set_icon0(UiToolbarContentToggleItemArgs *args, const char *icon);
+UIEXPORT void ui_toolbar_content_toggleitem_args_set_tooltip0(UiToolbarContentToggleItemArgs *args, const char *tooltip);
+UIEXPORT void ui_toolbar_content_toggleitem_args_set_label1(UiToolbarContentToggleItemArgs *args, const char *label);
+UIEXPORT void ui_toolbar_content_toggleitem_args_set_icon1(UiToolbarContentToggleItemArgs *args, const char *icon);
+UIEXPORT void ui_toolbar_content_toggleitem_args_set_tooltip1(UiToolbarContentToggleItemArgs *args, const char *tooltip);
+UIEXPORT void ui_toolbar_content_toggleitem_args_set_varname(UiToolbarContentToggleItemArgs *args, const char *varname);
+UIEXPORT void ui_toolbar_content_toggleitem_args_set_action(UiToolbarContentToggleItemArgs *args, const char *action);
+UIEXPORT void ui_toolbar_content_toggleitem_args_set_onchange(UiToolbarContentToggleItemArgs *args, ui_callback callback);
+UIEXPORT void ui_toolbar_content_toggleitem_args_set_onchangedata(UiToolbarContentToggleItemArgs *args, void *onchangedata);
+UIEXPORT void ui_toolbar_content_toggleitem_args_set_states(UiToolbarContentToggleItemArgs *args, int *states, int numstates);
+UIEXPORT void ui_toolbar_content_toggleitem_args_set_istogglebutton(UiToolbarContentToggleItemArgs *args, UiBool value);
+UIEXPORT void ui_toolbar_content_toggleitem_args_set_toggled_by_state(UiToolbarContentToggleItemArgs *args, int state);
+UIEXPORT void ui_toolbar_content_toggleitem_args_free(UiToolbarContentToggleItemArgs *args);
+
UIEXPORT UiToolbarMenuArgs* ui_toolbar_menu_args_new(void);
UIEXPORT void ui_toolbar_menu_args_set_label(UiToolbarMenuArgs *args, const char *label);
UIEXPORT void ui_toolbar_menu_args_set_icon(UiToolbarMenuArgs *args, const char *icon);
UIEXPORT void ui_toggle_args_set_visibility_states(UiToggleArgs *args, int *states, int numstates);
UIEXPORT void ui_toggle_args_free(UiToggleArgs *args);
+UIEXPORT UiContentToggleArgs* ui_content_toggle_args_new(void);
+UIEXPORT void ui_content_toggle_args_set_fill(UiContentToggleArgs *args, UiBool fill);
+UIEXPORT void ui_content_toggle_args_set_hexpand(UiContentToggleArgs *args, UiBool value);
+UIEXPORT void ui_content_toggle_args_set_vexpand(UiContentToggleArgs *args, UiBool value);
+UIEXPORT void ui_content_toggle_args_set_hfill(UiContentToggleArgs *args, UiBool value);
+UIEXPORT void ui_content_toggle_args_set_vfill(UiContentToggleArgs *args, UiBool value);
+UIEXPORT void ui_content_toggle_args_set_override_defaults(UiContentToggleArgs *args, UiBool value);
+UIEXPORT void ui_content_toggle_args_set_margin(UiContentToggleArgs *args, int value);
+UIEXPORT void ui_content_toggle_args_set_margin_left(UiContentToggleArgs *args, int value);
+UIEXPORT void ui_content_toggle_args_set_margin_right(UiContentToggleArgs *args, int value);
+UIEXPORT void ui_content_toggle_args_set_margin_top(UiContentToggleArgs *args, int value);
+UIEXPORT void ui_content_toggle_args_set_margin_bottom(UiContentToggleArgs *args, int value);
+UIEXPORT void ui_content_toggle_args_set_colspan(UiContentToggleArgs *args, int colspan);
+UIEXPORT void ui_content_toggle_args_set_rowspan(UiContentToggleArgs *args, int rowspan);
+UIEXPORT void ui_content_toggle_args_set_name(UiContentToggleArgs *args, const char *name);
+UIEXPORT void ui_content_toggle_args_set_style_class(UiContentToggleArgs *args, const char *classname);
+UIEXPORT void ui_content_toggle_args_set_label0(UiContentToggleArgs *args, const char *label);
+UIEXPORT void ui_content_toggle_args_set_icon0(UiContentToggleArgs *args, const char *icon);
+UIEXPORT void ui_content_toggle_args_set_tooltip0(UiContentToggleArgs *args, const char *tooltip);
+UIEXPORT void ui_content_toggle_args_set_label1(UiContentToggleArgs *args, const char *label);
+UIEXPORT void ui_content_toggle_args_set_icon1(UiContentToggleArgs *args, const char *icon);
+UIEXPORT void ui_content_toggle_args_set_tooltip1(UiContentToggleArgs *args, const char *tooltip);
+UIEXPORT void ui_content_toggle_args_set_labeltype(UiContentToggleArgs *args, int labeltype);
+UIEXPORT void ui_content_toggle_args_set_onchange(UiContentToggleArgs *args, ui_callback callback);
+UIEXPORT void ui_content_toggle_args_set_onchangedata(UiContentToggleArgs *args, void *onchangedata);
+UIEXPORT void ui_content_toggle_args_set_action(UiContentToggleArgs *args, const char *action);
+UIEXPORT void ui_content_toggle_args_set_varname(UiContentToggleArgs *args, const char *varname);
+UIEXPORT void ui_content_toggle_args_set_value(UiContentToggleArgs *args, UiInteger *value);
+UIEXPORT void ui_content_toggle_args_set_toggled_by_state(UiContentToggleArgs *args, int state);
+UIEXPORT void ui_content_toggle_args_set_istogglebutton(UiContentToggleArgs *args, UiBool value);
+UIEXPORT void ui_content_toggle_args_set_enablestate(UiContentToggleArgs *args, int state);
+UIEXPORT void ui_content_toggle_args_set_states(UiContentToggleArgs *args, int *states, int numstates);
+UIEXPORT void ui_content_toggle_args_set_visibility_states(UiContentToggleArgs *args, int *states, int numstates);
+UIEXPORT void ui_content_toggle_args_free(UiContentToggleArgs *args);
+
UIEXPORT UiLinkButtonArgs* ui_linkbutton_args_new(void);
UIEXPORT void ui_linkbutton_args_set_fill(UiLinkButtonArgs *args, UiBool fill);
UIEXPORT void ui_linkbutton_args_set_hexpand(UiLinkButtonArgs *args, UiBool value);
const char* ui_icon_name(enum UiIconId icon_id) {
switch(icon_id) {
- case UI_ICON_ID_HOME : return UI_ICON_HOME;
- case UI_ICON_ID_NEW_WINDOW : return UI_ICON_NEW_WINDOW;
- case UI_ICON_ID_REFRESH : return UI_ICON_REFRESH;
- case UI_ICON_ID_NEW_FOLDER : return UI_ICON_NEW_FOLDER;
- case UI_ICON_ID_ADD : return UI_ICON_ADD;
- case UI_ICON_ID_UPLOAD : return UI_ICON_UPLOAD;
- case UI_ICON_ID_SAVE_LOCAL : return UI_ICON_SAVE_LOCAL;
- case UI_ICON_ID_DELETE : return UI_ICON_DELETE;
- case UI_ICON_ID_DOCK_LEFT : return UI_ICON_DOCK_LEFT;
- case UI_ICON_ID_DOCK_RIGHT : return UI_ICON_DOCK_RIGHT;
- case UI_ICON_ID_GO_BACK : return UI_ICON_GO_BACK;
- case UI_ICON_ID_GO_FORWARD : return UI_ICON_GO_FORWARD;
- case UI_ICON_ID_GO_UP : return UI_ICON_GO_UP;
- case UI_ICON_ID_GO_DOWN : return UI_ICON_GO_DOWN;
- case UI_ICON_ID_LIST : return UI_ICON_LIST;
+ case UI_ICON_ID_HOME : return UI_ICON_HOME;
+ case UI_ICON_ID_NEW_WINDOW : return UI_ICON_NEW_WINDOW;
+ case UI_ICON_ID_NEW_TAB : return UI_ICON_NEW_TAB;
+ case UI_ICON_ID_NEW_FOLDER : return UI_ICON_NEW_FOLDER;
+ case UI_ICON_ID_NEW_DOCUMENT : return UI_ICON_NEW_DOCUMENT;
+ case UI_ICON_ID_NEW_APPOINTMENT : return UI_ICON_NEW_APPOINTMENT;
+ case UI_ICON_ID_NEW_CHAT_MESSAGE : return UI_ICON_NEW_CHAT_MESSAGE;
+ case UI_ICON_ID_NEW_CONTACT : return UI_ICON_NEW_CONTACT;
+ case UI_ICON_ID_NEW_MAIL : return UI_ICON_NEW_MAIL;
+ case UI_ICON_ID_ADD_BOOKMARK : return UI_ICON_ADD_BOOKMARK;
+ case UI_ICON_ID_ADD_IMAGE : return UI_ICON_ADD_IMAGE;
+ case UI_ICON_ID_ADD_LINK : return UI_ICON_ADD_LINK;
+ case UI_ICON_ID_ADD_TEXT : return UI_ICON_ADD_TEXT;
+ case UI_ICON_ID_ADD : return UI_ICON_ADD;
+ case UI_ICON_ID_REMOVE : return UI_ICON_REMOVE;
+ case UI_ICON_ID_REFRESH : return UI_ICON_REFRESH;
+ case UI_ICON_ID_UPLOAD : return UI_ICON_UPLOAD;
+ case UI_ICON_ID_SAVE_LOCAL : return UI_ICON_SAVE_LOCAL;
+ case UI_ICON_ID_EDIT_COPY : return UI_ICON_EDIT_COPY;
+ case UI_ICON_ID_EDIT_CUT : return UI_ICON_EDIT_CUT;
+ case UI_ICON_ID_EDIT_DELETE : return UI_ICON_EDIT_DELETE;
+ case UI_ICON_ID_EDIT_PASTE : return UI_ICON_EDIT_PASTE ;
+ case UI_ICON_ID_UNDO : return UI_ICON_UNDO;
+ case UI_ICON_ID_REDO : return UI_ICON_REDO;
+ case UI_ICON_ID_SIDEBAR_LEFT : return UI_ICON_SIDEBAR_LEFT;
+ case UI_ICON_ID_SIDEBAR_RIGHT : return UI_ICON_SIDEBAR_RIGHT;
+ case UI_ICON_ID_GO_BACK : return UI_ICON_GO_BACK;
+ case UI_ICON_ID_GO_FORWARD : return UI_ICON_GO_FORWARD ;
+ case UI_ICON_ID_GO_UP : return UI_ICON_GO_UP;
+ case UI_ICON_ID_GO_DOWN : return UI_ICON_GO_DOWN;
+ case UI_ICON_ID_VIEW_LIST : return UI_ICON_VIEW_LIST;
+ case UI_ICON_ID_VIEW_GRID : return UI_ICON_VIEW_GRID;
+ case UI_ICON_ID_VIEW_DUAL : return UI_ICON_VIEW_DUAL;
+ case UI_ICON_ID_VIEW_FULLSCREEN : return UI_ICON_VIEW_FULLSCREEN;
+ case UI_ICON_ID_VIEW_RESTORE : return UI_ICON_VIEW_RESTORE;
+ case UI_ICON_ID_TEXT_BOLD : return UI_ICON_TEXT_BOLD;
+ case UI_ICON_ID_TEXT_ITALIC : return UI_ICON_TEXT_ITALIC;
+ case UI_ICON_ID_TEXT_UNDERLINE : return UI_ICON_TEXT_UNDERLINE;
+ case UI_ICON_ID_LIST_BULLET : return UI_ICON_LIST_BULLET ;
+ case UI_ICON_ID_LIST_ORDERED : return UI_ICON_LIST_ORDERED;
+ case UI_ICON_ID_LIST_CHECK : return UI_ICON_LIST_CHECK;
}
return NULL;
}
return newargs;\r
}\r
\r
+static UiToolbarContentToggleItemArgs contenttoggleitemargs_copy(UiToolbarContentToggleItemArgs *args, size_t *ngroups, size_t *nvstates) {\r
+ UiToolbarContentToggleItemArgs newargs;\r
+ newargs.label0 = nl_strdup(args->label0);\r
+ newargs.icon0 = nl_strdup(args->icon0);\r
+ newargs.tooltip0 = nl_strdup(args->tooltip0);\r
+ newargs.label1 = nl_strdup(args->label1);\r
+ newargs.icon1 = nl_strdup(args->icon1);\r
+ newargs.tooltip1 = nl_strdup(args->tooltip1);\r
+ newargs.varname = nl_strdup(args->varname);\r
+ newargs.onchange = args->onchange;\r
+ newargs.onchangedata = args->onchangedata;\r
+ newargs.action = nl_strdup(args->action);\r
+ newargs.toggled_by_state = args->toggled_by_state;\r
+ newargs.istogglebutton = args->istogglebutton;\r
+ newargs.states = uic_copy_states(args->states, ngroups);\r
+ newargs.visibility_states = uic_copy_states(args->visibility_states, nvstates);\r
+ return newargs;\r
+}\r
+\r
void ui_toolbar_toggleitem_create(const char* name, UiToolbarToggleItemArgs *args) {\r
UiToolbarToggleItem* item = malloc(sizeof(UiToolbarToggleItem));\r
item->item.type = UI_TOOLBAR_TOGGLEITEM;\r
cxMapPut(toolbar_items, name, item);\r
}\r
\r
+void ui_toolbar_content_toggleitem_create(const char* name, UiToolbarContentToggleItemArgs *args) {\r
+ UiToolbarContentToggleItem* item = malloc(sizeof(UiToolbarContentToggleItem));\r
+ item->item.type = UI_TOOLBAR_CONTENT_TOGGLEITEM;\r
+ item->args = contenttoggleitemargs_copy(args, &item->nstates, &item->nvstates);\r
+ cxMapPut(toolbar_items, name, item);\r
+}\r
+\r
static UiToolbarMenuArgs menuargs_copy(UiToolbarMenuArgs *args, size_t *nvstates) {\r
UiToolbarMenuArgs newargs;\r
newargs.label = nl_strdup(args->label);\r
extern "C" {\r
#endif\r
\r
-typedef struct UiToolbarItemI UiToolbarItemI;\r
+typedef struct UiToolbarItemI UiToolbarItemI;\r
\r
-typedef struct UiToolbarItem UiToolbarItem;\r
-typedef struct UiToolbarToggleItem UiToolbarToggleItem;\r
+typedef struct UiToolbarItem UiToolbarItem;\r
+typedef struct UiToolbarToggleItem UiToolbarToggleItem;\r
+typedef struct UiToolbarContentToggleItem UiToolbarContentToggleItem;\r
\r
-typedef struct UiToolbarMenuItem UiToolbarMenuItem;\r
+typedef struct UiToolbarMenuItem UiToolbarMenuItem;\r
\r
enum UiToolbarItemType {\r
UI_TOOLBAR_ITEM = 0,\r
UI_TOOLBAR_TOGGLEITEM,\r
+ UI_TOOLBAR_CONTENT_TOGGLEITEM,\r
UI_TOOLBAR_MENU\r
};\r
\r
size_t nvstates;\r
};\r
\r
+struct UiToolbarContentToggleItem {\r
+ UiToolbarItemI item;\r
+ UiToolbarContentToggleItemArgs args;\r
+ size_t nstates;\r
+ size_t nvstates;\r
+};\r
+\r
struct UiToolbarMenuItem {\r
UiToolbarItemI item;\r
UiMenu menu;\r
event);
}
- if(onchange) {
+ if(onchange || action) {
UiEventData *event = malloc(sizeof(UiEventData));
event->obj = obj;
event->userdata = onchangedata;
#endif
+static void content_toggle_button_changed(UiContentToggleButton *button) {
+ if(button->toggled) {
+ gtk_button_set_label(GTK_BUTTON(button->widget), button->label1);
+ ui_button_set_icon_name(button->widget, button->icon1);
+ gtk_widget_set_tooltip_text(button->widget, button->tooltip1);
+ } else {
+ gtk_button_set_label(GTK_BUTTON(button->widget), button->label0);
+ ui_button_set_icon_name(button->widget, button->icon0);
+ gtk_widget_set_tooltip_text(button->widget, button->tooltip0);
+ }
+
+ UiEvent e;
+ e.obj = button->obj;
+ e.window = button->obj->window;
+ e.document = button->obj->ctx->document;
+ e.eventdata = NULL;
+ e.eventdatatype = 0;
+ e.intval = button->toggled;
+ e.set = ui_get_setop();
+
+ if(button->onchange) {
+ button->onchange(&e, button->onchangedata);
+ }
+
+ if(button->onchange_action) {
+ uic_action_callback(&e, button->onchange_action);
+ }
+}
+
+static void ui_content_toggle_button_toggled(GtkWidget *widget, UiContentToggleButton *button) {
+ button->toggled = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
+ if(ui_get_setop() == 0) {
+ content_toggle_button_changed(button);
+ }
+}
+
+static void ui_content_toggle_button_clicked(GtkWidget *widget, UiContentToggleButton *button) {
+ button->toggled = !button->toggled;
+ content_toggle_button_changed(button);
+}
+
+static void ui_destroy_content_togglebutton(GtkWidget *widget, UiContentToggleButton *button) {
+ free(button->label0);
+ free(button->icon0);
+ free(button->tooltip0);
+ free(button->label1);
+ free(button->icon1);
+ free(button->tooltip1);
+ free(button->onchange_action);
+ free(button);
+}
+
+static void ui_content_togglebutton_enabled_by_state(void *data, int enabled) {
+ UiContentToggleButton *button = data;
+ if(button->toggled != enabled) {
+ button->toggled = enabled;
+ content_toggle_button_changed(button);
+ }
+}
+
+UIWIDGET ui_create_content_togglebutton(UiObject *obj, UiContentToggleArgs *args) {
+ UiContentToggleButton *button = malloc(sizeof(UiContentToggleButton));
+ memset(button, 0, sizeof(UiContentToggleButton));
+ button->obj = obj;
+ button->label0 = args->label0 ? strdup(args->label0) : NULL;
+ button->icon0 = args->icon0 ? strdup(args->icon0) : NULL;
+ button->tooltip0 = args->tooltip0 ? strdup(args->tooltip0) : NULL;
+ button->label1 = args->label1 ? strdup(args->label1) : NULL;
+ button->icon1 = args->icon1 ? strdup(args->icon1) : NULL;
+ button->tooltip1 = args->tooltip1 ? strdup(args->tooltip1) : NULL;
+ button->enable_state = args->enable_state;
+ button->var = uic_widget_var(obj->ctx, obj->ctx, args->value, args->varname, UI_VAR_INTEGER);
+ button->onchange = args->onchange;
+ button->onchangedata = args->onchangedata;
+ button->onchange_action = args->action ? strdup(args->action) : NULL;
+
+ const char *label = args->label0;
+ const char *icon = args->icon0;
+ const char *tooltip = args->tooltip0;
+ if(button->var) {
+ UiInteger *i = button->var->value;
+ i->obj = button;
+ i->get = ui_ctntogglebutton_get;
+ i->set = ui_ctntogglebutton_set;
+
+ if(i->value) {
+ label = args->label1;
+ icon = args->label1;
+ tooltip = args->tooltip1;
+ button->toggled = 1;
+ }
+ }
+
+ GtkWidget *widget;
+ if(args->istogglebutton) {
+ widget = gtk_toggle_button_new_with_label(label);
+
+ g_signal_connect(
+ widget,
+ "toggled",
+ G_CALLBACK(ui_content_toggle_button_toggled),
+ button);
+ } else {
+ widget = gtk_button_new_with_label(label);
+
+ g_signal_connect(
+ widget,
+ "clicked",
+ G_CALLBACK(ui_content_toggle_button_clicked),
+ button);
+ }
+ ui_button_set_icon_name(widget, icon);
+ gtk_widget_set_tooltip_text(widget, tooltip);
+ button->widget = widget;
+
+ if(args->toggled_by_state != 0) {
+ CxList *ls = cxArrayListCreate(NULL, sizeof(int), 1);
+ cxListAdd(ls, &args->toggled_by_state);
+ uic_add_state_widget(obj->ctx, button, ui_content_togglebutton_enabled_by_state, ls);
+ cxListFree(ls);
+ }
+
+ g_signal_connect(
+ widget,
+ "destroy",
+ G_CALLBACK(ui_destroy_content_togglebutton),
+ button);
+
+ g_object_set_data(G_OBJECT(widget), "ui_content_togglebutton", button);
+ return widget;
+}
+
+UIWIDGET ui_content_togglebutton_create(UiObject *obj, UiContentToggleArgs *args) {
+ GtkWidget *widget = ui_create_content_togglebutton(obj, args);
+
+ ui_set_name_and_style(widget, args->name, args->style_class);
+ ui_set_widget_states(obj->ctx, widget, args->states);
+ UiContainerPrivate *ct = (UiContainerPrivate*)obj->container_end;
+ UiLayout layout = UI_ARGS2LAYOUT(args);
+ ct->add(ct, widget, &layout);
+ uic_widget_set_visibility_states(obj->ctx, widget, args->visibility_states);
+ return widget;
+}
+
+int64_t ui_ctntogglebutton_get(UiInteger *value) {
+ UiContentToggleButton *button = value->obj;
+ value->value = button->toggled;
+ return value->value;
+}
+
+void ui_ctntogglebutton_set(UiInteger *value, int64_t i) {
+ UiContentToggleButton *button = value->obj;
+ button->toggled = i != 0;
+ value->value = button->toggled;
+ content_toggle_button_changed(button);
+}
+
#if GTK_MAJOR_VERSION >= 4
#define RADIOBUTTON_NEW(group, label) gtk_check_button_new_with_label(label)
#define RADIOBUTTON_SET_GROUP(button, group)
extern "C" {
#endif
+typedef struct UiContentToggleButton {
+ UiObject *obj;
+ UiVar *var;
+ GtkWidget *widget;
+ char *label0;
+ char *icon0;
+ char *tooltip0;
+ char *label1;
+ char *icon1;
+ char *tooltip1;
+ ui_callback onchange;
+ void *onchangedata;
+ char *onchange_action;
+ int toggled;
+ int enable_state;
+} UiContentToggleButton;
+
typedef struct UiLinkButton {
UiObject *obj;
GtkWidget *widget;
void ui_radio_obs(GtkToggleButton *widget, UiVarEventData *event);
+UIWIDGET ui_create_content_togglebutton(UiObject *obj, UiContentToggleArgs *args);
+
int64_t ui_switch_get(UiInteger *value);
void ui_switch_set(UiInteger *value, int64_t i);
+int64_t ui_ctntogglebutton_get(UiInteger *value);
+void ui_ctntogglebutton_set(UiInteger *value, int64_t i);
+
int64_t ui_radiobutton_get(UiInteger *value);
void ui_radiobutton_set(UiInteger *value, int64_t i);
case UI_TOOLBAR_TOGGLEITEM: {
return ui_add_headerbar_toggleitem(headerbar, box, (UiToolbarToggleItem*)i, obj, pos);
}
+ case UI_TOOLBAR_CONTENT_TOGGLEITEM: {
+ return ui_add_headerbar_content_toggleitem(headerbar, box, (UiToolbarContentToggleItem*)i, obj, pos);
+ }
case UI_TOOLBAR_MENU: {
return ui_add_headerbar_menu(headerbar, box, (UiToolbarMenuItem*)i, obj, pos);
}
return button;
}
+GtkWidget* ui_add_headerbar_content_toggleitem(
+ GtkWidget *headerbar,
+ GtkWidget *box,
+ UiToolbarContentToggleItem *item,
+ UiObject *obj,
+ enum UiToolbarPos pos)
+{
+ UiContentToggleArgs args = { 0 };
+ args.label0 = item->args.label0;
+ args.icon0 = item->args.icon0;
+ args.tooltip0 = item->args.tooltip0;
+ args.label1 = item->args.label1;
+ args.icon1 = item->args.icon1;
+ args.tooltip1 = item->args.tooltip1;
+ args.varname = item->args.varname;
+ args.onchange = item->args.onchange;
+ args.onchangedata = item->args.onchangedata;
+ args.action = item->args.action;
+ args.istogglebutton = item->args.istogglebutton;
+ args.toggled_by_state = item->args.toggled_by_state;
+
+ GtkWidget *button = ui_create_content_togglebutton(obj, &args);
+ WIDGET_ADD_CSS_CLASS(button, "flat");
+ headerbar_add(headerbar, box, button, pos);
+ return button;
+}
+
GtkWidget* ui_add_headerbar_menu(
GtkWidget *headerbar,
GtkWidget *box,
UiObject *obj,
enum UiToolbarPos pos);
+GtkWidget* ui_add_headerbar_content_toggleitem(
+ GtkWidget *headerbar,
+ GtkWidget *box,
+ UiToolbarContentToggleItem *item,
+ UiObject *obj,
+ enum UiToolbarPos pos);
+
GtkWidget* ui_add_headerbar_menu(
GtkWidget *headerbar,
GtkWidget *box,
const int *visibility_states;
} UiToggleArgs;
+typedef struct UiContentToggleArgs {
+ UiBool fill;
+ UiBool hexpand;
+ UiBool vexpand;
+ UiBool hfill;
+ UiBool vfill;
+ UiBool override_defaults;
+ int margin;
+ int margin_left;
+ int margin_right;
+ int margin_top;
+ int margin_bottom;
+ int colspan;
+ int rowspan;
+ const char *name;
+ const char *style_class;
+
+ const char *label0;
+ const char *icon0;
+ const char *tooltip0;
+ const char *label1;
+ const char *icon1;
+ const char *tooltip1;
+ UiLabelType labeltype;
+ UiInteger *value;
+ const char *varname;
+ ui_callback onchange;
+ void *onchangedata;
+ const char *action;
+ UiBool istogglebutton;
+ int enable_state;
+ int toggled_by_state;
+
+ const int *states;
+ const int *visibility_states;
+} UiContentToggleArgs;
+
typedef struct UiLinkButtonArgs {
UiBool fill;
UiBool hexpand;
#define ui_togglebutton(obj, ...) ui_togglebutton_create(obj, &(UiToggleArgs){ __VA_ARGS__ } )
#define ui_checkbox(obj, ...) ui_checkbox_create(obj, &(UiToggleArgs){ __VA_ARGS__ } )
#define ui_switch(obj, ...) ui_switch_create(obj, &(UiToggleArgs){ __VA_ARGS__ } )
+#define ui_content_togglebutton(obj, ...) ui_content_togglebutton_create(obj, &(UiContentToggleArgs){ __VA_ARGS__ } )
#define ui_radiobutton(obj, ...) ui_radiobutton_create(obj, &(UiToggleArgs){ __VA_ARGS__ } )
#define ui_linkbutton(obj, ...) ui_linkbutton_create(obj, &(UiLinkButtonArgs){ __VA_ARGS__ })
UIEXPORT UIWIDGET ui_togglebutton_create(UiObject *obj, UiToggleArgs *args);
UIEXPORT UIWIDGET ui_checkbox_create(UiObject *obj, UiToggleArgs *args);
UIEXPORT UIWIDGET ui_switch_create(UiObject *obj, UiToggleArgs *args);
+UIEXPORT UIWIDGET ui_content_togglebutton_create(UiObject *obj, UiContentToggleArgs *args);
UIEXPORT UIWIDGET ui_radiobutton_create(UiObject *obj, UiToggleArgs *args);
UIEXPORT UIWIDGET ui_linkbutton_create(UiObject *obj, UiLinkButtonArgs *args);
#ifdef UI_GTK
#define UI_ICON_HOME "go-home"
-#define UI_ICON_NEW_WINDOW "list-add"
-#define UI_ICON_REFRESH "view-refresh"
+#define UI_ICON_NEW_WINDOW "window-new"
+#define UI_ICON_NEW_TAB "tab-new"
#define UI_ICON_NEW_FOLDER "folder-new"
-#define UI_ICON_ADD "document-new"
+#define UI_ICON_NEW_DOCUMENT "document-new"
+#define UI_ICON_NEW_APPOINTMENT "appointment-new"
+#define UI_ICON_NEW_CHAT_MESSAGE "chat-message-new"
+#define UI_ICON_NEW_CONTACT "contact-new"
+#define UI_ICON_NEW_MAIL "mail-message-new"
+#define UI_ICON_ADD_BOOKMARK "bookmark-new"
+#define UI_ICON_ADD_IMAGE "insert-image"
+#define UI_ICON_ADD_LINK "insert-link"
+#define UI_ICON_ADD_TEXT "insert-text"
+#define UI_ICON_ADD "list-add"
+#define UI_ICON_REMOVE "list-remove"
+#define UI_ICON_REFRESH "view-refresh"
#define UI_ICON_UPLOAD "document-open"
#define UI_ICON_SAVE_LOCAL "document-save-as"
-#define UI_ICON_DELETE "edit-delete"
-#define UI_ICON_DOCK_LEFT ""
-#define UI_ICON_DOCK_RIGHT ""
+#define UI_ICON_EDIT_COPY "edit-copy"
+#define UI_ICON_EDIT_CUT "edit-cut"
+#define UI_ICON_EDIT_DELETE "edit-delete"
+#define UI_ICON_EDIT_PASTE "edit-paste"
+#define UI_ICON_UNDO "edit-undo"
+#define UI_ICON_REDO "edit-redo"
+#define UI_ICON_SIDEBAR_LEFT "sidebar-show"
+#define UI_ICON_SIDEBAR_RIGHT "sidebar-show-right"
#define UI_ICON_GO_BACK "go-previous"
#define UI_ICON_GO_FORWARD "go-next"
#define UI_ICON_GO_UP "go-up"
#define UI_ICON_GO_DOWN "go-down"
-#define UI_ICON_LIST "view-list"
+#define UI_ICON_VIEW_LIST "view-list"
+#define UI_ICON_VIEW_GRID "view-grid"
+#define UI_ICON_VIEW_DUAL "view-dual"
+#define UI_ICON_VIEW_FULLSCREEN "view-fullscreen"
+#define UI_ICON_VIEW_RESTORE "view-restore"
+#define UI_ICON_TEXT_BOLD "format-text-bold"
+#define UI_ICON_TEXT_ITALIC "format-text-italic"
+#define UI_ICON_TEXT_UNDERLINE "format-text-underline"
+#define UI_ICON_LIST_BULLET "view-list-bullet"
+#define UI_ICON_LIST_ORDERED "view-list-ordered"
+#define UI_ICON_LIST_CHECK "checkbox-checked"
#endif /* UI_GTK */
#ifdef UI_QT
#define UI_ICON_HOME "go-home"
-#define UI_ICON_NEW_WINDOW "list-add"
-#define UI_ICON_REFRESH "view-refresh"
+#define UI_ICON_NEW_WINDOW "window-new"
+#define UI_ICON_NEW_TAB "tab-new"
#define UI_ICON_NEW_FOLDER "folder-new"
-#define UI_ICON_ADD "document-new"
+#define UI_ICON_NEW_DOCUMENT "document-new"
+#define UI_ICON_NEW_APPOINTMENT "appointment-new"
+#define UI_ICON_NEW_CHAT_MESSAGE "chat-message-new"
+#define UI_ICON_NEW_CONTACT "contact-new"
+#define UI_ICON_NEW_MAIL "mail-message-new"
+#define UI_ICON_ADD_BOOKMARK "bookmark-new"
+#define UI_ICON_ADD_IMAGE "insert-image"
+#define UI_ICON_ADD_LINK "insert-link"
+#define UI_ICON_ADD_TEXT "insert-text"
+#define UI_ICON_ADD "list-add"
+#define UI_ICON_REMOVE "list-remove"
+#define UI_ICON_REFRESH "view-refresh"
#define UI_ICON_UPLOAD "document-open"
#define UI_ICON_SAVE_LOCAL "document-save-as"
-#define UI_ICON_DELETE "edit-delete"
-#define UI_ICON_DOCK_LEFT ""
-#define UI_ICON_DOCK_RIGHT ""
+#define UI_ICON_EDIT_COPY "edit-copy"
+#define UI_ICON_EDIT_CUT "edit-cut"
+#define UI_ICON_EDIT_DELETE "edit-delete"
+#define UI_ICON_EDIT_PASTE "edit-paste"
+#define UI_ICON_UNDO "edit-undo"
+#define UI_ICON_REDO "edit-redo"
+#define UI_ICON_SIDEBAR_LEFT "sidebar-show"
+#define UI_ICON_SIDEBAR_RIGHT "sidebar-show-right"
#define UI_ICON_GO_BACK "go-previous"
#define UI_ICON_GO_FORWARD "go-next"
#define UI_ICON_GO_UP "go-up"
#define UI_ICON_GO_DOWN "go-down"
-#define UI_ICON_LIST "view-list"
+#define UI_ICON_VIEW_LIST "view-list"
+#define UI_ICON_VIEW_GRID "view-grid"
+#define UI_ICON_VIEW_DUAL "view-dual"
+#define UI_ICON_VIEW_FULLSCREEN "view-fullscreen"
+#define UI_ICON_VIEW_RESTORE "view-restore"
+#define UI_ICON_TEXT_BOLD "format-text-bold"
+#define UI_ICON_TEXT_ITALIC "format-text-italic"
+#define UI_ICON_TEXT_UNDERLINE "format-text-underline"
+#define UI_ICON_LIST_BULLET "view-list-bullet"
+#define UI_ICON_LIST_ORDERED "view-list-ordered"
+#define UI_ICON_LIST_CHECK "checkbox-checked"
#endif /* UI_QT */
#ifdef UI_COCOA
-#define UI_ICON_HOME "NSImageNameHomeTemplate"
-#define UI_ICON_NEW_WINDOW ""
-#define UI_ICON_REFRESH "NSImageNameRefreshTemplate"
-#define UI_ICON_NEW_FOLDER ""
-#define UI_ICON_ADD "NSImageNameAddTemplate"
-#define UI_ICON_UPLOAD ""
-#define UI_ICON_SAVE_LOCAL ""
-#define UI_ICON_DELETE ""
-#define UI_ICON_DOCK_LEFT ""
-#define UI_ICON_DOCK_RIGHT ""
-#define UI_ICON_GO_BACK "NSImageNameGoLeftTemplate"
-#define UI_ICON_GO_FORWARD "NSImageNameGoRightTemplate"
-#define UI_ICON_GO_UP ""
-#define UI_ICON_GO_DOWN ""
-#define UI_ICON_LIST ""
+#define UI_ICON_HOME "go-home"
+#define UI_ICON_NEW_WINDOW "macwindow.badge.plus"
+#define UI_ICON_NEW_TAB "plus.square"
+#define UI_ICON_NEW_FOLDER "folder.badge.plus"
+#define UI_ICON_NEW_DOCUMENT "document.badge.plus"
+#define UI_ICON_NEW_APPOINTMENT "calendar.badge.plus"
+#define UI_ICON_NEW_CHAT_MESSAGE "plus.bubble"
+#define UI_ICON_NEW_CONTACT "person.badge.plus"
+#define UI_ICON_NEW_MAIL "envelope.badge.plus"
+#define UI_ICON_ADD_BOOKMARK "book.badge.plus"
+#define UI_ICON_ADD_IMAGE "photo.badge.plus"
+#define UI_ICON_ADD_LINK "link.badge.plus"
+#define UI_ICON_ADD_TEXT "text.badge.plus"
+#define UI_ICON_ADD "plus"
+#define UI_ICON_REMOVE "minus"
+#define UI_ICON_REFRESH "arrow.clockwise"
+#define UI_ICON_UPLOAD "square.and.arrow.up"
+#define UI_ICON_SAVE_LOCAL "square.and.arrow.down"
+#define UI_ICON_EDIT_COPY "document.on.document"
+#define UI_ICON_EDIT_CUT "scissors"
+#define UI_ICON_EDIT_DELETE "minus.circle"
+#define UI_ICON_EDIT_PASTE "document.on.clipboard"
+#define UI_ICON_UNDO "arrow.uturn.backward"
+#define UI_ICON_REDO "arrow.uturn.forward"
+#define UI_ICON_SIDEBAR_LEFT "sidebar.left"
+#define UI_ICON_SIDEBAR_RIGHT "sidebar.right"
+#define UI_ICON_GO_BACK "chevron.left"
+#define UI_ICON_GO_FORWARD "chevron.right"
+#define UI_ICON_GO_UP "chevron.up"
+#define UI_ICON_GO_DOWN "chevron.down"
+#define UI_ICON_VIEW_LIST "list.bullet"
+#define UI_ICON_VIEW_GRID "square.grid.2x2"
+#define UI_ICON_VIEW_DUAL "rectangle.split.2x1"
+#define UI_ICON_VIEW_FULLSCREEN "arrow.up.left.and.arrow.down.right.rectangle"
+#define UI_ICON_VIEW_RESTORE "arrow.down.forward.and.arrow.up.backward.rectangle"
+#define UI_ICON_TEXT_BOLD "bold"
+#define UI_ICON_TEXT_ITALIC "italic"
+#define UI_ICON_TEXT_UNDERLINE "underline"
+#define UI_ICON_LIST_BULLET "list.bullet"
+#define UI_ICON_LIST_ORDERED "list.number"
+#define UI_ICON_LIST_CHECK "checklist"
#endif /* UI_COCOA */
#define UI_ICON_HOME ""
#define UI_ICON_NEW_WINDOW ""
-#define UI_ICON_REFRESH ""
+#define UI_ICON_NEW_TAB ""
#define UI_ICON_NEW_FOLDER ""
+#define UI_ICON_NEW_DOCUMENT ""
+#define UI_ICON_NEW_APPOINTMENT ""
+#define UI_ICON_NEW_CHAT_MESSAGE ""
+#define UI_ICON_NEW_CONTACT ""
+#define UI_ICON_NEW_MAIL ""
+#define UI_ICON_ADD_BOOKMARK ""
+#define UI_ICON_ADD_IMAGE ""
+#define UI_ICON_ADD_LINK ""
+#define UI_ICON_ADD_TEXT ""
#define UI_ICON_ADD ""
+#define UI_ICON_REMOVE ""
+#define UI_ICON_REFRESH ""
#define UI_ICON_UPLOAD ""
#define UI_ICON_SAVE_LOCAL ""
-#define UI_ICON_DELETE ""
-#define UI_ICON_DOCK_LEFT ""
-#define UI_ICON_DOCK_RIGHT ""
+#define UI_ICON_EDIT_COPY ""
+#define UI_ICON_EDIT_CUT ""
+#define UI_ICON_EDIT_DELETE ""
+#define UI_ICON_EDIT_PASTE ""
+#define UI_ICON_UNDO ""
+#define UI_ICON_REDO ""
+#define UI_ICON_SIDEBAR_LEFT ""
+#define UI_ICON_SIDEBAR_RIGHT ""
#define UI_ICON_GO_BACK ""
#define UI_ICON_GO_FORWARD ""
#define UI_ICON_GO_UP ""
-#define UI_ICON_GO_DOWN ""
-#define UI_ICON_LIST ""
+#define UI_ICON_GO_DOWN ""
+#define UI_ICON_VIEW_LIST ""
+#define UI_ICON_VIEW_GRID ""
+#define UI_ICON_VIEW_DUAL ""
+#define UI_ICON_VIEW_FULLSCREEN ""
+#define UI_ICON_VIEW_RESTORE ""
+#define UI_ICON_TEXT_BOLD ""
+#define UI_ICON_TEXT_ITALIC ""
+#define UI_ICON_TEXT_UNDERLINE ""
+#define UI_ICON_LIST_BULLET ""
+#define UI_ICON_LIST_ORDERED ""
+#define UI_ICON_LIST_CHECK ""
#endif /* UI_MOTIF */
#define UI_ICON_HOME ""
#define UI_ICON_NEW_WINDOW ""
-#define UI_ICON_REFRESH ""
+#define UI_ICON_NEW_TAB ""
#define UI_ICON_NEW_FOLDER ""
+#define UI_ICON_NEW_DOCUMENT ""
+#define UI_ICON_NEW_APPOINTMENT ""
+#define UI_ICON_NEW_CHAT_MESSAGE ""
+#define UI_ICON_NEW_CONTACT ""
+#define UI_ICON_NEW_MAIL ""
+#define UI_ICON_ADD_BOOKMARK ""
+#define UI_ICON_ADD_IMAGE ""
+#define UI_ICON_ADD_LINK ""
+#define UI_ICON_ADD_TEXT ""
#define UI_ICON_ADD ""
+#define UI_ICON_REMOVE ""
+#define UI_ICON_REFRESH ""
#define UI_ICON_UPLOAD ""
#define UI_ICON_SAVE_LOCAL ""
-#define UI_ICON_DELETE ""
-#define UI_ICON_DOCK_LEFT ""
-#define UI_ICON_DOCK_RIGHT ""
+#define UI_ICON_EDIT_COPY ""
+#define UI_ICON_EDIT_CUT ""
+#define UI_ICON_EDIT_DELETE ""
+#define UI_ICON_EDIT_PASTE ""
+#define UI_ICON_UNDO ""
+#define UI_ICON_REDO ""
+#define UI_ICON_SIDEBAR_LEFT ""
+#define UI_ICON_SIDEBAR_RIGHT ""
#define UI_ICON_GO_BACK ""
#define UI_ICON_GO_FORWARD ""
#define UI_ICON_GO_UP ""
-#define UI_ICON_GO_DOWN ""
-#define UI_ICON_LIST ""
+#define UI_ICON_GO_DOWN ""
+#define UI_ICON_VIEW_LIST ""
+#define UI_ICON_VIEW_GRID ""
+#define UI_ICON_VIEW_DUAL ""
+#define UI_ICON_VIEW_FULLSCREEN ""
+#define UI_ICON_VIEW_RESTORE ""
+#define UI_ICON_TEXT_BOLD ""
+#define UI_ICON_TEXT_ITALIC ""
+#define UI_ICON_TEXT_UNDERLINE ""
+#define UI_ICON_LIST_BULLET ""
+#define UI_ICON_LIST_ORDERED ""
+#define UI_ICON_LIST_CHECK ""
#endif /* UI_MOTIF */
enum UiIconId {
- UI_ICON_ID_HOME = 0,
+ UI_ICON_ID_HOME,
UI_ICON_ID_NEW_WINDOW,
- UI_ICON_ID_REFRESH,
+ UI_ICON_ID_NEW_TAB,
UI_ICON_ID_NEW_FOLDER,
+ UI_ICON_ID_NEW_DOCUMENT,
+ UI_ICON_ID_NEW_APPOINTMENT,
+ UI_ICON_ID_NEW_CHAT_MESSAGE,
+ UI_ICON_ID_NEW_CONTACT,
+ UI_ICON_ID_NEW_MAIL,
+ UI_ICON_ID_ADD_BOOKMARK,
+ UI_ICON_ID_ADD_IMAGE,
+ UI_ICON_ID_ADD_LINK,
+ UI_ICON_ID_ADD_TEXT,
UI_ICON_ID_ADD,
+ UI_ICON_ID_REMOVE,
+ UI_ICON_ID_REFRESH,
UI_ICON_ID_UPLOAD,
UI_ICON_ID_SAVE_LOCAL,
- UI_ICON_ID_DELETE,
- UI_ICON_ID_DOCK_LEFT,
- UI_ICON_ID_DOCK_RIGHT,
+ UI_ICON_ID_EDIT_COPY,
+ UI_ICON_ID_EDIT_CUT,
+ UI_ICON_ID_EDIT_DELETE,
+ UI_ICON_ID_EDIT_PASTE,
+ UI_ICON_ID_UNDO,
+ UI_ICON_ID_REDO,
+ UI_ICON_ID_SIDEBAR_LEFT,
+ UI_ICON_ID_SIDEBAR_RIGHT,
UI_ICON_ID_GO_BACK,
UI_ICON_ID_GO_FORWARD,
UI_ICON_ID_GO_UP,
UI_ICON_ID_GO_DOWN,
- UI_ICON_ID_LIST
+ UI_ICON_ID_VIEW_LIST,
+ UI_ICON_ID_VIEW_GRID,
+ UI_ICON_ID_VIEW_DUAL,
+ UI_ICON_ID_VIEW_FULLSCREEN,
+ UI_ICON_ID_VIEW_RESTORE,
+ UI_ICON_ID_TEXT_BOLD,
+ UI_ICON_ID_TEXT_ITALIC,
+ UI_ICON_ID_TEXT_UNDERLINE,
+ UI_ICON_ID_LIST_BULLET,
+ UI_ICON_ID_LIST_ORDERED,
+ UI_ICON_ID_LIST_CHECK
};
UIEXPORT UiIcon* ui_icon(const char* name, size_t size);
const int *visibility_states;
} UiToolbarToggleItemArgs;
+typedef struct UiToolbarContentToggleItemArgs {
+ const char *label0;
+ const char *icon0;
+ const char *tooltip0;
+ const char *label1;
+ const char *icon1;
+ const char *tooltip1;
+
+ const char *varname;
+ ui_callback onchange;
+ void *onchangedata;
+ const char *action;
+ const char *accelerator;
+ const char *accelerator_text;
+
+ int toggled_by_state;
+ UiBool istogglebutton;
+
+ const int *states;
+ const int *visibility_states;
+} UiToolbarContentToggleItemArgs;
+
typedef struct UiToolbarMenuArgs {
const char *label;
const char *icon;
#define ui_toolbar_item(name, ...) ui_toolbar_item_create(name, &(UiToolbarItemArgs){ __VA_ARGS__ } )
#define ui_toolbar_toggleitem(name, ...) ui_toolbar_toggleitem_create(name, &(UiToolbarToggleItemArgs){ __VA_ARGS__ } )
+#define ui_toolbar_content_toggleitem(name, ...) ui_toolbar_toggleitem_create(name, &(UiToolbarToggleItemArgs){ __VA_ARGS__ } )
#define ui_toolbar_menu(name, ...) for(ui_toolbar_menu_create(name, &(UiToolbarMenuArgs){ __VA_ARGS__ });ui_menu_is_open();ui_menu_close())
#define ui_toolbar_appmenu() for(ui_toolbar_menu_create(NULL, &(UiToolbarMenuArgs){ 0 });ui_menu_is_open();ui_menu_close())
UIEXPORT void ui_toolbar_item_create(const char* name, UiToolbarItemArgs *args);
UIEXPORT void ui_toolbar_toggleitem_create(const char* name, UiToolbarToggleItemArgs *args);
+UIEXPORT void ui_toolbar_content_toggleitem_create(const char* name, UiToolbarContentToggleItemArgs *args);
UIEXPORT void ui_toolbar_menu_create(const char* name, UiToolbarMenuArgs *args);
UIEXPORT void ui_toolbar_add_default(const char *name, enum UiToolbarPos pos);