Mercurial > projects > dstep
diff dstep/appkit/NSRulerView.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 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dstep/appkit/NSRulerView.d Sun Jan 03 22:06:11 2010 +0100 @@ -0,0 +1,264 @@ +/** + * Copyright: Copyright (c) 2009 Jacob Carlborg. + * Authors: Jacob Carlborg + * Version: Initial created: Sep 24, 2009 + * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0) + */ +module dstep.appkit.NSRulerView; + +import dstep.appkit.NSEvent; +import dstep.appkit.NSRulerMarker; +import dstep.appkit.NSScrollView; +import dstep.appkit.NSView; +import dstep.applicationservices.coregraphics.CGBase; +import dstep.foundation.NSArray; +import dstep.foundation.NSGeometry; +import dstep.foundation.NSObjCRuntime; +import dstep.foundation.NSString; +import dstep.objc.bridge.Bridge; +import dstep.objc.objc; + +alias NSUInteger NSRulerOrientation; + +enum +{ + NSHorizontalRuler, + NSVerticalRuler +} + +class NSRulerView : NSView +{ + mixin (ObjcWrap); + + static void registerUnitWithName (NSString unitName, NSString abbreviation, CGFloat conversionFactor, NSArray stepUpCycle, NSArray stepDownCycle) + { + return invokeObjcSelfClass!(void, "registerUnitWithName:abbreviation:unitToPointsConversionFactor:stepUpCycle:stepDownCycle:", NSString, NSString, CGFloat, NSArray, NSArray)(unitName, abbreviation, conversionFactor, stepUpCycle, stepDownCycle); + } + + NSRulerView initWithScrollView (NSScrollView scrollView, uint orientation) + { + id result = invokeObjcSelf!(id, "initWithScrollView:orientation:", NSScrollView, uint)(scrollView, orientation); + return result is this.objcObject ? this : (result !is null ? new NSRulerView(result) : null); + } + + this (NSScrollView scrollView, uint orientation) + { + super(NSRulerView.alloc.initWithScrollView(scrollView, orientation).objcObject); + } + + void setScrollView (NSScrollView scrollView) + { + return invokeObjcSelf!(void, "setScrollView:", NSScrollView)(scrollView); + } + + NSScrollView scrollView () + { + return invokeObjcSelf!(NSScrollView, "scrollView"); + } + + void setOrientation (uint orientation) + { + return invokeObjcSelf!(void, "setOrientation:", uint)(orientation); + } + + uint orientation () + { + return invokeObjcSelf!(uint, "orientation"); + } + + CGFloat baselineLocation () + { + return invokeObjcSelf!(CGFloat, "baselineLocation"); + } + + CGFloat requiredThickness () + { + return invokeObjcSelf!(CGFloat, "requiredThickness"); + } + + void setRuleThickness (CGFloat thickness) + { + return invokeObjcSelf!(void, "setRuleThickness:", CGFloat)(thickness); + } + + CGFloat ruleThickness () + { + return invokeObjcSelf!(CGFloat, "ruleThickness"); + } + + void setReservedThicknessForMarkers (CGFloat thickness) + { + return invokeObjcSelf!(void, "setReservedThicknessForMarkers:", CGFloat)(thickness); + } + + CGFloat reservedThicknessForMarkers () + { + return invokeObjcSelf!(CGFloat, "reservedThicknessForMarkers"); + } + + void setReservedThicknessForAccessoryView (CGFloat thickness) + { + return invokeObjcSelf!(void, "setReservedThicknessForAccessoryView:", CGFloat)(thickness); + } + + CGFloat reservedThicknessForAccessoryView () + { + return invokeObjcSelf!(CGFloat, "reservedThicknessForAccessoryView"); + } + + void setMeasurementUnits (NSString unitName) + { + return invokeObjcSelf!(void, "setMeasurementUnits:", NSString)(unitName); + } + + NSString measurementUnits () + { + return invokeObjcSelf!(NSString, "measurementUnits"); + } + + void setOriginOffset (CGFloat offset) + { + return invokeObjcSelf!(void, "setOriginOffset:", CGFloat)(offset); + } + + CGFloat originOffset () + { + return invokeObjcSelf!(CGFloat, "originOffset"); + } + + void setClientView (NSView client) + { + return invokeObjcSelf!(void, "setClientView:", NSView)(client); + } + + NSView clientView () + { + return invokeObjcSelf!(NSView, "clientView"); + } + + void setMarkers (NSArray markers) + { + return invokeObjcSelf!(void, "setMarkers:", NSArray)(markers); + } + + void addMarker (NSRulerMarker marker) + { + return invokeObjcSelf!(void, "addMarker:", NSRulerMarker)(marker); + } + + void removeMarker (NSRulerMarker marker) + { + return invokeObjcSelf!(void, "removeMarker:", NSRulerMarker)(marker); + } + + NSArray markers () + { + return invokeObjcSelf!(NSArray, "markers"); + } + + bool trackMarker (NSRulerMarker marker, NSEvent event) + { + return invokeObjcSelf!(bool, "trackMarker:withMouseEvent:", NSRulerMarker, NSEvent)(marker, event); + } + + void setAccessoryView (NSView accessory) + { + return invokeObjcSelf!(void, "setAccessoryView:", NSView)(accessory); + } + + NSView accessoryView () + { + return invokeObjcSelf!(NSView, "accessoryView"); + } + + void moveRulerlineFromLocation (CGFloat oldLocation, CGFloat newLocation) + { + return invokeObjcSelf!(void, "moveRulerlineFromLocation:toLocation:", CGFloat, CGFloat)(oldLocation, newLocation); + } + + void invalidateHashMarks () + { + return invokeObjcSelf!(void, "invalidateHashMarks"); + } + + void drawHashMarksAndLabelsInRect (NSRect rect) + { + return invokeObjcSelf!(void, "drawHashMarksAndLabelsInRect:", NSRect)(rect); + } + + void drawMarkersInRect (NSRect rect) + { + return invokeObjcSelf!(void, "drawMarkersInRect:", NSRect)(rect); + } + + bool isFlipped () + { + return invokeObjcSelf!(bool, "isFlipped"); + } +} + +const TNSRulerMarkerClientViewDelegation = ` + + bool rulerView_shouldMoveMarker (NSRulerView ruler, NSRulerMarker marker) + { + return invokeObjcSelf!(bool, "rulerView:shouldMoveMarker:", NSRulerView, NSRulerMarker)(ruler, marker); + } + + CGFloat rulerView (NSRulerView ruler, NSRulerMarker marker, CGFloat location) + { + return invokeObjcSelf!(CGFloat, "rulerView:willMoveMarker:toLocation:", NSRulerView, NSRulerMarker, CGFloat)(ruler, marker, location); + } + + void rulerView (NSRulerView ruler, NSRulerMarker marker) + { + return invokeObjcSelf!(void, "rulerView:didMoveMarker:", NSRulerView, NSRulerMarker)(ruler, marker); + } + + void rulerView_shouldRemoveMarker (NSRulerView ruler, NSRulerMarker marker) + { + return invokeObjcSelf!(void, "rulerView:shouldRemoveMarker:", NSRulerView, NSRulerMarker)(ruler, marker); + } + + void rulerView_didRemoveMarker (NSRulerView ruler, NSRulerMarker marker) + { + return invokeObjcSelf!(void, "rulerView:didRemoveMarker:", NSRulerView, NSRulerMarker)(ruler, marker); + } + + bool rulerView_shouldAddMarker (NSRulerView ruler, NSRulerMarker marker) + { + return invokeObjcSelf!(bool, "rulerView:shouldAddMarker:", NSRulerView, NSRulerMarker)(ruler, marker); + } + + CGFloat rulerView_willAddMarker_atLocation (NSRulerView ruler, NSRulerMarker marker, CGFloat location) + { + return invokeObjcSelf!(CGFloat, "rulerView:willAddMarker:atLocation:", NSRulerView, NSRulerMarker, CGFloat)(ruler, marker, location); + } + + void rulerView_didAddMarker (NSRulerView ruler, NSRulerMarker marker) + { + return invokeObjcSelf!(void, "rulerView:didAddMarker:", NSRulerView, NSRulerMarker)(ruler, marker); + } + + void rulerView (NSRulerView ruler, NSEvent event) + { + return invokeObjcSelf!(void, "rulerView:handleMouseDown:", NSRulerView, NSEvent)(ruler, event); + } + + CGFloat rulerView (NSRulerView ruler, NSView newClient) + { + return invokeObjcSelf!(CGFloat, "rulerView:willSetClientView:", NSRulerView, NSView)(ruler, newClient); + } + + //mixin ObjcBindMethod!(rulerView_shouldMoveMarker, "rulerView:shouldMoveMarker:"); + //mixin ObjcBindMethod!(rulerView, CGFloat, "rulerView:willMoveMarker:toLocation:", NSRulerView, NSRulerMarker, CGFloat); + //mixin ObjcBindMethod!(rulerView, void, "rulerView:didMoveMarker:", NSRulerView, NSRulerMarker); + //mixin ObjcBindMethod!(rulerView_shouldRemoveMarker, "rulerView:shouldRemoveMarker:"); + //mixin ObjcBindMethod!(rulerView_didRemoveMarker, "rulerView:didRemoveMarker:"); + //mixin ObjcBindMethod!(rulerView_shouldAddMarker, "rulerView:shouldAddMarker:"); + //mixin ObjcBindMethod!(rulerView_willAddMarker_atLocation, "rulerView:willAddMarker:atLocation:"); + //mixin ObjcBindMethod!(rulerView_didAddMarker, "rulerView:didAddMarker:"); + //mixin ObjcBindMethod!(rulerView, void, "rulerView:handleMouseDown:", NSRulerView, NSEvent); + //mixin ObjcBindMethod!(rulerView, CGFloat, "rulerView:willSetClientView:", NSRulerView, NSView); + +`; +