ui/motif/toolkit.c

changeset 134
69e8e0936858
parent 122
e82b01d17a78
child 157
0b33b9396851
equal deleted inserted replaced
133:6dd780cbc8c6 134:69e8e0936858
40 40
41 static XtAppContext app; 41 static XtAppContext app;
42 static Display *display; 42 static Display *display;
43 static Widget active_window; 43 static Widget active_window;
44 static char *application_name; 44 static char *application_name;
45
46 static ui_callback startup_func;
47 static void *startup_data;
48 static ui_callback open_func;
49 void *open_data;
50 static ui_callback exit_func;
51 void *exit_data;
45 52
46 static ui_callback appclose_fnc; 53 static ui_callback appclose_fnc;
47 static void *appclose_udata; 54 static void *appclose_udata;
48 55
49 static int is_toplevel_realized = 0; 56 static int is_toplevel_realized = 0;
132 139
133 Display* ui_get_display() { 140 Display* ui_get_display() {
134 return display; 141 return display;
135 } 142 }
136 143
137 void ui_exitfunc(ui_callback f, void *udata) { 144 void ui_onstartup(ui_callback f, void *userdata) {
138 appclose_fnc = f; 145 startup_func = f;
139 appclose_udata = udata; 146 startup_data = userdata;
140 } 147 }
141 148
142 void ui_openfilefunc(ui_callback f, void *userdata) { 149 void ui_onopen(ui_callback f, void *userdata) {
143 // OS X only 150 open_func = f;
151 open_data = userdata;
152 }
153
154 void ui_onexit(ui_callback f, void *userdata) {
155 exit_func = f;
156 exit_data = userdata;
144 } 157 }
145 158
146 void ui_main() { 159 void ui_main() {
160 if(startup_func) {
161 startup_func(NULL, startup_data);
162 }
147 XtAppMainLoop(app); 163 XtAppMainLoop(app);
148 if(appclose_fnc) { 164 if(exit_func) {
149 appclose_fnc(NULL, appclose_udata); 165 exit_func(NULL, exit_data);
150 } 166 }
151 uic_store_app_properties(); 167 uic_store_app_properties();
152 } 168 }
153 169
154 void ui_exit_mainloop() { 170 void ui_exit_mainloop() {

mercurial