ui/cocoa/MainWindow.m

changeset 109
c3dfcb8f0be7
parent 108
77254bd6dccb
child 110
c00e968d018b
equal deleted inserted replaced
108:77254bd6dccb 109:c3dfcb8f0be7
32 #import "../common/object.h" 32 #import "../common/object.h"
33 #import <objc/runtime.h> 33 #import <objc/runtime.h>
34 34
35 #import "EventData.h" 35 #import "EventData.h"
36 #import "menu.h" 36 #import "menu.h"
37 #import "Toolbar.h"
37 38
38 @implementation MainWindow 39 @implementation MainWindow
39 40
40 - (MainWindow*)init:(UiObject*)obj { 41 - (MainWindow*)init:(UiObject*)obj {
41 NSRect frame = NSMakeRect(300, 200, 600, 500); 42 NSRect frame = NSMakeRect(300, 200, 600, 500);
45 NSWindowStyleMaskResizable | 46 NSWindowStyleMaskResizable |
46 NSWindowStyleMaskClosable | 47 NSWindowStyleMaskClosable |
47 NSWindowStyleMaskMiniaturizable 48 NSWindowStyleMaskMiniaturizable
48 backing:NSBackingStoreBuffered 49 backing:NSBackingStoreBuffered
49 defer:false]; 50 defer:false];
51
52 if(uic_toolbar_isenabled()) {
53 UiToolbar *toolbar = [[UiToolbar alloc]initWithObject:obj];
54 [self setToolbar:toolbar];
55 }
56
50 57
51 // create a vertical stackview as default container 58 // create a vertical stackview as default container
52 BoxContainer *vbox = [[BoxContainer alloc] init:NSUserInterfaceLayoutOrientationVertical spacing:0]; 59 BoxContainer *vbox = [[BoxContainer alloc] init:NSUserInterfaceLayoutOrientationVertical spacing:0];
53 //GridLayout *vbox = [[GridLayout alloc] init]; 60 //GridLayout *vbox = [[GridLayout alloc] init];
54 vbox.translatesAutoresizingMaskIntoConstraints = false; 61 vbox.translatesAutoresizingMaskIntoConstraints = false;
132 } 139 }
133 140
134 - (void)menuItemAction:(id)sender { 141 - (void)menuItemAction:(id)sender {
135 EventData *event = objc_getAssociatedObject(sender, "eventdata"); 142 EventData *event = objc_getAssociatedObject(sender, "eventdata");
136 if(event) { 143 if(event) {
137 event.obj = self.uiobj; // temporary set the event object 144 if(event.obj) {
138 [event handleEvent:sender]; 145 [event handleEvent:sender];
146 } else {
147 event.obj = self.uiobj;
148 [event handleEvent:sender];
149 event.obj = NULL;
150 }
139 } 151 }
140 } 152 }
141 153
142 - (void)menuCheckItemAction:(id)sender { 154 - (void)menuCheckItemAction:(id)sender {
143 NSMenuItem *menuItem = sender; 155 NSMenuItem *menuItem = sender;

mercurial