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

import dstep.appkit.NSMenu;
import dstep.appkit.NSMenuItem;
import dstep.appkit.NSMenuItemCell;
import dstep.appkit.NSView;
import dstep.foundation.NSArray;
import dstep.foundation.NSGeometry;
import dstep.foundation.NSObjCRuntime;
import dstep.foundation.NSString;
import dstep.objc.bridge.Bridge;
import dstep.objc.objc;

import bindings = dstep.appkit.NSPopUpButtonCell_bindings;

typedef NSUInteger NSPopUpArrowPosition;

private
{
	NSString NSPopUpButtonCellWillPopUpNotification_;
}

NSString NSPopUpButtonCellWillPopUpNotification ()
{
	if (NSPopUpButtonCellWillPopUpNotification_)
		return NSPopUpButtonCellWillPopUpNotification_;

	return NSPopUpButtonCellWillPopUpNotification_ = new NSString(bindings.NSPopUpButtonCellWillPopUpNotification);
}

enum
{
	NSPopUpNoArrow = 0,
	NSPopUpArrowAtCenter = 1,
	NSPopUpArrowAtBottom = 2
}

class NSPopUpButtonCell : NSMenuItemCell
{
	mixin (ObjcWrap);

	NSPopUpButtonCell initTextCell (NSString stringValue, bool pullDown)
	{
		id result = invokeObjcSelf!(id, "initTextCell:pullsDown:", NSString, bool)(stringValue, pullDown);
		return result is this.objcObject ? this : (result !is null ? new NSPopUpButtonCell(result) : null);
	}

	this (NSString stringValue, bool pullDown)
	{
		super(NSPopUpButtonCell.alloc.initTextCell(stringValue, pullDown).objcObject);
	}

	void setMenu (NSMenu menu)
	{
		return invokeObjcSelf!(void, "setMenu:", NSMenu)(menu);
	}

	NSMenu menu ()
	{
		return invokeObjcSelf!(NSMenu, "menu");
	}

	void setPullsDown (bool flag)
	{
		return invokeObjcSelf!(void, "setPullsDown:", bool)(flag);
	}

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

	void setAutoenablesItems (bool flag)
	{
		return invokeObjcSelf!(void, "setAutoenablesItems:", bool)(flag);
	}

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

	void setPreferredEdge (int edge)
	{
		return invokeObjcSelf!(void, "setPreferredEdge:", int)(edge);
	}

	int preferredEdge ()
	{
		return invokeObjcSelf!(int, "preferredEdge");
	}

	void setUsesItemFromMenu (bool flag)
	{
		return invokeObjcSelf!(void, "setUsesItemFromMenu:", bool)(flag);
	}

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

	void setAltersStateOfSelectedItem (bool flag)
	{
		return invokeObjcSelf!(void, "setAltersStateOfSelectedItem:", bool)(flag);
	}

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

	void addItemWithTitle (NSString title)
	{
		return invokeObjcSelf!(void, "addItemWithTitle:", NSString)(title);
	}

	void addItemsWithTitles (NSArray itemTitles)
	{
		return invokeObjcSelf!(void, "addItemsWithTitles:", NSArray)(itemTitles);
	}

	void insertItemWithTitle (NSString title, NSInteger index)
	{
		return invokeObjcSelf!(void, "insertItemWithTitle:atIndex:", NSString, NSInteger)(title, index);
	}

	void removeItemWithTitle (NSString title)
	{
		return invokeObjcSelf!(void, "removeItemWithTitle:", NSString)(title);
	}

	void removeItemAtIndex (NSInteger index)
	{
		return invokeObjcSelf!(void, "removeItemAtIndex:", NSInteger)(index);
	}

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

	NSArray itemArray ()
	{
		return invokeObjcSelf!(NSArray, "itemArray");
	}

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

	NSInteger indexOfItem (NSMenuItem item)
	{
		return invokeObjcSelf!(NSInteger, "indexOfItem:", NSMenuItem)(item);
	}

	NSInteger indexOfItemWithTitle (NSString title)
	{
		return invokeObjcSelf!(NSInteger, "indexOfItemWithTitle:", NSString)(title);
	}

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

	NSInteger indexOfItemWithRepresentedObject (Object obj)
	{
		return invokeObjcSelf!(NSInteger, "indexOfItemWithRepresentedObject:", Object)(obj);
	}

	NSInteger indexOfItemWithTarget (Object target, SEL actionSelector)
	{
		return invokeObjcSelf!(NSInteger, "indexOfItemWithTarget:andAction:", Object, SEL)(target, actionSelector);
	}

	NSMenuItem itemAtIndex (NSInteger index)
	{
		return invokeObjcSelf!(NSMenuItem, "itemAtIndex:", NSInteger)(index);
	}

	NSMenuItem itemWithTitle (NSString title)
	{
		return invokeObjcSelf!(NSMenuItem, "itemWithTitle:", NSString)(title);
	}

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

	void selectItem (NSMenuItem item)
	{
		return invokeObjcSelf!(void, "selectItem:", NSMenuItem)(item);
	}

	void selectItemAtIndex (NSInteger index)
	{
		return invokeObjcSelf!(void, "selectItemAtIndex:", NSInteger)(index);
	}

	void selectItemWithTitle (NSString title)
	{
		return invokeObjcSelf!(void, "selectItemWithTitle:", NSString)(title);
	}

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

	void setTitle (NSString aString)
	{
		return invokeObjcSelf!(void, "setTitle:", NSString)(aString);
	}

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

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

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

	NSString itemTitleAtIndex (NSInteger index)
	{
		return invokeObjcSelf!(NSString, "itemTitleAtIndex:", NSInteger)(index);
	}

	NSArray itemTitles ()
	{
		return invokeObjcSelf!(NSArray, "itemTitles");
	}

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

	void attachPopUpWithFrame (NSRect cellFrame, NSView controlView)
	{
		return invokeObjcSelf!(void, "attachPopUpWithFrame:inView:", NSRect, NSView)(cellFrame, controlView);
	}

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

	void performClickWithFrame (NSRect frame, NSView controlView)
	{
		return invokeObjcSelf!(void, "performClickWithFrame:inView:", NSRect, NSView)(frame, controlView);
	}

	uint arrowPosition ()
	{
		return invokeObjcSelf!(uint, "arrowPosition");
	}

	void setArrowPosition (uint position)
	{
		return invokeObjcSelf!(void, "setArrowPosition:", uint)(position);
	}

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

	void setObjectValue (Object obj)
	{
		return invokeObjcSelf!(void, "setObjectValue:", Object)(obj);
	}
}