comparison dstep/appkit/NSToolbar.d @ 16:19885b43130e

Huge update, the bridge actually works now
author Jacob Carlborg <doob@me.com>
date Sun, 03 Jan 2010 22:06:11 +0100
parents
children b9de51448c6b
comparison
equal deleted inserted replaced
15:7ff919f595d5 16:19885b43130e
1 /**
2 * Copyright: Copyright (c) 2009 Jacob Carlborg.
3 * Authors: Jacob Carlborg
4 * Version: Initial created: Sep 24, 2009
5 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0)
6 */
7 module dstep.appkit.NSToolbar;
8
9 import dstep.appkit.AppKitDefines;
10 import dstep.appkit.NSToolbarItem;
11 import dstep.appkit.NSWindow;
12 import dstep.foundation.NSArray;
13 import dstep.foundation.NSDictionary;
14 import dstep.foundation.NSNotification;
15 import dstep.foundation.NSObjCRuntime;
16 import dstep.foundation.NSObject;
17 import dstep.foundation.NSString;
18 import dstep.objc.bridge.Bridge;
19 import dstep.objc.objc;
20
21 import bindings = dstep.appkit.NSToolbar_bindings;
22
23 typedef NSUInteger NSToolbarDisplayMode;
24 typedef NSUInteger NSToolbarSizeMode;
25
26 private
27 {
28 NSString NSToolbarWillAddItemNotification_;
29 NSString NSToolbarDidRemoveItemNotification_;
30 }
31
32 NSString NSToolbarWillAddItemNotification ()
33 {
34 if (NSToolbarWillAddItemNotification_)
35 return NSToolbarWillAddItemNotification_;
36
37 return NSToolbarWillAddItemNotification_ = new NSString(bindings.NSToolbarWillAddItemNotification);
38 }
39
40 NSString NSToolbarDidRemoveItemNotification ()
41 {
42 if (NSToolbarDidRemoveItemNotification_)
43 return NSToolbarDidRemoveItemNotification_;
44
45 return NSToolbarDidRemoveItemNotification_ = new NSString(bindings.NSToolbarDidRemoveItemNotification);
46 }
47
48 enum : NSUInteger
49 {
50 NSToolbarDisplayModeDefault,
51 NSToolbarDisplayModeIconAndLabel,
52 NSToolbarDisplayModeIconOnly,
53 NSToolbarDisplayModeLabelOnly
54 }
55
56 enum : NSUInteger
57 {
58 NSToolbarSizeModeDefault,
59 NSToolbarSizeModeRegular,
60 NSToolbarSizeModeSmall
61 }
62
63 class NSToolbar : NSObject
64 {
65 mixin (ObjcWrap);
66
67 NSToolbar initWithIdentifier (NSString identifier)
68 {
69 id result = invokeObjcSelf!(id, "initWithIdentifier:", NSString)(identifier);
70 return result is this.objcObject ? this : (result !is null ? new NSToolbar(result) : null);
71 }
72
73 this (NSString identifier)
74 {
75 super(NSToolbar.alloc.initWithIdentifier(identifier).objcObject);
76 }
77
78 void insertItemWithItemIdentifier (NSString itemIdentifier, NSInteger index)
79 {
80 return invokeObjcSelf!(void, "insertItemWithItemIdentifier:atIndex:", NSString, NSInteger)(itemIdentifier, index);
81 }
82
83 void removeItemAtIndex (NSInteger index)
84 {
85 return invokeObjcSelf!(void, "removeItemAtIndex:", NSInteger)(index);
86 }
87
88 void setDelegate (Object delegate_)
89 {
90 return invokeObjcSelf!(void, "setDelegate:", Object)(delegate_);
91 }
92
93 Object delegate_ ()
94 {
95 return invokeObjcSelf!(Object, "delegate");
96 }
97
98 void setVisible (bool shown)
99 {
100 return invokeObjcSelf!(void, "setVisible:", bool)(shown);
101 }
102
103 bool isVisible ()
104 {
105 return invokeObjcSelf!(bool, "isVisible");
106 }
107
108 void runCustomizationPalette (Object sender)
109 {
110 return invokeObjcSelf!(void, "runCustomizationPalette:", Object)(sender);
111 }
112
113 bool customizationPaletteIsRunning ()
114 {
115 return invokeObjcSelf!(bool, "customizationPaletteIsRunning");
116 }
117
118 void setDisplayMode (uint displayMode)
119 {
120 return invokeObjcSelf!(void, "setDisplayMode:", uint)(displayMode);
121 }
122
123 uint displayMode ()
124 {
125 return invokeObjcSelf!(uint, "displayMode");
126 }
127
128 void setSelectedItemIdentifier (NSString itemIdentifier)
129 {
130 return invokeObjcSelf!(void, "setSelectedItemIdentifier:", NSString)(itemIdentifier);
131 }
132
133 NSString selectedItemIdentifier ()
134 {
135 return invokeObjcSelf!(NSString, "selectedItemIdentifier");
136 }
137
138 void setSizeMode (uint sizeMode)
139 {
140 return invokeObjcSelf!(void, "setSizeMode:", uint)(sizeMode);
141 }
142
143 uint sizeMode ()
144 {
145 return invokeObjcSelf!(uint, "sizeMode");
146 }
147
148 void setShowsBaselineSeparator (bool flag)
149 {
150 return invokeObjcSelf!(void, "setShowsBaselineSeparator:", bool)(flag);
151 }
152
153 bool showsBaselineSeparator ()
154 {
155 return invokeObjcSelf!(bool, "showsBaselineSeparator");
156 }
157
158 void setAllowsUserCustomization (bool allowCustomization)
159 {
160 return invokeObjcSelf!(void, "setAllowsUserCustomization:", bool)(allowCustomization);
161 }
162
163 bool allowsUserCustomization ()
164 {
165 return invokeObjcSelf!(bool, "allowsUserCustomization");
166 }
167
168 NSString identifier ()
169 {
170 return invokeObjcSelf!(NSString, "identifier");
171 }
172
173 NSArray items ()
174 {
175 return invokeObjcSelf!(NSArray, "items");
176 }
177
178 NSArray visibleItems ()
179 {
180 return invokeObjcSelf!(NSArray, "visibleItems");
181 }
182
183 void setAutosavesConfiguration (bool flag)
184 {
185 return invokeObjcSelf!(void, "setAutosavesConfiguration:", bool)(flag);
186 }
187
188 bool autosavesConfiguration ()
189 {
190 return invokeObjcSelf!(bool, "autosavesConfiguration");
191 }
192
193 void setConfigurationFromDictionary (NSDictionary configDict)
194 {
195 return invokeObjcSelf!(void, "setConfigurationFromDictionary:", NSDictionary)(configDict);
196 }
197
198 NSDictionary configurationDictionary ()
199 {
200 return invokeObjcSelf!(NSDictionary, "configurationDictionary");
201 }
202
203 void validateVisibleItems ()
204 {
205 return invokeObjcSelf!(void, "validateVisibleItems");
206 }
207 }
208
209 const TNSToolbarDelegate = `
210
211 NSToolbarItem toolbar (NSToolbar toolbar, NSString itemIdentifier, bool flag)
212 {
213 return invokeObjcSelf!(NSToolbarItem, "toolbar:itemForItemIdentifier:willBeInsertedIntoToolbar:", NSToolbar, NSString, bool)(toolbar, itemIdentifier, flag);
214 }
215
216 NSArray toolbarDefaultItemIdentifiers (NSToolbar toolbar)
217 {
218 return invokeObjcSelf!(NSArray, "toolbarDefaultItemIdentifiers:", NSToolbar)(toolbar);
219 }
220
221 NSArray toolbarAllowedItemIdentifiers (NSToolbar toolbar)
222 {
223 return invokeObjcSelf!(NSArray, "toolbarAllowedItemIdentifiers:", NSToolbar)(toolbar);
224 }
225
226 NSArray toolbarSelectableItemIdentifiers (NSToolbar toolbar)
227 {
228 return invokeObjcSelf!(NSArray, "toolbarSelectableItemIdentifiers:", NSToolbar)(toolbar);
229 }
230
231 //mixin ObjcBindMethod!(toolbar, "toolbar:itemForItemIdentifier:willBeInsertedIntoToolbar:");
232 //mixin ObjcBindMethod!(toolbarDefaultItemIdentifiers, "toolbarDefaultItemIdentifiers:");
233 //mixin ObjcBindMethod!(toolbarAllowedItemIdentifiers, "toolbarAllowedItemIdentifiers:");
234 //mixin ObjcBindMethod!(toolbarSelectableItemIdentifiers, "toolbarSelectableItemIdentifiers:");
235
236 `;
237
238 const TNSToolbarNotifications = `
239
240 void toolbarWillAddItem (NSNotification notification)
241 {
242 return invokeObjcSelf!(void, "toolbarWillAddItem:", NSNotification)(notification);
243 }
244
245 void toolbarDidRemoveItem (NSNotification notification)
246 {
247 return invokeObjcSelf!(void, "toolbarDidRemoveItem:", NSNotification)(notification);
248 }
249
250 //mixin ObjcBindMethod!(toolbarWillAddItem, "toolbarWillAddItem:");
251 //mixin ObjcBindMethod!(toolbarDidRemoveItem, "toolbarDidRemoveItem:");
252
253 `;
254