40 typedef struct UiMenu UiMenu; |
40 typedef struct UiMenu UiMenu; |
41 typedef struct UiMenuItem UiMenuItem; |
41 typedef struct UiMenuItem UiMenuItem; |
42 typedef struct UiStMenuItem UiStMenuItem; |
42 typedef struct UiStMenuItem UiStMenuItem; |
43 typedef struct UiCheckItem UiCheckItem; |
43 typedef struct UiCheckItem UiCheckItem; |
44 typedef struct UiCheckItemNV UiCheckItemNV; |
44 typedef struct UiCheckItemNV UiCheckItemNV; |
|
45 typedef struct UiMenuItemList UiMenuItemList; |
|
46 |
|
47 typedef struct UiActiveMenuItemList UiActiveMenuItemList; |
45 |
48 |
46 typedef int(*ui_menu_add_f)(Widget, int, UiMenuItemI*, UiObject*); |
49 typedef int(*ui_menu_add_f)(Widget, int, UiMenuItemI*, UiObject*); |
47 |
50 |
48 struct UiMenuItemI { |
51 struct UiMenuItemI { |
49 ui_menu_add_f add_to; |
52 ui_menu_add_f add_to; |
81 UiMenuItemI item; |
84 UiMenuItemI item; |
82 char *label; |
85 char *label; |
83 char *varname; |
86 char *varname; |
84 }; |
87 }; |
85 |
88 |
|
89 struct UiMenuItemList { |
|
90 UiMenuItemI item; |
|
91 ui_callback callback; |
|
92 void *userdata; |
|
93 UiList *list; |
|
94 }; |
|
95 |
|
96 struct UiActiveMenuItemList { |
|
97 UiObject *object; |
|
98 Widget menu; |
|
99 int index; |
|
100 int oldcount; |
|
101 UiList *list; |
|
102 ui_callback callback; |
|
103 void *userdata; |
|
104 }; |
|
105 |
86 void ui_create_menubar(UiObject *obj); |
106 void ui_create_menubar(UiObject *obj); |
87 |
107 |
88 int add_menu_widget(Widget parent, int i, UiMenuItemI *item, UiObject *obj); |
108 int add_menu_widget(Widget parent, int i, UiMenuItemI *item, UiObject *obj); |
89 int add_menuitem_widget(Widget parent, int i, UiMenuItemI *item, UiObject *obj); |
109 int add_menuitem_widget(Widget parent, int i, UiMenuItemI *item, UiObject *obj); |
90 int add_menuitem_st_widget(Widget parent, int i, UiMenuItemI *item, UiObject *obj); |
110 int add_menuitem_st_widget(Widget parent, int i, UiMenuItemI *item, UiObject *obj); |
91 int add_menuseparator_widget(Widget parent, int i, UiMenuItemI *item, UiObject *obj); |
111 int add_menuseparator_widget(Widget parent, int i, UiMenuItemI *item, UiObject *obj); |
92 int add_checkitem_widget(Widget parent, int i, UiMenuItemI *item, UiObject *obj); |
112 int add_checkitem_widget(Widget parent, int i, UiMenuItemI *item, UiObject *obj); |
93 int add_checkitemnv_widget(Widget parent, int i, UiMenuItemI *item, UiObject *obj); |
113 int add_checkitemnv_widget(Widget parent, int i, UiMenuItemI *item, UiObject *obj); |
|
114 int add_menuitem_list_widget(Widget parent, int i, UiMenuItemI *item, UiObject *obj); |
94 |
115 |
95 |
116 void ui_update_menuitem_list(UiEvent *event, UiActiveMenuItemList *list); |
96 void ui_menu_event_wrapper(Widget widget, XtPointer udata, XtPointer cdata); |
117 void ui_menu_event_wrapper(Widget widget, XtPointer udata, XtPointer cdata); |
97 |
118 |
98 |
119 |
99 #ifdef __cplusplus |
120 #ifdef __cplusplus |
100 } |
121 } |