ui/motif/menu.h

changeset 17
db95c0104937
parent 0
1f419bd32da1
child 21
012418e7dc90
equal deleted inserted replaced
16:a499c8a72c15 17:db95c0104937
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 }

mercurial