use ui_rs::ui;
fn main() {
- ui::app_init(Default::default());
+ ui::app_init("note");
let mut app = App;
ui::app_run(&mut app);
impl ui::Application for App {
fn on_startup(&self) {
- let obj = ui::window("Test Window");
+ let obj = ui::window("note");
obj.show();
}
}
}
pub fn app_init(appname: &str) {
+ let s;
+ let c_str = if appname.len() > 0 {
+ s = CString::new(appname).unwrap();
+ s.as_ptr()
+ } else {
+ std::ptr::null()
+ };
+
unsafe {
- let c_str = if appname.len() > 0 {
- let s = CString::new(appname).unwrap();
- s.as_ptr()
- } else {
- std::ptr::null()
- };
ui_init(c_str, 0, std::ptr::null());
}
}
}
- (void)applicationWillTerminate:(NSNotification *)aNotification {
- NSLog(@"toolkit applicationWillTerminate");
ui_cocoa_onexit();
}
CxJsonWriter writer = cxJsonWriterCompact();
CxBuffer buf;
- cxBufferInit(&buf, NULL, NULL, 128, CX_BUFFER_AUTO_EXTEND);
+ cxBufferInit(&buf, NULL, NULL, 128, bCX_BUFFER_AUTO_EXTEND);
cxJsonWrite(&buf, obj, (cx_write_func)cxBufferWrite, &writer);
cxJsonValueFree(obj);
cxBufferTerminate(&buf);
/* ------------------- App Init / Event Loop functions ------------------- */
-static AppDelegate *app_delegate;
void ui_init(const char *appname, int argc, char **argv) {
application_name = appname ? strdup(appname) : NULL;
app_argv = (const char**)argv;
uic_init_global_context();
-
+
uic_menu_init();
uic_toolbar_init();
-
+
uic_load_app_properties();
-
+
NSApplication *app = [NSApplication sharedApplication];
- [app setActivationPolicy:NSApplicationActivationPolicyRegular];
+ //[app setActivationPolicy:NSApplicationActivationPolicyRegular];
//[NSBundle loadNibNamed:@"MainMenu" owner:NSApp ];
//[[NSBundle mainBundle] loadNibNamed:@"MainMenu" owner:NSApp topLevelObjects:&topLevelObjects];
- app_delegate = [[AppDelegate alloc] init];
- app.delegate = app_delegate;
-
-
ui_icon_init();
ui_toolbar_init();
}
-const char* ui_appname(void) {
+const char* ui_appname() {
return application_name;
}
// TODO
}
-void ui_app_quit(void) {
- [[NSApplication sharedApplication] terminate:nil];
-}
-
/* ------------------- Window Visibility functions ------------------- */
void ui_show(UiObject *obj) {
static uint64_t srv_obj_id_counter = 0;
void ui_init(const char *appname, int argc, char **argv) {
- ui_app_name = appname;
+ ui_app_name = appname ? strdup(appname) : NULL;
message_handler = uic_simple_msg_handler(STDIN_FILENO, STDOUT_FILENO, ui_server_message_received);
#define UI_ICON_GO_DOWN "" // TODO: implement workaround for missing down symbol
#endif /* UI_WINUI */
-
-#ifdef UI_COCOA
-
-#define UI_ICON_HOME "NSImageNameHomeTemplate"
-#define UI_ICON_NEW_WINDOW ""
-#define UI_ICON_REFRESH "NSImageNameRefreshTemplate"
-#define UI_ICON_NEW_FOLDER ""
-#define UI_ICON_ADD "NSImageNameAddTemplate"
-#define UI_ICON_UPLOAD ""
-#define UI_ICON_SAVE_LOCAL ""
-#define UI_ICON_DELETE ""
-#define UI_ICON_DOCK_LEFT ""
-#define UI_ICON_DOCK_RIGHT ""
-#define UI_ICON_GO_BACK "NSImageNameGoLeftTemplate"
-#define UI_ICON_GO_FORWARD "NSImageNameGoRightTemplate"
-#define UI_ICON_GO_UP ""
-#define UI_ICON_GO_DOWN ""
-
-#endif /* UI_COCOA */
UIEXPORT UiIcon* ui_icon(const char* name, size_t size);
UIEXPORT void ui_init(const char *appname, int argc, char **argv);
-UIEXPORT const char* ui_appname(void);
+UIEXPORT const char* ui_appname();
UIEXPORT void ui_add_styledata(const char *styledata, int len);
#include <stdio.h>
#include <stdlib.h>
+#include <string.h>
#include <commctrl.h>
static HFONT ui_font = NULL;
void ui_init(const char *appname, int argc, char **argv) {
- application_name = appname;
+ application_name = appname ? strdup(appname) : NULL;
uic_init_global_context();
uic_menu_init();
#include <cx/allocator.h>\r
#include <cx/mempool.h>\r
\r
+#include <stdlib.h>\r
+#include <string.h>\r
+\r
#include "../common/context.h"\r
#include "../common/document.h"\r
#include "../common/toolbar.h"\r
}\r
\r
void ui_init(const char* appname, int argc, char** argv) {\r
- application_name = appname;\r
+ application_name = appname ? strdup(appname) : NULL;\r
\r
//ui_appsdk_bootstrap();\r
\r