comparison dstep/appkit/NSScrollView.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.NSScrollView;
8
9 import dstep.appkit.NSClipView;
10 import dstep.appkit.NSColor;
11 import dstep.appkit.NSCursor;
12 import dstep.appkit.NSEvent;
13 import dstep.appkit.NSRulerView;
14 import dstep.appkit.NSScroller;
15 import dstep.appkit.NSView;
16 import dstep.applicationservices.coregraphics.CGBase;
17 import dstep.foundation.NSDate;
18 import dstep.foundation.NSGeometry;
19 import dstep.objc.bridge.Bridge;
20 import dstep.objc.objc;
21
22 struct _SFlags
23 {
24 uint RESERVED;
25 uint autoforwardsScrollWheelEvents;
26 uint autohidesScrollers;
27 uint hasCustomLineBorderColor;
28 uint focusRingNeedsRedisplay;
29 uint skipRemoveSuperviewCheck;
30 uint doesNotDrawBackground;
31 uint needsTile;
32 uint hasVerticalRuler;
33 uint hasHorizontalRuler;
34 uint showRulers;
35 uint oldRulerInstalled;
36 uint borderType;
37 uint noDynamicScrolling;
38 uint hScrollerStatus;
39 uint vScrollerStatus;
40 uint hScrollerRequired;
41 uint vScrollerRequired;
42 }
43
44 const TNSRulerSupport = `
45
46 static void setRulerViewClass (Class rulerViewClass)
47 {
48 return invokeObjcSelfClass!(void, "setRulerViewClass:", Class)(rulerViewClass);
49 }
50
51 static Class rulerViewClass ()
52 {
53 return invokeObjcSelfClass!(Class, "rulerViewClass");
54 }
55
56 void setRulersVisible (bool flag)
57 {
58 return invokeObjcSelf!(void, "setRulersVisible:", bool)(flag);
59 }
60
61 bool rulersVisible ()
62 {
63 return invokeObjcSelf!(bool, "rulersVisible");
64 }
65
66 void setHasHorizontalRuler (bool flag)
67 {
68 return invokeObjcSelf!(void, "setHasHorizontalRuler:", bool)(flag);
69 }
70
71 bool hasHorizontalRuler ()
72 {
73 return invokeObjcSelf!(bool, "hasHorizontalRuler");
74 }
75
76 void setHasVerticalRuler (bool flag)
77 {
78 return invokeObjcSelf!(void, "setHasVerticalRuler:", bool)(flag);
79 }
80
81 bool hasVerticalRuler ()
82 {
83 return invokeObjcSelf!(bool, "hasVerticalRuler");
84 }
85
86 void setHorizontalRulerView (NSRulerView ruler)
87 {
88 return invokeObjcSelf!(void, "setHorizontalRulerView:", NSRulerView)(ruler);
89 }
90
91 NSRulerView horizontalRulerView ()
92 {
93 return invokeObjcSelf!(NSRulerView, "horizontalRulerView");
94 }
95
96 void setVerticalRulerView (NSRulerView ruler)
97 {
98 return invokeObjcSelf!(void, "setVerticalRulerView:", NSRulerView)(ruler);
99 }
100
101 NSRulerView verticalRulerView ()
102 {
103 return invokeObjcSelf!(NSRulerView, "verticalRulerView");
104 }
105
106 //mixin ObjcBindClassMethod!(setRulerViewClass, "setRulerViewClass:");
107 //mixin ObjcBindClassMethod!(rulerViewClass, "rulerViewClass");
108 //mixin ObjcBindMethod!(setRulersVisible, "setRulersVisible:");
109 //mixin ObjcBindMethod!(rulersVisible, "rulersVisible");
110 //mixin ObjcBindMethod!(setHasHorizontalRuler, "setHasHorizontalRuler:");
111 //mixin ObjcBindMethod!(hasHorizontalRuler, "hasHorizontalRuler");
112 //mixin ObjcBindMethod!(setHasVerticalRuler, "setHasVerticalRuler:");
113 //mixin ObjcBindMethod!(hasVerticalRuler, "hasVerticalRuler");
114 //mixin ObjcBindMethod!(setHorizontalRulerView, "setHorizontalRulerView:");
115 //mixin ObjcBindMethod!(horizontalRulerView, "horizontalRulerView");
116 //mixin ObjcBindMethod!(setVerticalRulerView, "setVerticalRulerView:");
117 //mixin ObjcBindMethod!(verticalRulerView, "verticalRulerView");
118
119 `;
120
121 class NSScrollView : NSView
122 {
123 mixin (ObjcWrap);
124
125 static NSSize frameSizeForContentSize (NSSize cSize, bool hFlag, bool vFlag, uint aType)
126 {
127 return invokeObjcSelfClass!(NSSize, "frameSizeForContentSize:hasHorizontalScroller:hasVerticalScroller:borderType:", NSSize, bool, bool, uint)(cSize, hFlag, vFlag, aType);
128 }
129
130 static NSSize contentSizeForFrameSize (NSSize fSize, bool hFlag, bool vFlag, uint aType)
131 {
132 return invokeObjcSelfClass!(NSSize, "contentSizeForFrameSize:hasHorizontalScroller:hasVerticalScroller:borderType:", NSSize, bool, bool, uint)(fSize, hFlag, vFlag, aType);
133 }
134
135 NSRect documentVisibleRect ()
136 {
137 return invokeObjcSelf!(NSRect, "documentVisibleRect");
138 }
139
140 NSSize contentSize ()
141 {
142 return invokeObjcSelf!(NSSize, "contentSize");
143 }
144
145 void setDocumentView (NSView aView)
146 {
147 return invokeObjcSelf!(void, "setDocumentView:", NSView)(aView);
148 }
149
150 Object documentView ()
151 {
152 return invokeObjcSelf!(Object, "documentView");
153 }
154
155 void setContentView (NSClipView contentView)
156 {
157 return invokeObjcSelf!(void, "setContentView:", NSClipView)(contentView);
158 }
159
160 NSClipView contentView ()
161 {
162 return invokeObjcSelf!(NSClipView, "contentView");
163 }
164
165 void setDocumentCursor (NSCursor anObj)
166 {
167 return invokeObjcSelf!(void, "setDocumentCursor:", NSCursor)(anObj);
168 }
169
170 NSCursor documentCursor ()
171 {
172 return invokeObjcSelf!(NSCursor, "documentCursor");
173 }
174
175 void setBorderType (uint aType)
176 {
177 return invokeObjcSelf!(void, "setBorderType:", uint)(aType);
178 }
179
180 uint borderType ()
181 {
182 return invokeObjcSelf!(uint, "borderType");
183 }
184
185 void setBackgroundColor (NSColor color)
186 {
187 return invokeObjcSelf!(void, "setBackgroundColor:", NSColor)(color);
188 }
189
190 NSColor backgroundColor ()
191 {
192 return invokeObjcSelf!(NSColor, "backgroundColor");
193 }
194
195 void setDrawsBackground (bool flag)
196 {
197 return invokeObjcSelf!(void, "setDrawsBackground:", bool)(flag);
198 }
199
200 bool drawsBackground ()
201 {
202 return invokeObjcSelf!(bool, "drawsBackground");
203 }
204
205 void setHasVerticalScroller (bool flag)
206 {
207 return invokeObjcSelf!(void, "setHasVerticalScroller:", bool)(flag);
208 }
209
210 bool hasVerticalScroller ()
211 {
212 return invokeObjcSelf!(bool, "hasVerticalScroller");
213 }
214
215 void setHasHorizontalScroller (bool flag)
216 {
217 return invokeObjcSelf!(void, "setHasHorizontalScroller:", bool)(flag);
218 }
219
220 bool hasHorizontalScroller ()
221 {
222 return invokeObjcSelf!(bool, "hasHorizontalScroller");
223 }
224
225 void setVerticalScroller (NSScroller anObject)
226 {
227 return invokeObjcSelf!(void, "setVerticalScroller:", NSScroller)(anObject);
228 }
229
230 NSScroller verticalScroller ()
231 {
232 return invokeObjcSelf!(NSScroller, "verticalScroller");
233 }
234
235 void setHorizontalScroller (NSScroller anObject)
236 {
237 return invokeObjcSelf!(void, "setHorizontalScroller:", NSScroller)(anObject);
238 }
239
240 NSScroller horizontalScroller ()
241 {
242 return invokeObjcSelf!(NSScroller, "horizontalScroller");
243 }
244
245 bool autohidesScrollers ()
246 {
247 return invokeObjcSelf!(bool, "autohidesScrollers");
248 }
249
250 void setAutohidesScrollers (bool flag)
251 {
252 return invokeObjcSelf!(void, "setAutohidesScrollers:", bool)(flag);
253 }
254
255 void setHorizontalLineScroll (CGFloat value)
256 {
257 return invokeObjcSelf!(void, "setHorizontalLineScroll:", CGFloat)(value);
258 }
259
260 void setVerticalLineScroll (CGFloat value)
261 {
262 return invokeObjcSelf!(void, "setVerticalLineScroll:", CGFloat)(value);
263 }
264
265 void setLineScroll (CGFloat value)
266 {
267 return invokeObjcSelf!(void, "setLineScroll:", CGFloat)(value);
268 }
269
270 CGFloat horizontalLineScroll ()
271 {
272 return invokeObjcSelf!(CGFloat, "horizontalLineScroll");
273 }
274
275 CGFloat verticalLineScroll ()
276 {
277 return invokeObjcSelf!(CGFloat, "verticalLineScroll");
278 }
279
280 CGFloat lineScroll ()
281 {
282 return invokeObjcSelf!(CGFloat, "lineScroll");
283 }
284
285 void setHorizontalPageScroll (CGFloat value)
286 {
287 return invokeObjcSelf!(void, "setHorizontalPageScroll:", CGFloat)(value);
288 }
289
290 void setVerticalPageScroll (CGFloat value)
291 {
292 return invokeObjcSelf!(void, "setVerticalPageScroll:", CGFloat)(value);
293 }
294
295 void setPageScroll (CGFloat value)
296 {
297 return invokeObjcSelf!(void, "setPageScroll:", CGFloat)(value);
298 }
299
300 CGFloat horizontalPageScroll ()
301 {
302 return invokeObjcSelf!(CGFloat, "horizontalPageScroll");
303 }
304
305 CGFloat verticalPageScroll ()
306 {
307 return invokeObjcSelf!(CGFloat, "verticalPageScroll");
308 }
309
310 CGFloat pageScroll ()
311 {
312 return invokeObjcSelf!(CGFloat, "pageScroll");
313 }
314
315 void setScrollsDynamically (bool flag)
316 {
317 return invokeObjcSelf!(void, "setScrollsDynamically:", bool)(flag);
318 }
319
320 bool scrollsDynamically ()
321 {
322 return invokeObjcSelf!(bool, "scrollsDynamically");
323 }
324
325 void tile ()
326 {
327 return invokeObjcSelf!(void, "tile");
328 }
329
330 void reflectScrolledClipView (NSClipView cView)
331 {
332 return invokeObjcSelf!(void, "reflectScrolledClipView:", NSClipView)(cView);
333 }
334
335 void scrollWheel (NSEvent theEvent)
336 {
337 return invokeObjcSelf!(void, "scrollWheel:", NSEvent)(theEvent);
338 }
339
340 // NSRulerSupport
341 static void setRulerViewClass (Class rulerViewClass)
342 {
343 return invokeObjcSelfClass!(void, "setRulerViewClass:", Class)(rulerViewClass);
344 }
345
346 static Class rulerViewClass ()
347 {
348 return invokeObjcSelfClass!(Class, "rulerViewClass");
349 }
350
351 void setRulersVisible (bool flag)
352 {
353 return invokeObjcSelf!(void, "setRulersVisible:", bool)(flag);
354 }
355
356 bool rulersVisible ()
357 {
358 return invokeObjcSelf!(bool, "rulersVisible");
359 }
360
361 void setHasHorizontalRuler (bool flag)
362 {
363 return invokeObjcSelf!(void, "setHasHorizontalRuler:", bool)(flag);
364 }
365
366 bool hasHorizontalRuler ()
367 {
368 return invokeObjcSelf!(bool, "hasHorizontalRuler");
369 }
370
371 void setHasVerticalRuler (bool flag)
372 {
373 return invokeObjcSelf!(void, "setHasVerticalRuler:", bool)(flag);
374 }
375
376 bool hasVerticalRuler ()
377 {
378 return invokeObjcSelf!(bool, "hasVerticalRuler");
379 }
380
381 void setHorizontalRulerView (NSRulerView ruler)
382 {
383 return invokeObjcSelf!(void, "setHorizontalRulerView:", NSRulerView)(ruler);
384 }
385
386 NSRulerView horizontalRulerView ()
387 {
388 return invokeObjcSelf!(NSRulerView, "horizontalRulerView");
389 }
390
391 void setVerticalRulerView (NSRulerView ruler)
392 {
393 return invokeObjcSelf!(void, "setVerticalRulerView:", NSRulerView)(ruler);
394 }
395
396 NSRulerView verticalRulerView ()
397 {
398 return invokeObjcSelf!(NSRulerView, "verticalRulerView");
399 }
400 }