#include "toolkit.h"
#include "Windows.h"
#include "window.h"
#include "../common/menu.h"
#include "../common/toolbar.h"
#include "../common/document.h"
#include "../common/properties.h"
#include <stdio.h>
#include <stdlib.h>
static const char *application_name;
static ui_callback startup_func;
static void *startup_data;
static ui_callback open_func;
void *open_data;
static ui_callback exit_func;
void *exit_data;
void ui_init(
const char *appname,
int argc,
char **argv) {
application_name = appname;
uic_init_global_context();
uic_docmgr_init();
uic_menu_init();
uic_toolbar_init();
uic_load_app_properties();
ui_window_init();
}
const char* ui_appname() {
return application_name;
}
void ui_onstartup(ui_callback f,
void *userdata) {
startup_func = f;
startup_data = userdata;
}
void ui_onopen(ui_callback f,
void *userdata) {
open_func = f;
open_data = userdata;
}
void ui_onexit(ui_callback f,
void *userdata) {
exit_func = f;
exit_data = userdata;
}
void ui_main() {
if(startup_func) {
startup_func(
NULL, startup_data);
}
MSG msg;
while (GetMessage(&msg,
NULL,
0,
0)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
if(exit_func) {
exit_func(
NULL, exit_data);
}
uic_store_app_properties();
}