#include <stdio.h>
#include <string.h>
#include "toolkit.h"
#include "window.h"
#include "stock.h"
#include "../common/document.h"
#include "../common/properties.h"
static char *application_name;
static ui_callback appclose_fnc;
static void *appclose_udata;
int app_argc;
char **app_argv;
QApplication *application =
NULL;
void ui_init(
char *appname,
int argc,
char **argv) {
application_name = appname;
app_argc = argc;
app_argv = argv;
application = new QApplication(app_argc, app_argv);
uic_docmgr_init();
uic_load_app_properties();
ui_stock_init();
}
char* ui_appname() {
return application_name;
}
void ui_exitfunc(ui_callback f,
void *udata) {
appclose_fnc = f;
appclose_udata = udata;
}
void ui_openfilefunc(ui_callback f,
void *userdata) {
}
void ui_main() {
application->exec();
if(appclose_fnc) {
appclose_fnc(
NULL, appclose_udata);
}
uic_store_app_properties();
delete application;
}
void ui_show(UiObject *obj) {
obj->widget->show();
}
void ui_close(UiObject *obj) {
QMainWindow *window = (QMainWindow*)obj->widget;
window->close();
}
void ui_set_enabled(
UIWIDGET widget,
int enabled) {
}
void ui_set_visible(
UIWIDGET widget,
int visible) {
}
UiEventWrapper::UiEventWrapper(UiObject *obj, ui_callback f,
void* userdata) {
this->obj = obj;
this->callback = f;
this->userdata = userdata;
}
void UiEventWrapper::slot() {
UiEvent e;
e.obj = obj;
e.window = obj->window;
e.document = obj->ctx->document;
e.eventdata =
NULL;
e.intval =
0;
callback(&e, userdata);
}