| 55 |
55 |
| 56 static UiBool exit_on_shutdown; |
56 static UiBool exit_on_shutdown; |
| 57 |
57 |
| 58 /* ------------------- App Init / Event Loop functions ------------------- */ |
58 /* ------------------- App Init / Event Loop functions ------------------- */ |
| 59 |
59 |
| |
60 |
| 60 void ui_init(const char *appname, int argc, char **argv) { |
61 void ui_init(const char *appname, int argc, char **argv) { |
| 61 application_name = appname; |
62 application_name = appname; |
| 62 app_argc = argc; |
63 app_argc = argc; |
| 63 app_argv = (const char**)argv; |
64 app_argv = (const char**)argv; |
| 64 |
65 |
| 67 uic_menu_init(); |
68 uic_menu_init(); |
| 68 uic_toolbar_init(); |
69 uic_toolbar_init(); |
| 69 |
70 |
| 70 uic_load_app_properties(); |
71 uic_load_app_properties(); |
| 71 |
72 |
| 72 [NSApplication sharedApplication]; |
73 NSApplication *app = [NSApplication sharedApplication]; |
| |
74 //[app setActivationPolicy:NSApplicationActivationPolicyRegular]; |
| |
75 |
| 73 //[NSBundle loadNibNamed:@"MainMenu" owner:NSApp ]; |
76 //[NSBundle loadNibNamed:@"MainMenu" owner:NSApp ]; |
| 74 //[[NSBundle mainBundle] loadNibNamed:@"MainMenu" owner:NSApp topLevelObjects:&topLevelObjects]; |
77 //[[NSBundle mainBundle] loadNibNamed:@"MainMenu" owner:NSApp topLevelObjects:&topLevelObjects]; |
| 75 |
78 |
| 76 ui_icon_init(); |
79 ui_icon_init(); |
| 77 ui_toolbar_init(); |
80 ui_toolbar_init(); |
| 176 } |
179 } |
| 177 |
180 |
| 178 @implementation UiAppCallback |
181 @implementation UiAppCallback |
| 179 |
182 |
| 180 - (id) initWithCallback:(ui_threadfunc)func userdata:(void*)userdata { |
183 - (id) initWithCallback:(ui_threadfunc)func userdata:(void*)userdata { |
| 181 self->callback = func; |
184 _callback = func; |
| 182 self->userdata = userdata; |
185 _userdata = userdata; |
| 183 return self; |
186 return self; |
| 184 } |
187 } |
| 185 |
188 |
| 186 - (void) callMainThread { |
189 - (void) callMainThread { |
| 187 [self performSelectorOnMainThread:@selector(mainThread:) |
190 [self performSelectorOnMainThread:@selector(mainThread:) |
| 188 withObject:nil |
191 withObject:nil |
| 189 waitUntilDone:NO]; |
192 waitUntilDone:NO]; |
| 190 } |
193 } |
| 191 |
194 |
| 192 - (void) mainThread:(id)n { |
195 - (void) mainThread:(id)n { |
| 193 callback(userdata); |
196 if(_callback) { |
| |
197 _callback(_userdata); |
| |
198 } |
| 194 } |
199 } |
| 195 |
200 |
| 196 @end |
201 @end |
| 197 |
202 |
| 198 void ui_call_mainthread(ui_threadfunc tf, void* td) { |
203 void ui_call_mainthread(ui_threadfunc tf, void* td) { |