Mercurial > projects > dstep
view dstep/appkit/NSComboBox.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.NSComboBox; import dstep.appkit.NSTextField; import dstep.applicationservices.coregraphics.CGBase; 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.NSComboBox_bindings; private { NSString NSComboBoxWillPopUpNotification_; NSString NSComboBoxWillDismissNotification_; NSString NSComboBoxSelectionDidChangeNotification_; NSString NSComboBoxSelectionIsChangingNotification_; } NSString NSComboBoxWillPopUpNotification () { if (NSComboBoxWillPopUpNotification_) return NSComboBoxWillPopUpNotification_; return NSComboBoxWillPopUpNotification_ = new NSString(bindings.NSComboBoxWillPopUpNotification); } NSString NSComboBoxWillDismissNotification () { if (NSComboBoxWillDismissNotification_) return NSComboBoxWillDismissNotification_; return NSComboBoxWillDismissNotification_ = new NSString(bindings.NSComboBoxWillDismissNotification); } NSString NSComboBoxSelectionDidChangeNotification () { if (NSComboBoxSelectionDidChangeNotification_) return NSComboBoxSelectionDidChangeNotification_; return NSComboBoxSelectionDidChangeNotification_ = new NSString(bindings.NSComboBoxSelectionDidChangeNotification); } NSString NSComboBoxSelectionIsChangingNotification () { if (NSComboBoxSelectionIsChangingNotification_) return NSComboBoxSelectionIsChangingNotification_; return NSComboBoxSelectionIsChangingNotification_ = new NSString(bindings.NSComboBoxSelectionIsChangingNotification); } class NSComboBox : NSTextField { mixin (ObjcWrap); bool hasVerticalScroller () { return invokeObjcSelf!(bool, "hasVerticalScroller"); } void setHasVerticalScroller (bool flag) { return invokeObjcSelf!(void, "setHasVerticalScroller:", bool)(flag); } NSSize intercellSpacing () { return invokeObjcSelf!(NSSize, "intercellSpacing"); } void setIntercellSpacing (NSSize aSize) { return invokeObjcSelf!(void, "setIntercellSpacing:", NSSize)(aSize); } CGFloat itemHeight () { return invokeObjcSelf!(CGFloat, "itemHeight"); } void setItemHeight (CGFloat itemHeight) { return invokeObjcSelf!(void, "setItemHeight:", CGFloat)(itemHeight); } NSInteger numberOfVisibleItems () { return invokeObjcSelf!(NSInteger, "numberOfVisibleItems"); } void setNumberOfVisibleItems (NSInteger visibleItems) { return invokeObjcSelf!(void, "setNumberOfVisibleItems:", NSInteger)(visibleItems); } void setButtonBordered (bool flag) { return invokeObjcSelf!(void, "setButtonBordered:", bool)(flag); } bool isButtonBordered () { return invokeObjcSelf!(bool, "isButtonBordered"); } void reloadData () { return invokeObjcSelf!(void, "reloadData"); } void noteNumberOfItemsChanged () { return invokeObjcSelf!(void, "noteNumberOfItemsChanged"); } void setUsesDataSource (bool flag) { return invokeObjcSelf!(void, "setUsesDataSource:", bool)(flag); } bool usesDataSource () { return invokeObjcSelf!(bool, "usesDataSource"); } void scrollItemAtIndexToTop (NSInteger index) { return invokeObjcSelf!(void, "scrollItemAtIndexToTop:", NSInteger)(index); } void scrollItemAtIndexToVisible (NSInteger index) { return invokeObjcSelf!(void, "scrollItemAtIndexToVisible:", NSInteger)(index); } void selectItemAtIndex (NSInteger index) { return invokeObjcSelf!(void, "selectItemAtIndex:", NSInteger)(index); } void deselectItemAtIndex (NSInteger index) { return invokeObjcSelf!(void, "deselectItemAtIndex:", NSInteger)(index); } NSInteger indexOfSelectedItem () { return invokeObjcSelf!(NSInteger, "indexOfSelectedItem"); } NSInteger numberOfItems () { return invokeObjcSelf!(NSInteger, "numberOfItems"); } bool completes () { return invokeObjcSelf!(bool, "completes"); } void setCompletes (bool completes) { return invokeObjcSelf!(void, "setCompletes:", bool)(completes); } Object dataSource () { return invokeObjcSelf!(Object, "dataSource"); } void setDataSource (Object aSource) { return invokeObjcSelf!(void, "setDataSource:", Object)(aSource); } void addItemWithObjectValue (Object object) { return invokeObjcSelf!(void, "addItemWithObjectValue:", Object)(object); } void addItemsWithObjectValues (NSArray objects) { return invokeObjcSelf!(void, "addItemsWithObjectValues:", NSArray)(objects); } void insertItemWithObjectValue (Object object, NSInteger index) { return invokeObjcSelf!(void, "insertItemWithObjectValue:atIndex:", Object, NSInteger)(object, index); } void removeItemWithObjectValue (Object object) { return invokeObjcSelf!(void, "removeItemWithObjectValue:", Object)(object); } void removeItemAtIndex (NSInteger index) { return invokeObjcSelf!(void, "removeItemAtIndex:", NSInteger)(index); } void removeAllItems () { return invokeObjcSelf!(void, "removeAllItems"); } void selectItemWithObjectValue (Object object) { return invokeObjcSelf!(void, "selectItemWithObjectValue:", Object)(object); } Object itemObjectValueAtIndex (NSInteger index) { return invokeObjcSelf!(Object, "itemObjectValueAtIndex:", NSInteger)(index); } Object objectValueOfSelectedItem () { return invokeObjcSelf!(Object, "objectValueOfSelectedItem"); } NSInteger indexOfItemWithObjectValue (Object object) { return invokeObjcSelf!(NSInteger, "indexOfItemWithObjectValue:", Object)(object); } NSArray objectValues () { return invokeObjcSelf!(NSArray, "objectValues"); } } const TNSComboBoxDataSource = ` NSInteger numberOfItemsInComboBox (NSComboBox aComboBox) { return invokeObjcSelf!(NSInteger, "numberOfItemsInComboBox:", NSComboBox)(aComboBox); } Object comboBox (NSComboBox aComboBox, NSInteger index) { return invokeObjcSelf!(Object, "comboBox:objectValueForItemAtIndex:", NSComboBox, NSInteger)(aComboBox, index); } NSUInteger comboBox (NSComboBox aComboBox, NSString string) { return invokeObjcSelf!(NSUInteger, "comboBox:indexOfItemWithStringValue:", NSComboBox, NSString)(aComboBox, string); } NSString comboBox (NSComboBox aComboBox, NSString string) { return invokeObjcSelf!(NSString, "comboBox:completedString:", NSComboBox, NSString)(aComboBox, string); } //mixin ObjcBindMethod!(numberOfItemsInComboBox, "numberOfItemsInComboBox:"); //mixin ObjcBindMethod!(comboBox, "comboBox:objectValueForItemAtIndex:"); //mixin ObjcBindMethod!(comboBox, "comboBox:indexOfItemWithStringValue:"); //mixin ObjcBindMethod!(comboBox, "comboBox:completedString:"); `; const TNSComboBoxNotifications = ` void comboBoxWillPopUp (NSNotification notification) { return invokeObjcSelf!(void, "comboBoxWillPopUp:", NSNotification)(notification); } void comboBoxWillDismiss (NSNotification notification) { return invokeObjcSelf!(void, "comboBoxWillDismiss:", NSNotification)(notification); } void comboBoxSelectionDidChange (NSNotification notification) { return invokeObjcSelf!(void, "comboBoxSelectionDidChange:", NSNotification)(notification); } void comboBoxSelectionIsChanging (NSNotification notification) { return invokeObjcSelf!(void, "comboBoxSelectionIsChanging:", NSNotification)(notification); } //mixin ObjcBindMethod!(comboBoxWillPopUp, "comboBoxWillPopUp:"); //mixin ObjcBindMethod!(comboBoxWillDismiss, "comboBoxWillDismiss:"); //mixin ObjcBindMethod!(comboBoxSelectionDidChange, "comboBoxSelectionDidChange:"); //mixin ObjcBindMethod!(comboBoxSelectionIsChanging, "comboBoxSelectionIsChanging:"); `;