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

import dstep.appkit.NSButton;
import dstep.appkit.NSMenu;
import dstep.appkit.NSMenuItem;
import dstep.appkit.NSMenuItemCell;
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.NSPopUpButton_bindings;

private
{
	NSString NSPopUpButtonWillPopUpNotification_;
}

NSString NSPopUpButtonWillPopUpNotification ()
{
	if (NSPopUpButtonWillPopUpNotification_)
		return NSPopUpButtonWillPopUpNotification_;

	return NSPopUpButtonWillPopUpNotification_ = new NSString(bindings.NSPopUpButtonWillPopUpNotification);
}

class NSPopUpButton : NSButton
{
	mixin (ObjcWrap);

	NSPopUpButton initWithFrame (NSRect buttonFrame, bool flag)
	{
		id result = invokeObjcSelf!(id, "initWithFrame:pullsDown:", NSRect, bool)(buttonFrame, flag);
		return result is this.objcObject ? this : (result !is null ? new NSPopUpButton(result) : null);
	}

	this (NSRect buttonFrame, bool flag)
	{
		super(NSPopUpButton.alloc.initWithFrame(buttonFrame, flag).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 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");
	}
}