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);
+
+`;
+