ui/cocoa/window.m

changeset 811
1391ba7e533f
parent 751
41286f7f8433
child 832
7adbd6b7bf7c
equal deleted inserted replaced
810:7b5ba65b246f 811:1391ba7e533f
40 #include "../common/toolbar.h" 40 #include "../common/toolbar.h"
41 41
42 #include <cx/mempool.h> 42 #include <cx/mempool.h>
43 43
44 44
45 static UiObject* create_window(const char *title, BOOL simple, BOOL sidebar) { 45 static UiObject* create_window(const char *title, BOOL simple, BOOL sidebar, BOOL splitview) {
46 CxMempool *mp = cxMempoolCreateSimple(256); 46 CxMempool *mp = cxMempoolCreateSimple(256);
47 UiObject *obj = cxCalloc(mp->allocator, 1, sizeof(UiObject)); 47 UiObject *obj = cxCalloc(mp->allocator, 1, sizeof(UiObject));
48 obj->ref = 0; 48 obj->ref = 0;
49 49
50 obj->ctx = uic_context(obj, mp); 50 obj->ctx = uic_context(obj, mp);
51 51
52 MainWindow *window = [[MainWindow alloc] init:obj withSidebar:sidebar]; 52 MainWindow *window = [[MainWindow alloc] init:obj withSidebar:sidebar withSplitview:splitview];
53 [[WindowManager sharedWindowManager] addWindow:window]; 53 [[WindowManager sharedWindowManager] addWindow:window];
54 window.releasedWhenClosed = false; 54 window.releasedWhenClosed = false;
55 55
56 obj->wobj = (__bridge void*)window; 56 obj->wobj = (__bridge void*)window;
57 57
62 62
63 return obj; 63 return obj;
64 } 64 }
65 65
66 UiObject* ui_window(const char *title, void *window_data) { 66 UiObject* ui_window(const char *title, void *window_data) {
67 UiObject *obj = create_window(title, FALSE, FALSE); 67 UiObject *obj = create_window(title, FALSE, FALSE, FALSE);
68 obj->window = window_data; 68 obj->window = window_data;
69 return obj; 69 return obj;
70 } 70 }
71 71
72 UiObject* ui_simple_window(const char *title, void *window_data) { 72 UiObject* ui_simple_window(const char *title, void *window_data) {
73 UiObject *obj = create_window(title, TRUE, FALSE); 73 UiObject *obj = create_window(title, TRUE, FALSE, FALSE);
74 obj->window = window_data; 74 obj->window = window_data;
75 return obj; 75 return obj;
76 } 76 }
77 77
78 UiObject* ui_sidebar_window(const char *title, void *window_data) { 78 UiObject* ui_sidebar_window(const char *title, void *window_data) {
79 UiObject *obj = create_window(title, FALSE, TRUE); 79 UiObject *obj = create_window(title, FALSE, TRUE, FALSE);
80 obj->window = window_data; 80 obj->window = window_data;
81 return obj; 81 return obj;
82 }
83
84 UiObject* ui_splitview_window(const char *title, UiBool sidebar) {
85 return create_window(title, FALSE, sidebar, TRUE);
82 } 86 }
83 87
84 /* --------------------------------- File Dialogs --------------------------------- */ 88 /* --------------------------------- File Dialogs --------------------------------- */
85 89
86 void ui_openfiledialog(UiObject *obj, unsigned int mode, ui_callback file_selected_callback, void *cbdata) { 90 void ui_openfiledialog(UiObject *obj, unsigned int mode, ui_callback file_selected_callback, void *cbdata) {

mercurial