Mercurial > projects > dstep
diff dstep/appkit/NSSegmentedCell.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/NSSegmentedCell.d Sun Jan 03 22:06:11 2010 +0100 @@ -0,0 +1,201 @@ +/** + * 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.NSSegmentedCell; + +import dstep.appkit.NSActionCell; +import dstep.appkit.NSImage; +import dstep.appkit.NSMenu; +import dstep.appkit.NSSegmentedControl; +import dstep.appkit.NSView; +import dstep.applicationservices.coregraphics.CGBase; +import dstep.foundation.NSArray; +import dstep.foundation.NSObjCRuntime; +import dstep.foundation.NSGeometry; +import dstep.foundation.NSString; +import dstep.objc.bridge.Bridge; +import dstep.objc.objc; + +typedef NSUInteger NSSegmentSwitchTracking; + +enum : NSUInteger +{ + NSSegmentSwitchTrackingSelectOne = 0, + NSSegmentSwitchTrackingSelectAny = 1, + NSSegmentSwitchTrackingMomentary = 2 +} + +const TNSSegmentBackgroundStyle = ` + + int interiorBackgroundStyleForSegment (NSInteger segment) + { + return invokeObjcSelf!(int, "interiorBackgroundStyleForSegment:", NSInteger)(segment); + } + + //mixin ObjcBindMethod!(interiorBackgroundStyleForSegment, "interiorBackgroundStyleForSegment:"); + +`; + +class NSSegmentedCell : NSActionCell +{ + mixin (ObjcWrap); + + void setSegmentCount (NSInteger count) + { + return invokeObjcSelf!(void, "setSegmentCount:", NSInteger)(count); + } + + NSInteger segmentCount () + { + return invokeObjcSelf!(NSInteger, "segmentCount"); + } + + void setSelectedSegment (NSInteger selectedSegment) + { + return invokeObjcSelf!(void, "setSelectedSegment:", NSInteger)(selectedSegment); + } + + NSInteger selectedSegment () + { + return invokeObjcSelf!(NSInteger, "selectedSegment"); + } + + bool selectSegmentWithTag (NSInteger tag) + { + return invokeObjcSelf!(bool, "selectSegmentWithTag:", NSInteger)(tag); + } + + void makeNextSegmentKey () + { + return invokeObjcSelf!(void, "makeNextSegmentKey"); + } + + void makePreviousSegmentKey () + { + return invokeObjcSelf!(void, "makePreviousSegmentKey"); + } + + void setTrackingMode (uint trackingMode) + { + return invokeObjcSelf!(void, "setTrackingMode:", uint)(trackingMode); + } + + uint trackingMode () + { + return invokeObjcSelf!(uint, "trackingMode"); + } + + void setWidth (CGFloat width, NSInteger segment) + { + return invokeObjcSelf!(void, "setWidth:forSegment:", CGFloat, NSInteger)(width, segment); + } + + CGFloat widthForSegment (NSInteger segment) + { + return invokeObjcSelf!(CGFloat, "widthForSegment:", NSInteger)(segment); + } + + void setImage (NSImage image, NSInteger segment) + { + return invokeObjcSelf!(void, "setImage:forSegment:", NSImage, NSInteger)(image, segment); + } + + NSImage imageForSegment (NSInteger segment) + { + return invokeObjcSelf!(NSImage, "imageForSegment:", NSInteger)(segment); + } + + void setImageScaling (uint scaling, NSInteger segment) + { + return invokeObjcSelf!(void, "setImageScaling:forSegment:", uint, NSInteger)(scaling, segment); + } + + uint imageScalingForSegment (NSInteger segment) + { + return invokeObjcSelf!(uint, "imageScalingForSegment:", NSInteger)(segment); + } + + void setLabel (NSString label, NSInteger segment) + { + return invokeObjcSelf!(void, "setLabel:forSegment:", NSString, NSInteger)(label, segment); + } + + NSString labelForSegment (NSInteger segment) + { + return invokeObjcSelf!(NSString, "labelForSegment:", NSInteger)(segment); + } + + void setSelected (bool selected, NSInteger segment) + { + return invokeObjcSelf!(void, "setSelected:forSegment:", bool, NSInteger)(selected, segment); + } + + bool isSelectedForSegment (NSInteger segment) + { + return invokeObjcSelf!(bool, "isSelectedForSegment:", NSInteger)(segment); + } + + void setEnabled (bool enabled, NSInteger segment) + { + return invokeObjcSelf!(void, "setEnabled:forSegment:", bool, NSInteger)(enabled, segment); + } + + bool isEnabledForSegment (NSInteger segment) + { + return invokeObjcSelf!(bool, "isEnabledForSegment:", NSInteger)(segment); + } + + void setMenu (NSMenu menu, NSInteger segment) + { + return invokeObjcSelf!(void, "setMenu:forSegment:", NSMenu, NSInteger)(menu, segment); + } + + NSMenu menuForSegment (NSInteger segment) + { + return invokeObjcSelf!(NSMenu, "menuForSegment:", NSInteger)(segment); + } + + void setToolTip (NSString toolTip, NSInteger segment) + { + return invokeObjcSelf!(void, "setToolTip:forSegment:", NSString, NSInteger)(toolTip, segment); + } + + NSString toolTipForSegment (NSInteger segment) + { + return invokeObjcSelf!(NSString, "toolTipForSegment:", NSInteger)(segment); + } + + void setTag (NSInteger tag, NSInteger segment) + { + return invokeObjcSelf!(void, "setTag:forSegment:", NSInteger, NSInteger)(tag, segment); + } + + NSInteger tagForSegment (NSInteger segment) + { + return invokeObjcSelf!(NSInteger, "tagForSegment:", NSInteger)(segment); + } + + void setSegmentStyle (int segmentStyle) + { + return invokeObjcSelf!(void, "setSegmentStyle:", int)(segmentStyle); + } + + int segmentStyle () + { + return invokeObjcSelf!(int, "segmentStyle"); + } + + void drawSegment (NSInteger segment, NSRect frame, NSView controlView) + { + return invokeObjcSelf!(void, "drawSegment:inFrame:withView:", NSInteger, NSRect, NSView)(segment, frame, controlView); + } + + // NSSegmentBackgroundStyle + int interiorBackgroundStyleForSegment (NSInteger segment) + { + return invokeObjcSelf!(int, "interiorBackgroundStyleForSegment:", NSInteger)(segment); + } +} \ No newline at end of file