diff dstep/appkit/NSScroller.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/NSScroller.d	Sun Jan 03 22:06:11 2010 +0100
@@ -0,0 +1,169 @@
+/**
+ * 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.NSScroller;
+
+import dstep.appkit.NSCell;
+import dstep.appkit.NSControl;
+import dstep.appkit.NSEvent;
+import dstep.applicationservices.coregraphics.CGBase;
+import dstep.foundation.NSGeometry;
+import dstep.foundation.NSObjCRuntime;
+import dstep.objc.bridge.Bridge;
+import dstep.objc.objc;
+
+alias NSUInteger NSScrollArrowPosition;
+alias NSUInteger NSUsableScrollerParts;
+alias NSUInteger NSScrollerPart;
+alias NSUInteger NSScrollerArrow;
+
+enum
+{
+	NSScrollerArrowsMaxEnd = 0,
+	NSScrollerArrowsMinEnd = 1,
+	NSScrollerArrowsDefaultSetting = 0,
+	NSScrollerArrowsNone = 2
+}
+
+enum
+{
+	NSNoScrollerParts = 0,
+	NSOnlyScrollerArrows = 1,
+	NSAllScrollerParts = 2
+}
+
+enum
+{
+	NSScrollerNoPart = 0,
+	NSScrollerDecrementPage = 1,
+	NSScrollerKnob = 2,
+	NSScrollerIncrementPage = 3,
+	NSScrollerDecrementLine = 4,
+	NSScrollerIncrementLine = 5,
+	NSScrollerKnobSlot = 6
+}
+
+enum
+{
+	NSScrollerIncrementArrow = 0,
+	NSScrollerDecrementArrow = 1
+}
+
+class NSScroller : NSControl
+{
+	mixin (ObjcWrap);
+
+	static CGFloat scrollerWidth ()
+	{
+		return invokeObjcSelfClass!(CGFloat, "scrollerWidth");
+	}
+
+	static CGFloat scrollerWidthForControlSize (uint controlSize)
+	{
+		return invokeObjcSelfClass!(CGFloat, "scrollerWidthForControlSize:", uint)(controlSize);
+	}
+
+	void drawParts ()
+	{
+		return invokeObjcSelf!(void, "drawParts");
+	}
+
+	NSRect rectForPart (uint partCode)
+	{
+		return invokeObjcSelf!(NSRect, "rectForPart:", uint)(partCode);
+	}
+
+	void checkSpaceForParts ()
+	{
+		return invokeObjcSelf!(void, "checkSpaceForParts");
+	}
+
+	uint usableParts ()
+	{
+		return invokeObjcSelf!(uint, "usableParts");
+	}
+
+	void setArrowsPosition (uint where)
+	{
+		return invokeObjcSelf!(void, "setArrowsPosition:", uint)(where);
+	}
+
+	uint arrowsPosition ()
+	{
+		return invokeObjcSelf!(uint, "arrowsPosition");
+	}
+
+	void setControlTint (uint controlTint)
+	{
+		return invokeObjcSelf!(void, "setControlTint:", uint)(controlTint);
+	}
+
+	uint controlTint ()
+	{
+		return invokeObjcSelf!(uint, "controlTint");
+	}
+
+	void setControlSize (uint controlSize)
+	{
+		return invokeObjcSelf!(void, "setControlSize:", uint)(controlSize);
+	}
+
+	uint controlSize ()
+	{
+		return invokeObjcSelf!(uint, "controlSize");
+	}
+
+	void drawArrow (uint whichArrow, bool flag)
+	{
+		return invokeObjcSelf!(void, "drawArrow:highlight:", uint, bool)(whichArrow, flag);
+	}
+
+	void drawKnob ()
+	{
+		return invokeObjcSelf!(void, "drawKnob");
+	}
+
+	void drawKnobSlotInRect (NSRect slotRect, bool flag)
+	{
+		return invokeObjcSelf!(void, "drawKnobSlotInRect:highlight:", NSRect, bool)(slotRect, flag);
+	}
+
+	void highlight (bool flag)
+	{
+		return invokeObjcSelf!(void, "highlight:", bool)(flag);
+	}
+
+	uint testPart (NSPoint thePoint)
+	{
+		return invokeObjcSelf!(uint, "testPart:", NSPoint)(thePoint);
+	}
+
+	void trackKnob (NSEvent theEvent)
+	{
+		return invokeObjcSelf!(void, "trackKnob:", NSEvent)(theEvent);
+	}
+
+	void trackScrollButtons (NSEvent theEvent)
+	{
+		return invokeObjcSelf!(void, "trackScrollButtons:", NSEvent)(theEvent);
+	}
+
+	uint hitPart ()
+	{
+		return invokeObjcSelf!(uint, "hitPart");
+	}
+
+	CGFloat knobProportion ()
+	{
+		return invokeObjcSelf!(CGFloat, "knobProportion");
+	}
+
+	void setKnobProportion (CGFloat proportion)
+	{
+		return invokeObjcSelf!(void, "setKnobProportion:", CGFloat)(proportion);
+	}
+}
+