Mercurial > projects > dstep
diff dstep/appkit/NSButton.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/NSButton.d Sun Jan 03 22:06:11 2010 +0100 @@ -0,0 +1,327 @@ +/** + * 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.NSButton; + +import dstep.appkit.NSButtonCell; +import dstep.appkit.NSControl; +import dstep.appkit.NSEvent; +import dstep.appkit.NSImage; +import dstep.appkit.NSSound; +import dstep.appkit.NSUserInterfaceValidation; +import dstep.foundation.NSAttributedString; +import dstep.foundation.NSObjCRuntime; +import dstep.foundation.NSString; +import dstep.objc.bridge.Bridge; +import dstep.objc.objc; + +const TNSButtonMixedState = ` + + void setAllowsMixedState (bool flag) + { + return invokeObjcSelf!(void, "setAllowsMixedState:", bool)(flag); + } + + bool allowsMixedState () + { + return invokeObjcSelf!(bool, "allowsMixedState"); + } + + void setNextState () + { + return invokeObjcSelf!(void, "setNextState"); + } + + //mixin ObjcBindMethod!(setAllowsMixedState, "setAllowsMixedState:"); + //mixin ObjcBindMethod!(allowsMixedState, "allowsMixedState"); + //mixin ObjcBindMethod!(setNextState, "setNextState"); + +`; + +const TNSButtonAttributedStringMethods = ` + + NSAttributedString attributedTitle () + { + return invokeObjcSelf!(NSAttributedString, "attributedTitle"); + } + + void setAttributedTitle (NSAttributedString aString) + { + return invokeObjcSelf!(void, "setAttributedTitle:", NSAttributedString)(aString); + } + + NSAttributedString attributedAlternateTitle () + { + return invokeObjcSelf!(NSAttributedString, "attributedAlternateTitle"); + } + + void setAttributedAlternateTitle (NSAttributedString obj) + { + return invokeObjcSelf!(void, "setAttributedAlternateTitle:", NSAttributedString)(obj); + } + + //mixin ObjcBindMethod!(attributedTitle, "attributedTitle"); + //mixin ObjcBindMethod!(setAttributedTitle, "setAttributedTitle:"); + //mixin ObjcBindMethod!(attributedAlternateTitle, "attributedAlternateTitle"); + //mixin ObjcBindMethod!(setAttributedAlternateTitle, "setAttributedAlternateTitle:"); + +`; + +const TNSButtonSoundExtensions = ` + + void setSound (NSSound aSound) + { + return invokeObjcSelf!(void, "setSound:", NSSound)(aSound); + } + + NSSound sound () + { + return invokeObjcSelf!(NSSound, "sound"); + } + + //mixin ObjcBindMethod!(setSound, "setSound:"); + //mixin ObjcBindMethod!(sound, "sound"); + +`; + +const TNSButtonBezelStyles = ` + + void setBezelStyle (uint bezelStyle) + { + return invokeObjcSelf!(void, "setBezelStyle:", uint)(bezelStyle); + } + + uint bezelStyle () + { + return invokeObjcSelf!(uint, "bezelStyle"); + } + + //mixin ObjcBindMethod!(setBezelStyle, "setBezelStyle:"); + //mixin ObjcBindMethod!(bezelStyle, "bezelStyle"); + +`; + +const TNSButtonBorder = ` + + void setShowsBorderOnlyWhileMouseInside (bool show) + { + return invokeObjcSelf!(void, "setShowsBorderOnlyWhileMouseInside:", bool)(show); + } + + bool showsBorderOnlyWhileMouseInside () + { + return invokeObjcSelf!(bool, "showsBorderOnlyWhileMouseInside"); + } + + //mixin ObjcBindMethod!(setShowsBorderOnlyWhileMouseInside, "setShowsBorderOnlyWhileMouseInside:"); + //mixin ObjcBindMethod!(showsBorderOnlyWhileMouseInside, "showsBorderOnlyWhileMouseInside"); + +`; + +class NSButton : NSControl, INSUserInterfaceValidations +{ + mixin (ObjcWrap); + + NSString title () + { + return invokeObjcSelf!(NSString, "title"); + } + + void setTitle (NSString aString) + { + return invokeObjcSelf!(void, "setTitle:", NSString)(aString); + } + + NSString alternateTitle () + { + return invokeObjcSelf!(NSString, "alternateTitle"); + } + + void setAlternateTitle (NSString aString) + { + return invokeObjcSelf!(void, "setAlternateTitle:", NSString)(aString); + } + + NSImage image () + { + return invokeObjcSelf!(NSImage, "image"); + } + + void setImage (NSImage image) + { + return invokeObjcSelf!(void, "setImage:", NSImage)(image); + } + + NSImage alternateImage () + { + return invokeObjcSelf!(NSImage, "alternateImage"); + } + + void setAlternateImage (NSImage image) + { + return invokeObjcSelf!(void, "setAlternateImage:", NSImage)(image); + } + + uint imagePosition () + { + return invokeObjcSelf!(uint, "imagePosition"); + } + + void setImagePosition (uint aPosition) + { + return invokeObjcSelf!(void, "setImagePosition:", uint)(aPosition); + } + + void setButtonType (uint aType) + { + return invokeObjcSelf!(void, "setButtonType:", uint)(aType); + } + + NSInteger state () + { + return invokeObjcSelf!(NSInteger, "state"); + } + + void setState (NSInteger value) + { + return invokeObjcSelf!(void, "setState:", NSInteger)(value); + } + + bool isBordered () + { + return invokeObjcSelf!(bool, "isBordered"); + } + + void setBordered (bool flag) + { + return invokeObjcSelf!(void, "setBordered:", bool)(flag); + } + + bool isTransparent () + { + return invokeObjcSelf!(bool, "isTransparent"); + } + + void setTransparent (bool flag) + { + return invokeObjcSelf!(void, "setTransparent:", bool)(flag); + } + + void setPeriodicDelay (float delay, float interval) + { + return invokeObjcSelf!(void, "setPeriodicDelay:interval:", float, float)(delay, interval); + } + + void getPeriodicDelay (float* delay, float* interval) + { + return invokeObjcSelf!(void, "getPeriodicDelay:interval:", float*, float*)(delay, interval); + } + + NSString keyEquivalent () + { + return invokeObjcSelf!(NSString, "keyEquivalent"); + } + + void setKeyEquivalent (NSString charCode) + { + return invokeObjcSelf!(void, "setKeyEquivalent:", NSString)(charCode); + } + + NSUInteger keyEquivalentModifierMask () + { + return invokeObjcSelf!(NSUInteger, "keyEquivalentModifierMask"); + } + + void setKeyEquivalentModifierMask (NSUInteger mask) + { + return invokeObjcSelf!(void, "setKeyEquivalentModifierMask:", NSUInteger)(mask); + } + + void highlight (bool flag) + { + return invokeObjcSelf!(void, "highlight:", bool)(flag); + } + + bool performKeyEquivalent (NSEvent key) + { + return invokeObjcSelf!(bool, "performKeyEquivalent:", NSEvent)(key); + } + + bool validateUserInterfaceItem (INSValidatedUserInterfaceItem anItem) + { + return invokeObjcSelf!(bool, "validateUserInterfaceItem:", INSValidatedUserInterfaceItem)(anItem); + } + + // NSButtonMixedState + void setAllowsMixedState (bool flag) + { + return invokeObjcSelf!(void, "setAllowsMixedState:", bool)(flag); + } + + bool allowsMixedState () + { + return invokeObjcSelf!(bool, "allowsMixedState"); + } + + void setNextState () + { + return invokeObjcSelf!(void, "setNextState"); + } + + // NSButtonAttributedStringMethods + NSAttributedString attributedTitle () + { + return invokeObjcSelf!(NSAttributedString, "attributedTitle"); + } + + void setAttributedTitle (NSAttributedString aString) + { + return invokeObjcSelf!(void, "setAttributedTitle:", NSAttributedString)(aString); + } + + NSAttributedString attributedAlternateTitle () + { + return invokeObjcSelf!(NSAttributedString, "attributedAlternateTitle"); + } + + void setAttributedAlternateTitle (NSAttributedString obj) + { + return invokeObjcSelf!(void, "setAttributedAlternateTitle:", NSAttributedString)(obj); + } + + // NSButtonSoundExtensions + void setSound (NSSound aSound) + { + return invokeObjcSelf!(void, "setSound:", NSSound)(aSound); + } + + NSSound sound () + { + return invokeObjcSelf!(NSSound, "sound"); + } + + // NSButtonBezelStyles + void setBezelStyle (uint bezelStyle) + { + return invokeObjcSelf!(void, "setBezelStyle:", uint)(bezelStyle); + } + + uint bezelStyle () + { + return invokeObjcSelf!(uint, "bezelStyle"); + } + + // NSButtonBorder + void setShowsBorderOnlyWhileMouseInside (bool show) + { + return invokeObjcSelf!(void, "setShowsBorderOnlyWhileMouseInside:", bool)(show); + } + + bool showsBorderOnlyWhileMouseInside () + { + return invokeObjcSelf!(bool, "showsBorderOnlyWhileMouseInside"); + } +} \ No newline at end of file