view 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 source

/**
 * 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");

`;