| 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; |