Mercurial > projects > dstep
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 } |