| 48 static int window_default_height = 550; |
48 static int window_default_height = 550; |
| 49 |
49 |
| 50 static int splitview_window_default_pos = -1; |
50 static int splitview_window_default_pos = -1; |
| 51 static UiBool splitview_window_use_prop = TRUE; |
51 static UiBool splitview_window_use_prop = TRUE; |
| 52 |
52 |
| |
53 static void main_window_destroy(UiObject *obj) { |
| |
54 MainWindow *window = (__bridge MainWindow*)obj->wobj; |
| |
55 [[WindowManager sharedWindowManager] closeWindow:window]; |
| |
56 } |
| |
57 |
| 53 static UiObject* create_window(const char *title, BOOL simple, BOOL sidebar, BOOL splitview) { |
58 static UiObject* create_window(const char *title, BOOL simple, BOOL sidebar, BOOL splitview) { |
| 54 UiObject *obj = uic_object_new_toplevel(); |
59 UiObject *obj = uic_object_new_toplevel(); |
| 55 |
60 |
| 56 MainWindow *window = [[MainWindow alloc] init:obj withSidebar:sidebar withSplitview:splitview]; |
61 MainWindow *window = [[MainWindow alloc] init:obj withSidebar:sidebar withSplitview:splitview]; |
| 57 [[WindowManager sharedWindowManager] addWindow:window]; |
|
| 58 window.releasedWhenClosed = false; // TODO: we still need a cleanup strategy |
|
| 59 |
62 |
| 60 obj->wobj = (__bridge void*)window; |
63 obj->wobj = (__bridge void*)window; |
| |
64 obj->destroy = main_window_destroy; |
| 61 |
65 |
| 62 MainWindowController *controller = [[MainWindowController alloc] initWithWindow:obj window:window]; |
66 MainWindowController *controller = [[MainWindowController alloc] initWithWindow:obj window:window]; |
| 63 window.windowController = controller; |
67 window.windowController = controller; |
| 64 [window setNextResponder:(NSResponder*)controller]; |
68 [window setNextResponder:(NSResponder*)controller]; |
| 65 objc_setAssociatedObject(window, "windowcontroller", controller, OBJC_ASSOCIATION_RETAIN); |
69 [[WindowManager sharedWindowManager] addWindow:controller]; |
| 66 |
70 |
| 67 return obj; |
71 return obj; |
| 68 } |
72 } |
| 69 |
73 |
| 70 UiObject* ui_window(const char *title) { |
74 UiObject* ui_window(const char *title) { |