diff dstep/appkit/NSButton.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/NSButton.d	Sun Jan 03 22:06:11 2010 +0100
@@ -0,0 +1,327 @@
+/**
+ * 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.NSButton;
+
+import dstep.appkit.NSButtonCell;
+import dstep.appkit.NSControl;
+import dstep.appkit.NSEvent;
+import dstep.appkit.NSImage;
+import dstep.appkit.NSSound;
+import dstep.appkit.NSUserInterfaceValidation;
+import dstep.foundation.NSAttributedString;
+import dstep.foundation.NSObjCRuntime;
+import dstep.foundation.NSString;
+import dstep.objc.bridge.Bridge;
+import dstep.objc.objc;
+
+const TNSButtonMixedState = `
+
+	void setAllowsMixedState (bool flag)
+	{
+		return invokeObjcSelf!(void, "setAllowsMixedState:", bool)(flag);
+	}
+
+	bool allowsMixedState ()
+	{
+		return invokeObjcSelf!(bool, "allowsMixedState");
+	}
+
+	void setNextState ()
+	{
+		return invokeObjcSelf!(void, "setNextState");
+	}
+
+	//mixin ObjcBindMethod!(setAllowsMixedState, "setAllowsMixedState:");
+	//mixin ObjcBindMethod!(allowsMixedState, "allowsMixedState");
+	//mixin ObjcBindMethod!(setNextState, "setNextState");
+
+`;
+
+const TNSButtonAttributedStringMethods = `
+
+	NSAttributedString attributedTitle ()
+	{
+		return invokeObjcSelf!(NSAttributedString, "attributedTitle");
+	}
+
+	void setAttributedTitle (NSAttributedString aString)
+	{
+		return invokeObjcSelf!(void, "setAttributedTitle:", NSAttributedString)(aString);
+	}
+
+	NSAttributedString attributedAlternateTitle ()
+	{
+		return invokeObjcSelf!(NSAttributedString, "attributedAlternateTitle");
+	}
+
+	void setAttributedAlternateTitle (NSAttributedString obj)
+	{
+		return invokeObjcSelf!(void, "setAttributedAlternateTitle:", NSAttributedString)(obj);
+	}
+
+	//mixin ObjcBindMethod!(attributedTitle, "attributedTitle");
+	//mixin ObjcBindMethod!(setAttributedTitle, "setAttributedTitle:");
+	//mixin ObjcBindMethod!(attributedAlternateTitle, "attributedAlternateTitle");
+	//mixin ObjcBindMethod!(setAttributedAlternateTitle, "setAttributedAlternateTitle:");
+
+`;
+
+const TNSButtonSoundExtensions = `
+
+	void setSound (NSSound aSound)
+	{
+		return invokeObjcSelf!(void, "setSound:", NSSound)(aSound);
+	}
+
+	NSSound sound ()
+	{
+		return invokeObjcSelf!(NSSound, "sound");
+	}
+
+	//mixin ObjcBindMethod!(setSound, "setSound:");
+	//mixin ObjcBindMethod!(sound, "sound");
+
+`;
+
+const TNSButtonBezelStyles = `
+
+	void setBezelStyle (uint bezelStyle)
+	{
+		return invokeObjcSelf!(void, "setBezelStyle:", uint)(bezelStyle);
+	}
+
+	uint bezelStyle ()
+	{
+		return invokeObjcSelf!(uint, "bezelStyle");
+	}
+
+	//mixin ObjcBindMethod!(setBezelStyle, "setBezelStyle:");
+	//mixin ObjcBindMethod!(bezelStyle, "bezelStyle");
+
+`;
+
+const TNSButtonBorder = `
+
+	void setShowsBorderOnlyWhileMouseInside (bool show)
+	{
+		return invokeObjcSelf!(void, "setShowsBorderOnlyWhileMouseInside:", bool)(show);
+	}
+
+	bool showsBorderOnlyWhileMouseInside ()
+	{
+		return invokeObjcSelf!(bool, "showsBorderOnlyWhileMouseInside");
+	}
+
+	//mixin ObjcBindMethod!(setShowsBorderOnlyWhileMouseInside, "setShowsBorderOnlyWhileMouseInside:");
+	//mixin ObjcBindMethod!(showsBorderOnlyWhileMouseInside, "showsBorderOnlyWhileMouseInside");
+
+`;
+
+class NSButton : NSControl, INSUserInterfaceValidations
+{
+	mixin (ObjcWrap);
+
+	NSString title ()
+	{
+		return invokeObjcSelf!(NSString, "title");
+	}
+
+	void setTitle (NSString aString)
+	{
+		return invokeObjcSelf!(void, "setTitle:", NSString)(aString);
+	}
+
+	NSString alternateTitle ()
+	{
+		return invokeObjcSelf!(NSString, "alternateTitle");
+	}
+
+	void setAlternateTitle (NSString aString)
+	{
+		return invokeObjcSelf!(void, "setAlternateTitle:", NSString)(aString);
+	}
+
+	NSImage image ()
+	{
+		return invokeObjcSelf!(NSImage, "image");
+	}
+
+	void setImage (NSImage image)
+	{
+		return invokeObjcSelf!(void, "setImage:", NSImage)(image);
+	}
+
+	NSImage alternateImage ()
+	{
+		return invokeObjcSelf!(NSImage, "alternateImage");
+	}
+
+	void setAlternateImage (NSImage image)
+	{
+		return invokeObjcSelf!(void, "setAlternateImage:", NSImage)(image);
+	}
+
+	uint imagePosition ()
+	{
+		return invokeObjcSelf!(uint, "imagePosition");
+	}
+
+	void setImagePosition (uint aPosition)
+	{
+		return invokeObjcSelf!(void, "setImagePosition:", uint)(aPosition);
+	}
+
+	void setButtonType (uint aType)
+	{
+		return invokeObjcSelf!(void, "setButtonType:", uint)(aType);
+	}
+
+	NSInteger state ()
+	{
+		return invokeObjcSelf!(NSInteger, "state");
+	}
+
+	void setState (NSInteger value)
+	{
+		return invokeObjcSelf!(void, "setState:", NSInteger)(value);
+	}
+
+	bool isBordered ()
+	{
+		return invokeObjcSelf!(bool, "isBordered");
+	}
+
+	void setBordered (bool flag)
+	{
+		return invokeObjcSelf!(void, "setBordered:", bool)(flag);
+	}
+
+	bool isTransparent ()
+	{
+		return invokeObjcSelf!(bool, "isTransparent");
+	}
+
+	void setTransparent (bool flag)
+	{
+		return invokeObjcSelf!(void, "setTransparent:", bool)(flag);
+	}
+
+	void setPeriodicDelay (float delay, float interval)
+	{
+		return invokeObjcSelf!(void, "setPeriodicDelay:interval:", float, float)(delay, interval);
+	}
+
+	void getPeriodicDelay (float* delay, float* interval)
+	{
+		return invokeObjcSelf!(void, "getPeriodicDelay:interval:", float*, float*)(delay, interval);
+	}
+
+	NSString keyEquivalent ()
+	{
+		return invokeObjcSelf!(NSString, "keyEquivalent");
+	}
+
+	void setKeyEquivalent (NSString charCode)
+	{
+		return invokeObjcSelf!(void, "setKeyEquivalent:", NSString)(charCode);
+	}
+
+	NSUInteger keyEquivalentModifierMask ()
+	{
+		return invokeObjcSelf!(NSUInteger, "keyEquivalentModifierMask");
+	}
+
+	void setKeyEquivalentModifierMask (NSUInteger mask)
+	{
+		return invokeObjcSelf!(void, "setKeyEquivalentModifierMask:", NSUInteger)(mask);
+	}
+
+	void highlight (bool flag)
+	{
+		return invokeObjcSelf!(void, "highlight:", bool)(flag);
+	}
+
+	bool performKeyEquivalent (NSEvent key)
+	{
+		return invokeObjcSelf!(bool, "performKeyEquivalent:", NSEvent)(key);
+	}
+
+	bool validateUserInterfaceItem (INSValidatedUserInterfaceItem anItem)
+	{
+		return invokeObjcSelf!(bool, "validateUserInterfaceItem:", INSValidatedUserInterfaceItem)(anItem);
+	}
+	
+	// NSButtonMixedState
+	void setAllowsMixedState (bool flag)
+	{
+		return invokeObjcSelf!(void, "setAllowsMixedState:", bool)(flag);
+	}
+
+	bool allowsMixedState ()
+	{
+		return invokeObjcSelf!(bool, "allowsMixedState");
+	}
+
+	void setNextState ()
+	{
+		return invokeObjcSelf!(void, "setNextState");
+	}
+	
+	// NSButtonAttributedStringMethods
+	NSAttributedString attributedTitle ()
+	{
+		return invokeObjcSelf!(NSAttributedString, "attributedTitle");
+	}
+
+	void setAttributedTitle (NSAttributedString aString)
+	{
+		return invokeObjcSelf!(void, "setAttributedTitle:", NSAttributedString)(aString);
+	}
+
+	NSAttributedString attributedAlternateTitle ()
+	{
+		return invokeObjcSelf!(NSAttributedString, "attributedAlternateTitle");
+	}
+
+	void setAttributedAlternateTitle (NSAttributedString obj)
+	{
+		return invokeObjcSelf!(void, "setAttributedAlternateTitle:", NSAttributedString)(obj);
+	}
+	
+	// NSButtonSoundExtensions
+	void setSound (NSSound aSound)
+	{
+		return invokeObjcSelf!(void, "setSound:", NSSound)(aSound);
+	}
+
+	NSSound sound ()
+	{
+		return invokeObjcSelf!(NSSound, "sound");
+	}
+
+	// NSButtonBezelStyles
+	void setBezelStyle (uint bezelStyle)
+	{
+		return invokeObjcSelf!(void, "setBezelStyle:", uint)(bezelStyle);
+	}
+
+	uint bezelStyle ()
+	{
+		return invokeObjcSelf!(uint, "bezelStyle");
+	}
+	
+	// NSButtonBorder
+	void setShowsBorderOnlyWhileMouseInside (bool show)
+	{
+		return invokeObjcSelf!(void, "setShowsBorderOnlyWhileMouseInside:", bool)(show);
+	}
+
+	bool showsBorderOnlyWhileMouseInside ()
+	{
+		return invokeObjcSelf!(bool, "showsBorderOnlyWhileMouseInside");
+	}
+}
\ No newline at end of file