diff dstep/appkit/NSToolbar.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/NSToolbar.d	Sun Jan 03 22:06:11 2010 +0100
@@ -0,0 +1,254 @@
+/**
+ * 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.NSToolbar;
+
+import dstep.appkit.AppKitDefines;
+import dstep.appkit.NSToolbarItem;
+import dstep.appkit.NSWindow;
+import dstep.foundation.NSArray;
+import dstep.foundation.NSDictionary;
+import dstep.foundation.NSNotification;
+import dstep.foundation.NSObjCRuntime;
+import dstep.foundation.NSObject;
+import dstep.foundation.NSString;
+import dstep.objc.bridge.Bridge;
+import dstep.objc.objc;
+
+import bindings = dstep.appkit.NSToolbar_bindings;
+
+typedef NSUInteger NSToolbarDisplayMode;
+typedef NSUInteger NSToolbarSizeMode;
+
+private
+{
+	NSString NSToolbarWillAddItemNotification_;
+	NSString NSToolbarDidRemoveItemNotification_;
+}
+
+NSString NSToolbarWillAddItemNotification ()
+{
+	if (NSToolbarWillAddItemNotification_)
+		return NSToolbarWillAddItemNotification_;
+
+	return NSToolbarWillAddItemNotification_ = new NSString(bindings.NSToolbarWillAddItemNotification);
+}
+
+NSString NSToolbarDidRemoveItemNotification ()
+{
+	if (NSToolbarDidRemoveItemNotification_)
+		return NSToolbarDidRemoveItemNotification_;
+
+	return NSToolbarDidRemoveItemNotification_ = new NSString(bindings.NSToolbarDidRemoveItemNotification);
+}
+
+enum : NSUInteger
+{
+	NSToolbarDisplayModeDefault,
+	NSToolbarDisplayModeIconAndLabel,
+	NSToolbarDisplayModeIconOnly,
+	NSToolbarDisplayModeLabelOnly
+}
+
+enum : NSUInteger
+{
+	NSToolbarSizeModeDefault,
+	NSToolbarSizeModeRegular,
+	NSToolbarSizeModeSmall
+}
+
+class NSToolbar : NSObject
+{
+	mixin (ObjcWrap);
+
+	NSToolbar initWithIdentifier (NSString identifier)
+	{
+		id result = invokeObjcSelf!(id, "initWithIdentifier:", NSString)(identifier);
+		return result is this.objcObject ? this : (result !is null ? new NSToolbar(result) : null);
+	}
+
+	this (NSString identifier)
+	{
+		super(NSToolbar.alloc.initWithIdentifier(identifier).objcObject);
+	}
+
+	void insertItemWithItemIdentifier (NSString itemIdentifier, NSInteger index)
+	{
+		return invokeObjcSelf!(void, "insertItemWithItemIdentifier:atIndex:", NSString, NSInteger)(itemIdentifier, index);
+	}
+
+	void removeItemAtIndex (NSInteger index)
+	{
+		return invokeObjcSelf!(void, "removeItemAtIndex:", NSInteger)(index);
+	}
+
+	void setDelegate (Object delegate_)
+	{
+		return invokeObjcSelf!(void, "setDelegate:", Object)(delegate_);
+	}
+
+	Object delegate_ ()
+	{
+		return invokeObjcSelf!(Object, "delegate");
+	}
+
+	void setVisible (bool shown)
+	{
+		return invokeObjcSelf!(void, "setVisible:", bool)(shown);
+	}
+
+	bool isVisible ()
+	{
+		return invokeObjcSelf!(bool, "isVisible");
+	}
+
+	void runCustomizationPalette (Object sender)
+	{
+		return invokeObjcSelf!(void, "runCustomizationPalette:", Object)(sender);
+	}
+
+	bool customizationPaletteIsRunning ()
+	{
+		return invokeObjcSelf!(bool, "customizationPaletteIsRunning");
+	}
+
+	void setDisplayMode (uint displayMode)
+	{
+		return invokeObjcSelf!(void, "setDisplayMode:", uint)(displayMode);
+	}
+
+	uint displayMode ()
+	{
+		return invokeObjcSelf!(uint, "displayMode");
+	}
+
+	void setSelectedItemIdentifier (NSString itemIdentifier)
+	{
+		return invokeObjcSelf!(void, "setSelectedItemIdentifier:", NSString)(itemIdentifier);
+	}
+
+	NSString selectedItemIdentifier ()
+	{
+		return invokeObjcSelf!(NSString, "selectedItemIdentifier");
+	}
+
+	void setSizeMode (uint sizeMode)
+	{
+		return invokeObjcSelf!(void, "setSizeMode:", uint)(sizeMode);
+	}
+
+	uint sizeMode ()
+	{
+		return invokeObjcSelf!(uint, "sizeMode");
+	}
+
+	void setShowsBaselineSeparator (bool flag)
+	{
+		return invokeObjcSelf!(void, "setShowsBaselineSeparator:", bool)(flag);
+	}
+
+	bool showsBaselineSeparator ()
+	{
+		return invokeObjcSelf!(bool, "showsBaselineSeparator");
+	}
+
+	void setAllowsUserCustomization (bool allowCustomization)
+	{
+		return invokeObjcSelf!(void, "setAllowsUserCustomization:", bool)(allowCustomization);
+	}
+
+	bool allowsUserCustomization ()
+	{
+		return invokeObjcSelf!(bool, "allowsUserCustomization");
+	}
+
+	NSString identifier ()
+	{
+		return invokeObjcSelf!(NSString, "identifier");
+	}
+
+	NSArray items ()
+	{
+		return invokeObjcSelf!(NSArray, "items");
+	}
+
+	NSArray visibleItems ()
+	{
+		return invokeObjcSelf!(NSArray, "visibleItems");
+	}
+
+	void setAutosavesConfiguration (bool flag)
+	{
+		return invokeObjcSelf!(void, "setAutosavesConfiguration:", bool)(flag);
+	}
+
+	bool autosavesConfiguration ()
+	{
+		return invokeObjcSelf!(bool, "autosavesConfiguration");
+	}
+
+	void setConfigurationFromDictionary (NSDictionary configDict)
+	{
+		return invokeObjcSelf!(void, "setConfigurationFromDictionary:", NSDictionary)(configDict);
+	}
+
+	NSDictionary configurationDictionary ()
+	{
+		return invokeObjcSelf!(NSDictionary, "configurationDictionary");
+	}
+
+	void validateVisibleItems ()
+	{
+		return invokeObjcSelf!(void, "validateVisibleItems");
+	}
+}
+
+const TNSToolbarDelegate = `
+
+	NSToolbarItem toolbar (NSToolbar toolbar, NSString itemIdentifier, bool flag)
+	{
+		return invokeObjcSelf!(NSToolbarItem, "toolbar:itemForItemIdentifier:willBeInsertedIntoToolbar:", NSToolbar, NSString, bool)(toolbar, itemIdentifier, flag);
+	}
+
+	NSArray toolbarDefaultItemIdentifiers (NSToolbar toolbar)
+	{
+		return invokeObjcSelf!(NSArray, "toolbarDefaultItemIdentifiers:", NSToolbar)(toolbar);
+	}
+
+	NSArray toolbarAllowedItemIdentifiers (NSToolbar toolbar)
+	{
+		return invokeObjcSelf!(NSArray, "toolbarAllowedItemIdentifiers:", NSToolbar)(toolbar);
+	}
+
+	NSArray toolbarSelectableItemIdentifiers (NSToolbar toolbar)
+	{
+		return invokeObjcSelf!(NSArray, "toolbarSelectableItemIdentifiers:", NSToolbar)(toolbar);
+	}
+
+	//mixin ObjcBindMethod!(toolbar, "toolbar:itemForItemIdentifier:willBeInsertedIntoToolbar:");
+	//mixin ObjcBindMethod!(toolbarDefaultItemIdentifiers, "toolbarDefaultItemIdentifiers:");
+	//mixin ObjcBindMethod!(toolbarAllowedItemIdentifiers, "toolbarAllowedItemIdentifiers:");
+	//mixin ObjcBindMethod!(toolbarSelectableItemIdentifiers, "toolbarSelectableItemIdentifiers:");
+
+`;
+
+const TNSToolbarNotifications = `
+
+	void toolbarWillAddItem (NSNotification notification)
+	{
+		return invokeObjcSelf!(void, "toolbarWillAddItem:", NSNotification)(notification);
+	}
+
+	void toolbarDidRemoveItem (NSNotification notification)
+	{
+		return invokeObjcSelf!(void, "toolbarDidRemoveItem:", NSNotification)(notification);
+	}
+
+	//mixin ObjcBindMethod!(toolbarWillAddItem, "toolbarWillAddItem:");
+	//mixin ObjcBindMethod!(toolbarDidRemoveItem, "toolbarDidRemoveItem:");
+
+`;
+