diff 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
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dstep/appkit/NSScrollView.d	Sun Jan 03 22:06:11 2010 +0100
@@ -0,0 +1,400 @@
+/**
+ * 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.NSScrollView;
+
+import dstep.appkit.NSClipView;
+import dstep.appkit.NSColor;
+import dstep.appkit.NSCursor;
+import dstep.appkit.NSEvent;
+import dstep.appkit.NSRulerView;
+import dstep.appkit.NSScroller;
+import dstep.appkit.NSView;
+import dstep.applicationservices.coregraphics.CGBase;
+import dstep.foundation.NSDate;
+import dstep.foundation.NSGeometry;
+import dstep.objc.bridge.Bridge;
+import dstep.objc.objc;
+
+struct _SFlags
+{
+	uint RESERVED;
+	uint autoforwardsScrollWheelEvents;
+	uint autohidesScrollers;
+	uint hasCustomLineBorderColor;
+	uint focusRingNeedsRedisplay;
+	uint skipRemoveSuperviewCheck;
+	uint doesNotDrawBackground;
+	uint needsTile;
+	uint hasVerticalRuler;
+	uint hasHorizontalRuler;
+	uint showRulers;
+	uint oldRulerInstalled;
+	uint borderType;
+	uint noDynamicScrolling;
+	uint hScrollerStatus;
+	uint vScrollerStatus;
+	uint hScrollerRequired;
+	uint vScrollerRequired;
+}
+
+const TNSRulerSupport = `
+
+	static void setRulerViewClass (Class rulerViewClass)
+	{
+		return invokeObjcSelfClass!(void, "setRulerViewClass:", Class)(rulerViewClass);
+	}
+
+	static Class rulerViewClass ()
+	{
+		return invokeObjcSelfClass!(Class, "rulerViewClass");
+	}
+
+	void setRulersVisible (bool flag)
+	{
+		return invokeObjcSelf!(void, "setRulersVisible:", bool)(flag);
+	}
+
+	bool rulersVisible ()
+	{
+		return invokeObjcSelf!(bool, "rulersVisible");
+	}
+
+	void setHasHorizontalRuler (bool flag)
+	{
+		return invokeObjcSelf!(void, "setHasHorizontalRuler:", bool)(flag);
+	}
+
+	bool hasHorizontalRuler ()
+	{
+		return invokeObjcSelf!(bool, "hasHorizontalRuler");
+	}
+
+	void setHasVerticalRuler (bool flag)
+	{
+		return invokeObjcSelf!(void, "setHasVerticalRuler:", bool)(flag);
+	}
+
+	bool hasVerticalRuler ()
+	{
+		return invokeObjcSelf!(bool, "hasVerticalRuler");
+	}
+
+	void setHorizontalRulerView (NSRulerView ruler)
+	{
+		return invokeObjcSelf!(void, "setHorizontalRulerView:", NSRulerView)(ruler);
+	}
+
+	NSRulerView horizontalRulerView ()
+	{
+		return invokeObjcSelf!(NSRulerView, "horizontalRulerView");
+	}
+
+	void setVerticalRulerView (NSRulerView ruler)
+	{
+		return invokeObjcSelf!(void, "setVerticalRulerView:", NSRulerView)(ruler);
+	}
+
+	NSRulerView verticalRulerView ()
+	{
+		return invokeObjcSelf!(NSRulerView, "verticalRulerView");
+	}
+
+	//mixin ObjcBindClassMethod!(setRulerViewClass, "setRulerViewClass:");
+	//mixin ObjcBindClassMethod!(rulerViewClass, "rulerViewClass");
+	//mixin ObjcBindMethod!(setRulersVisible, "setRulersVisible:");
+	//mixin ObjcBindMethod!(rulersVisible, "rulersVisible");
+	//mixin ObjcBindMethod!(setHasHorizontalRuler, "setHasHorizontalRuler:");
+	//mixin ObjcBindMethod!(hasHorizontalRuler, "hasHorizontalRuler");
+	//mixin ObjcBindMethod!(setHasVerticalRuler, "setHasVerticalRuler:");
+	//mixin ObjcBindMethod!(hasVerticalRuler, "hasVerticalRuler");
+	//mixin ObjcBindMethod!(setHorizontalRulerView, "setHorizontalRulerView:");
+	//mixin ObjcBindMethod!(horizontalRulerView, "horizontalRulerView");
+	//mixin ObjcBindMethod!(setVerticalRulerView, "setVerticalRulerView:");
+	//mixin ObjcBindMethod!(verticalRulerView, "verticalRulerView");
+
+`;
+
+class NSScrollView : NSView
+{
+	mixin (ObjcWrap);
+
+	static NSSize frameSizeForContentSize (NSSize cSize, bool hFlag, bool vFlag, uint aType)
+	{
+		return invokeObjcSelfClass!(NSSize, "frameSizeForContentSize:hasHorizontalScroller:hasVerticalScroller:borderType:", NSSize, bool, bool, uint)(cSize, hFlag, vFlag, aType);
+	}
+
+	static NSSize contentSizeForFrameSize (NSSize fSize, bool hFlag, bool vFlag, uint aType)
+	{
+		return invokeObjcSelfClass!(NSSize, "contentSizeForFrameSize:hasHorizontalScroller:hasVerticalScroller:borderType:", NSSize, bool, bool, uint)(fSize, hFlag, vFlag, aType);
+	}
+
+	NSRect documentVisibleRect ()
+	{
+		return invokeObjcSelf!(NSRect, "documentVisibleRect");
+	}
+
+	NSSize contentSize ()
+	{
+		return invokeObjcSelf!(NSSize, "contentSize");
+	}
+
+	void setDocumentView (NSView aView)
+	{
+		return invokeObjcSelf!(void, "setDocumentView:", NSView)(aView);
+	}
+
+	Object documentView ()
+	{
+		return invokeObjcSelf!(Object, "documentView");
+	}
+
+	void setContentView (NSClipView contentView)
+	{
+		return invokeObjcSelf!(void, "setContentView:", NSClipView)(contentView);
+	}
+
+	NSClipView contentView ()
+	{
+		return invokeObjcSelf!(NSClipView, "contentView");
+	}
+
+	void setDocumentCursor (NSCursor anObj)
+	{
+		return invokeObjcSelf!(void, "setDocumentCursor:", NSCursor)(anObj);
+	}
+
+	NSCursor documentCursor ()
+	{
+		return invokeObjcSelf!(NSCursor, "documentCursor");
+	}
+
+	void setBorderType (uint aType)
+	{
+		return invokeObjcSelf!(void, "setBorderType:", uint)(aType);
+	}
+
+	uint borderType ()
+	{
+		return invokeObjcSelf!(uint, "borderType");
+	}
+
+	void setBackgroundColor (NSColor color)
+	{
+		return invokeObjcSelf!(void, "setBackgroundColor:", NSColor)(color);
+	}
+
+	NSColor backgroundColor ()
+	{
+		return invokeObjcSelf!(NSColor, "backgroundColor");
+	}
+
+	void setDrawsBackground (bool flag)
+	{
+		return invokeObjcSelf!(void, "setDrawsBackground:", bool)(flag);
+	}
+
+	bool drawsBackground ()
+	{
+		return invokeObjcSelf!(bool, "drawsBackground");
+	}
+
+	void setHasVerticalScroller (bool flag)
+	{
+		return invokeObjcSelf!(void, "setHasVerticalScroller:", bool)(flag);
+	}
+
+	bool hasVerticalScroller ()
+	{
+		return invokeObjcSelf!(bool, "hasVerticalScroller");
+	}
+
+	void setHasHorizontalScroller (bool flag)
+	{
+		return invokeObjcSelf!(void, "setHasHorizontalScroller:", bool)(flag);
+	}
+
+	bool hasHorizontalScroller ()
+	{
+		return invokeObjcSelf!(bool, "hasHorizontalScroller");
+	}
+
+	void setVerticalScroller (NSScroller anObject)
+	{
+		return invokeObjcSelf!(void, "setVerticalScroller:", NSScroller)(anObject);
+	}
+
+	NSScroller verticalScroller ()
+	{
+		return invokeObjcSelf!(NSScroller, "verticalScroller");
+	}
+
+	void setHorizontalScroller (NSScroller anObject)
+	{
+		return invokeObjcSelf!(void, "setHorizontalScroller:", NSScroller)(anObject);
+	}
+
+	NSScroller horizontalScroller ()
+	{
+		return invokeObjcSelf!(NSScroller, "horizontalScroller");
+	}
+
+	bool autohidesScrollers ()
+	{
+		return invokeObjcSelf!(bool, "autohidesScrollers");
+	}
+
+	void setAutohidesScrollers (bool flag)
+	{
+		return invokeObjcSelf!(void, "setAutohidesScrollers:", bool)(flag);
+	}
+
+	void setHorizontalLineScroll (CGFloat value)
+	{
+		return invokeObjcSelf!(void, "setHorizontalLineScroll:", CGFloat)(value);
+	}
+
+	void setVerticalLineScroll (CGFloat value)
+	{
+		return invokeObjcSelf!(void, "setVerticalLineScroll:", CGFloat)(value);
+	}
+
+	void setLineScroll (CGFloat value)
+	{
+		return invokeObjcSelf!(void, "setLineScroll:", CGFloat)(value);
+	}
+
+	CGFloat horizontalLineScroll ()
+	{
+		return invokeObjcSelf!(CGFloat, "horizontalLineScroll");
+	}
+
+	CGFloat verticalLineScroll ()
+	{
+		return invokeObjcSelf!(CGFloat, "verticalLineScroll");
+	}
+
+	CGFloat lineScroll ()
+	{
+		return invokeObjcSelf!(CGFloat, "lineScroll");
+	}
+
+	void setHorizontalPageScroll (CGFloat value)
+	{
+		return invokeObjcSelf!(void, "setHorizontalPageScroll:", CGFloat)(value);
+	}
+
+	void setVerticalPageScroll (CGFloat value)
+	{
+		return invokeObjcSelf!(void, "setVerticalPageScroll:", CGFloat)(value);
+	}
+
+	void setPageScroll (CGFloat value)
+	{
+		return invokeObjcSelf!(void, "setPageScroll:", CGFloat)(value);
+	}
+
+	CGFloat horizontalPageScroll ()
+	{
+		return invokeObjcSelf!(CGFloat, "horizontalPageScroll");
+	}
+
+	CGFloat verticalPageScroll ()
+	{
+		return invokeObjcSelf!(CGFloat, "verticalPageScroll");
+	}
+
+	CGFloat pageScroll ()
+	{
+		return invokeObjcSelf!(CGFloat, "pageScroll");
+	}
+
+	void setScrollsDynamically (bool flag)
+	{
+		return invokeObjcSelf!(void, "setScrollsDynamically:", bool)(flag);
+	}
+
+	bool scrollsDynamically ()
+	{
+		return invokeObjcSelf!(bool, "scrollsDynamically");
+	}
+
+	void tile ()
+	{
+		return invokeObjcSelf!(void, "tile");
+	}
+
+	void reflectScrolledClipView (NSClipView cView)
+	{
+		return invokeObjcSelf!(void, "reflectScrolledClipView:", NSClipView)(cView);
+	}
+
+	void scrollWheel (NSEvent theEvent)
+	{
+		return invokeObjcSelf!(void, "scrollWheel:", NSEvent)(theEvent);
+	}
+	
+	// NSRulerSupport
+	static void setRulerViewClass (Class rulerViewClass)
+	{
+		return invokeObjcSelfClass!(void, "setRulerViewClass:", Class)(rulerViewClass);
+	}
+
+	static Class rulerViewClass ()
+	{
+		return invokeObjcSelfClass!(Class, "rulerViewClass");
+	}
+
+	void setRulersVisible (bool flag)
+	{
+		return invokeObjcSelf!(void, "setRulersVisible:", bool)(flag);
+	}
+
+	bool rulersVisible ()
+	{
+		return invokeObjcSelf!(bool, "rulersVisible");
+	}
+
+	void setHasHorizontalRuler (bool flag)
+	{
+		return invokeObjcSelf!(void, "setHasHorizontalRuler:", bool)(flag);
+	}
+
+	bool hasHorizontalRuler ()
+	{
+		return invokeObjcSelf!(bool, "hasHorizontalRuler");
+	}
+
+	void setHasVerticalRuler (bool flag)
+	{
+		return invokeObjcSelf!(void, "setHasVerticalRuler:", bool)(flag);
+	}
+
+	bool hasVerticalRuler ()
+	{
+		return invokeObjcSelf!(bool, "hasVerticalRuler");
+	}
+
+	void setHorizontalRulerView (NSRulerView ruler)
+	{
+		return invokeObjcSelf!(void, "setHorizontalRulerView:", NSRulerView)(ruler);
+	}
+
+	NSRulerView horizontalRulerView ()
+	{
+		return invokeObjcSelf!(NSRulerView, "horizontalRulerView");
+	}
+
+	void setVerticalRulerView (NSRulerView ruler)
+	{
+		return invokeObjcSelf!(void, "setVerticalRulerView:", NSRulerView)(ruler);
+	}
+
+	NSRulerView verticalRulerView ()
+	{
+		return invokeObjcSelf!(NSRulerView, "verticalRulerView");
+	}
+}
\ No newline at end of file