view dstep/appkit/NSToolbarItem.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.NSToolbarItem;

import dstep.appkit.NSImage;
import dstep.appkit.NSMenuItem;
import dstep.appkit.NSText;
import dstep.appkit.NSToolbar;
import dstep.appkit.NSUserInterfaceValidation;
import dstep.appkit.NSView;
import dstep.foundation.NSGeometry;
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;

import bindings = dstep.appkit.NSToolbarItem_bindings;

private
{
	NSString NSToolbarSeparatorItemIdentifier_;
	NSString NSToolbarSpaceItemIdentifier_;
	NSString NSToolbarFlexibleSpaceItemIdentifier_;
	NSString NSToolbarShowColorsItemIdentifier_;
	NSString NSToolbarShowFontsItemIdentifier_;
	NSString NSToolbarCustomizeToolbarItemIdentifier_;
	NSString NSToolbarPrintItemIdentifier_;
}

NSString NSToolbarSeparatorItemIdentifier ()
{
	if (NSToolbarSeparatorItemIdentifier_)
		return NSToolbarSeparatorItemIdentifier_;

	return NSToolbarSeparatorItemIdentifier_ = new NSString(bindings.NSToolbarSeparatorItemIdentifier);
}

NSString NSToolbarSpaceItemIdentifier ()
{
	if (NSToolbarSpaceItemIdentifier_)
		return NSToolbarSpaceItemIdentifier_;

	return NSToolbarSpaceItemIdentifier_ = new NSString(bindings.NSToolbarSpaceItemIdentifier);
}

NSString NSToolbarFlexibleSpaceItemIdentifier ()
{
	if (NSToolbarFlexibleSpaceItemIdentifier_)
		return NSToolbarFlexibleSpaceItemIdentifier_;

	return NSToolbarFlexibleSpaceItemIdentifier_ = new NSString(bindings.NSToolbarFlexibleSpaceItemIdentifier);
}

NSString NSToolbarShowColorsItemIdentifier ()
{
	if (NSToolbarShowColorsItemIdentifier_)
		return NSToolbarShowColorsItemIdentifier_;

	return NSToolbarShowColorsItemIdentifier_ = new NSString(bindings.NSToolbarShowColorsItemIdentifier);
}

NSString NSToolbarShowFontsItemIdentifier ()
{
	if (NSToolbarShowFontsItemIdentifier_)
		return NSToolbarShowFontsItemIdentifier_;

	return NSToolbarShowFontsItemIdentifier_ = new NSString(bindings.NSToolbarShowFontsItemIdentifier);
}

NSString NSToolbarCustomizeToolbarItemIdentifier ()
{
	if (NSToolbarCustomizeToolbarItemIdentifier_)
		return NSToolbarCustomizeToolbarItemIdentifier_;

	return NSToolbarCustomizeToolbarItemIdentifier_ = new NSString(bindings.NSToolbarCustomizeToolbarItemIdentifier);
}

NSString NSToolbarPrintItemIdentifier ()
{
	if (NSToolbarPrintItemIdentifier_)
		return NSToolbarPrintItemIdentifier_;

	return NSToolbarPrintItemIdentifier_ = new NSString(bindings.NSToolbarPrintItemIdentifier);
}

enum
{
	NSToolbarItemVisibilityPriorityStandard = 0,
	NSToolbarItemVisibilityPriorityLow = -1000,
	NSToolbarItemVisibilityPriorityHigh = 1000,
	NSToolbarItemVisibilityPriorityUser = 2000
}

class NSToolbarItem : NSObject, INSCopying, INSValidatedUserInterfaceItem
{
	mixin (ObjcWrap);
	
	typeof(this) copyWithZone (NSZone* zone)
	{
		return invokeObjcSelf!(typeof(this), "copyWithZone:", NSZone*)(zone);
	}

	NSToolbarItem initWithItemIdentifier (NSString itemIdentifier)
	{
		id result = invokeObjcSelf!(id, "initWithItemIdentifier:", NSString)(itemIdentifier);
		return result is this.objcObject ? this : (result !is null ? new NSToolbarItem(result) : null);
	}

	this (NSString itemIdentifier)
	{
		super(NSToolbarItem.alloc.initWithItemIdentifier(itemIdentifier).objcObject);
	}

