116 } |
118 } |
117 |
119 |
118 return true; |
120 return true; |
119 } |
121 } |
120 |
122 |
|
123 - (BOOL)handleStateEvent:(id)sender { |
|
124 NSWindow *activeWindow = [NSApp keyWindow]; |
|
125 NSMenuItem *item = (NSMenuItem*)sender; |
|
126 int state = [item state] ? NSOffState : NSOnState; |
|
127 |
|
128 UiEvent event; |
|
129 event.intval = state; |
|
130 if([activeWindow class] == [UiCocoaWindow class]) { |
|
131 event.obj = [(UiCocoaWindow*)activeWindow object]; |
|
132 event.window = event.obj->window; |
|
133 event.document = event.obj->document; |
|
134 // update state in window data |
|
135 UiMenuItem *wmi = [(UiCocoaWindow*)activeWindow getMenuItem: sender]; |
|
136 wmi->state = state; |
|
137 } else { |
|
138 event.window = NULL; |
|
139 event.document = NULL; |
|
140 } |
|
141 if(callback) { |
|
142 callback(&event, data); |
|
143 } |
|
144 [item setState: state]; |
|
145 |
|
146 return true; |
|
147 } |
|
148 |
121 @end |
149 @end |
|
150 |
|
151 |