diff dstep/appkit/NSMenuItem.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/NSMenuItem.d	Sun Jan 03 22:06:11 2010 +0100
@@ -0,0 +1,399 @@
+/**
+ * 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.NSMenuItem;
+
+import dstep.appkit.AppKitDefines;
+import dstep.appkit.NSAttributedString;
+import dstep.appkit.NSImage;
+import dstep.appkit.NSMenu;
+import dstep.appkit.NSUserInterfaceValidation;
+import dstep.appkit.NSView;
+import dstep.foundation.NSAttributedString;
+import dstep.foundation.NSCoder;
+import dstep.foundation.NSObjCRuntime;
+import dstep.foundation.NSObject;
+import dstep.foundation.NSString;
+import dstep.foundation.NSZone;
+import dstep.objc.bridge.Bridge;
+import dstep.objc.objc;
+
+class NSMenuItem : NSObject, INSCopying, INSCoding, INSValidatedUserInterfaceItem
+{
+	mixin (ObjcWrap);
+	
+	this (NSCoder aDecoder)
+	{
+		super(typeof(this).alloc.initWithCoder(aDecoder).objcObject);
+	}
+	
+	void encodeWithCoder (NSCoder aCoder)
+	{
+		return invokeObjcSelf!(void, "encodeWithCoder:", NSCoder)(aCoder);
+	}
+	
+	typeof(this) initWithCoder (NSCoder aDecoder)
+	{
+		return invokeObjcSelf!(typeof(this), "initWithCoder:", NSCoder)(aDecoder);
+	}
+	
+	typeof(this) copyWithZone (NSZone* zone)
+	{
+		return invokeObjcSelf!(typeof(this), "copyWithZone:", NSZone*)(zone);
+	}
+
+	static void setUsesUserKeyEquivalents (bool flag)
+	{
+		return invokeObjcSelfClass!(void, "setUsesUserKeyEquivalents:", bool)(flag);
+	}
+
+	static bool usesUserKeyEquivalents ()
+	{
+		return invokeObjcSelfClass!(bool, "usesUserKeyEquivalents");
+	}
+
+	static NSMenuItem separatorItem ()
+	{
+		return invokeObjcSelfClass!(NSMenuItem, "separatorItem");
+	}
+
+	NSMenuItem initWithTitle (NSString aString, SEL aSelector, NSString charCode)
+	{
+		id result = invokeObjcSelf!(id, "initWithTitle:action:keyEquivalent:", NSString, SEL, NSString)(aString, aSelector, charCode);
+		return result is this.objcObject ? this : (result !is null ? new NSMenuItem(result) : null);
+	}
+
+	this (NSString aString, SEL aSelector, NSString charCode)
+	{
+		super(NSMenuItem.alloc.initWithTitle(aString, aSelector, charCode).objcObject);
+	}
+
+	void setMenu (NSMenu menu)
+	{
+		return invokeObjcSelf!(void, "setMenu:", NSMenu)(menu);
+	}
+
+	NSMenu menu ()
+	{
+		return invokeObjcSelf!(NSMenu, "menu");
+	}
+
+	bool hasSubmenu ()
+	{
+		return invokeObjcSelf!(bool, "hasSubmenu");
+	}
+
+	void setSubmenu (NSMenu submenu)
+	{
+		return invokeObjcSelf!(void, "setSubmenu:", NSMenu)(submenu);
+	}
+
+	NSMenu submenu ()
+	{
+		return invokeObjcSelf!(NSMenu, "submenu");
+	}
+
+	void setTitle (NSString aString)
+	{
+		return invokeObjcSelf!(void, "setTitle:", NSString)(aString);
+	}
+
+	NSString title ()
+	{
+		return invokeObjcSelf!(NSString, "title");
+	}
+
+	void setAttributedTitle (NSAttributedString string)
+	{
+		return invokeObjcSelf!(void, "setAttributedTitle:", NSAttributedString)(string);
+	}
+
+	NSAttributedString attributedTitle ()
+	{
+		return invokeObjcSelf!(NSAttributedString, "attributedTitle");
+	}
+
+	bool isSeparatorItem ()
+	{
+		return invokeObjcSelf!(bool, "isSeparatorItem");
+	}
+
+	void setKeyEquivalent (NSString aKeyEquivalent)
+	{
+		return invokeObjcSelf!(void, "setKeyEquivalent:", NSString)(aKeyEquivalent);
+	}
+
+	NSString keyEquivalent ()
+	{
+		return invokeObjcSelf!(NSString, "keyEquivalent");
+	}
+
+	void setKeyEquivalentModifierMask (NSUInteger mask)
+	{
+		return invokeObjcSelf!(void, "setKeyEquivalentModifierMask:", NSUInteger)(mask);
+	}
+
+	NSUInteger keyEquivalentModifierMask ()
+	{
+		return invokeObjcSelf!(NSUInteger, "keyEquivalentModifierMask");
+	}
+
+	NSString userKeyEquivalent ()
+	{
+		return invokeObjcSelf!(NSString, "userKeyEquivalent");
+	}
+
+	void setMnemonicLocation (NSUInteger location)
+	{
+		return invokeObjcSelf!(void, "setMnemonicLocation:", NSUInteger)(location);
+	}
+
+	NSUInteger mnemonicLocation ()
+	{
+		return invokeObjcSelf!(NSUInteger, "mnemonicLocation");
+	}
+
+	NSString mnemonic ()
+	{
+		return invokeObjcSelf!(NSString, "mnemonic");
+	}
+
+	void setTitleWithMnemonic (NSString stringWithAmpersand)
+	{
+		return invokeObjcSelf!(void, "setTitleWithMnemonic:", NSString)(stringWithAmpersand);
+	}
+
+	void setImage (NSImage menuImage)
+	{
+		return invokeObjcSelf!(void, "setImage:", NSImage)(menuImage);
+	}
+
+	NSImage image ()
+	{
+		return invokeObjcSelf!(NSImage, "image");
+	}
+
+	void setState (NSInteger state)
+	{
+		return invokeObjcSelf!(void, "setState:", NSInteger)(state);
+	}
+
+	NSInteger state ()
+	{
+		return invokeObjcSelf!(NSInteger, "state");
+	}
+
+	void setOnStateImage (NSImage image)
+	{
+		return invokeObjcSelf!(void, "setOnStateImage:", NSImage)(image);
+	}
+
+	NSImage onStateImage ()
+	{
+		return invokeObjcSelf!(NSImage, "onStateImage");
+	}
+
+	void setOffStateImage (NSImage image)
+	{
+		return invokeObjcSelf!(void, "setOffStateImage:", NSImage)(image);
+	}
+
+	NSImage offStateImage ()
+	{
+		return invokeObjcSelf!(NSImage, "offStateImage");
+	}
+
+	void setMixedStateImage (NSImage image)
+	{
+		return invokeObjcSelf!(void, "setMixedStateImage:", NSImage)(image);
+	}
+
+	NSImage mixedStateImage ()
+	{
+		return invokeObjcSelf!(NSImage, "mixedStateImage");
+	}
+
+	void setEnabled (bool flag)
+	{
+		return invokeObjcSelf!(void, "setEnabled:", bool)(flag);
+	}
+
+	bool isEnabled ()
+	{
+		return invokeObjcSelf!(bool, "isEnabled");
+	}
+
+	void setAlternate (bool isAlternate)
+	{
+		return invokeObjcSelf!(void, "setAlternate:", bool)(isAlternate);
+	}
+
+	bool isAlternate ()
+	{
+		return invokeObjcSelf!(bool, "isAlternate");
+	}
+
+	void setIndentationLevel (NSInteger indentationLevel)
+	{
+		return invokeObjcSelf!(void, "setIndentationLevel:", NSInteger)(indentationLevel);
+	}
+
+	NSInteger indentationLevel ()
+	{
+		return invokeObjcSelf!(NSInteger, "indentationLevel");
+	}
+
+	void setTarget (Object anObject)
+	{
+		return invokeObjcSelf!(void, "setTarget:", Object)(anObject);
+	}
+
+	Object target ()
+	{
+		return invokeObjcSelf!(Object, "target");
+	}
+
+	void setAction (SEL aSelector)
+	{
+		return invokeObjcSelf!(void, "setAction:", SEL)(aSelector);
+	}
+
+	SEL action ()
+	{
+		return invokeObjcSelf!(SEL, "action");
+	}
+
+	void setTag (NSInteger anInt)
+	{
+		return invokeObjcSelf!(void, "setTag:", NSInteger)(anInt);
+	}
+
+	NSInteger tag ()
+	{
+		return invokeObjcSelf!(NSInteger, "tag");
+	}
+
+	void setRepresentedObject (Object anObject)
+	{
+		return invokeObjcSelf!(void, "setRepresentedObject:", Object)(anObject);
+	}
+
+	Object representedObject ()
+	{
+		return invokeObjcSelf!(Object, "representedObject");
+	}
+
+	void setView (NSView view)
+	{
+		return invokeObjcSelf!(void, "setView:", NSView)(view);
+	}
+
+	NSView view ()
+	{
+		return invokeObjcSelf!(NSView, "view");
+	}
+
+	bool isHighlighted ()
+	{
+		return invokeObjcSelf!(bool, "isHighlighted");
+	}
+
+	void setHidden (bool hidden)
+	{
+		return invokeObjcSelf!(void, "setHidden:", bool)(hidden);
+	}
+
+	bool isHidden ()
+	{
+		return invokeObjcSelf!(bool, "isHidden");
+	}
+
+	bool isHiddenOrHasHiddenAncestor ()
+	{
+		return invokeObjcSelf!(bool, "isHiddenOrHasHiddenAncestor");
+	}
+
+	void setToolTip (NSString toolTip)
+	{
+		return invokeObjcSelf!(void, "setToolTip:", NSString)(toolTip);
+	}
+
+	NSString toolTip ()
+	{
+		return invokeObjcSelf!(NSString, "toolTip");
+	}
+}
+
+interface INSMenuItem
+{
+	static void setUsesUserKeyEquivalents (bool flag);
+	static bool usesUserKeyEquivalents ();
+	static NSMenuItem separatorItem ();
+	Object initWithTitle (NSString aString, SEL aSelector, NSString charCode);
+	void setMenu (NSMenu menu);
+	NSMenu menu ();
+	bool hasSubmenu ();
+	void setSubmenu (NSMenu submenu);
+	NSMenu submenu ();
+	void setTitle (NSString aString);
+	NSString title ();
+	void setAttributedTitle (NSAttributedString string);
+	NSAttributedString attributedTitle ();
+	bool isSeparatorItem ();
+	void setKeyEquivalent (NSString aKeyEquivalent);
+	NSString keyEquivalent ();
+	void setKeyEquivalentModifierMask (NSUInteger mask);
+	NSUInteger keyEquivalentModifierMask ();
+	NSString userKeyEquivalent ();
+	void setMnemonicLocation (NSUInteger location);
+	NSUInteger mnemonicLocation ();
+	NSString mnemonic ();
+	void setTitleWithMnemonic (NSString stringWithAmpersand);
+	void setImage (NSImage menuImage);
+	NSImage image ();
+	void setState (NSInteger state);
+	NSInteger state ();
+	void setOnStateImage (NSImage image);
+	NSImage onStateImage ();
+	void setOffStateImage (NSImage image);
+	NSImage offStateImage ();
+	void setMixedStateImage (NSImage image);
+	NSImage mixedStateImage ();
+	void setEnabled (bool flag);
+	bool isEnabled ();
+	void setAlternate (bool isAlternate);
+	bool isAlternate ();
+	void setIndentationLevel (NSInteger indentationLevel);
+	NSInteger indentationLevel ();
+	void setTarget (Object anObject);
+	Object target ();
+	void setAction (SEL aSelector);
+	SEL action ();
+	void setTag (NSInteger anInt);
+	NSInteger tag ();
+	void setRepresentedObject (Object anObject);
+	Object representedObject ();
+	void setView (NSView view);
+	NSView view ();
+	bool isHighlighted ();
+	void setHidden (bool hidden);
+	bool isHidden ();
+	bool isHiddenOrHasHiddenAncestor ();
+	void setToolTip (NSString toolTip);
+	NSString toolTip ();
+}
+
+const TNSViewEnclosingMenuItem = `
+
+	NSMenuItem enclosingMenuItem ()
+	{
+		return invokeObjcSelf!(NSMenuItem, "enclosingMenuItem");
+	}
+
+	//mixin ObjcBindMethod!(enclosingMenuItem, "enclosingMenuItem");
+
+`;
+