	NSString itemIdentifier ()
	{
		return invokeObjcSelf!(NSString, "itemIdentifier");
	}

	NSToolbar toolbar ()
	{
		return invokeObjcSelf!(NSToolbar, "toolbar");
	}

	void setLabel (NSString label)
	{
		return invokeObjcSelf!(void, "setLabel:", NSString)(label);
	}

	NSString label ()
	{
		return invokeObjcSelf!(NSString, "label");
	}

	void setPaletteLabel (NSString paletteLabel)
	{
		return invokeObjcSelf!(void, "setPaletteLabel:", NSString)(paletteLabel);
	}

	NSString paletteLabel ()
	{
		return invokeObjcSelf!(NSString, "paletteLabel");
	}

	void setToolTip (NSString toolTip)
	{
		return invokeObjcSelf!(void, "setToolTip:", NSString)(toolTip);
	}

	NSString toolTip ()
	{
		return invokeObjcSelf!(NSString, "toolTip");
	}

	void setMenuFormRepresentation (NSMenuItem menuItem)
	{
		return invokeObjcSelf!(void, "setMenuFormRepresentation:", NSMenuItem)(menuItem);
	}

	NSMenuItem menuFormRepresentation ()
	{
		return invokeObjcSelf!(NSMenuItem, "menuFormRepresentation");
	}

	void setTag (NSInteger tag)
	{
		return invokeObjcSelf!(void, "setTag:", NSInteger)(tag);
	}

	NSInteger tag ()
	{
		return invokeObjcSelf!(NSInteger, "tag");
	}

	void setTarget (Object target)
	{
		return invokeObjcSelf!(void, "setTarget:", Object)(target);
	}

	Object target ()
	{
		return invokeObjcSelf!(Object, "target");
	}

	void setAction (SEL action)
	{
		return invokeObjcSelf!(void, "setAction:", SEL)(action);
	}

	SEL action ()
	{
		return invokeObjcSelf!(SEL, "action");
	}

	void setEnabled (bool enabled)
	{
		return invokeObjcSelf!(void, "setEnabled:", bool)(enabled);
	}

	bool isEnabled ()
	{
		return invokeObjcSelf!(bool, "isEnabled");
	}

	void setImage (NSImage image)
	{
		return invokeObjcSelf!(void, "setImage:", NSImage)(image);
	}

	NSImage image ()
	{
		return invokeObjcSelf!(NSImage, "image");
	}

	void setView (NSView view)
	{
		return invokeObjcSelf!(void, "setView:", NSView)(view);
	}

	NSView view ()
	{
		return invokeObjcSelf!(NSView, "view");
	}

	void setMinSize (NSSize size)
	{
		return invokeObjcSelf!(void, "setMinSize:", NSSize)(size);
	}

	NSSize minSize ()
	{
		return invokeObjcSelf!(NSSize, "minSize");
	}

	void setMaxSize (NSSize size)
	{
		return invokeObjcSelf!(void, "setMaxSize:", NSSize)(size);
	}

	NSSize maxSize ()
	{
		return invokeObjcSelf!(NSSize, "maxSize");
	}

	void setVisibilityPriority (NSInteger visibilityPriority)
	{
		return invokeObjcSelf!(void, "setVisibilityPriority:", NSInteger)(visibilityPriority);
	}

	NSInteger visibilityPriority ()
	{
		return invokeObjcSelf!(NSInteger, "visibilityPriority");
	}

	void validate ()
	{
		return invokeObjcSelf!(void, "validate");
	}

	void setAutovalidates (bool resistance)
	{
		return invokeObjcSelf!(void, "setAutovalidates:", bool)(resistance);
	}

	bool autovalidates ()
	{
		return invokeObjcSelf!(bool, "autovalidates");
	}

	bool allowsDuplicatesInToolbar ()
	{
		return invokeObjcSelf!(bool, "allowsDuplicatesInToolbar");
	}
}

const TNSToolbarItemValidation = `

	bool validateToolbarItem (NSToolbarItem theItem)
	{
		return invokeObjcSelf!(bool, "validateToolbarItem:", NSToolbarItem)(theItem);
	}

	//mixin ObjcBindMethod!(validateToolbarItem, "validateToolbarItem:");

`;