Mercurial > projects > dstep
view dstep/appkit/NSColorPanel.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.NSColorPanel; import dstep.appkit.NSApplication; import dstep.appkit.NSColor; import dstep.appkit.NSColorList; import dstep.appkit.NSEvent; import dstep.appkit.NSPanel; import dstep.appkit.NSView; import dstep.applicationservices.coregraphics.CGBase; import dstep.foundation.NSArray; import dstep.foundation.NSObjCRuntime; import dstep.foundation.NSString; import dstep.objc.bridge.Bridge; import dstep.objc.objc; import bindings = dstep.appkit.NSColorPanel_bindings; alias NSInteger NSColorPanelMode; private { NSString NSColorPanelColorDidChangeNotification_; } NSString NSColorPanelColorDidChangeNotification () { if (NSColorPanelColorDidChangeNotification_) return NSColorPanelColorDidChangeNotification_; return NSColorPanelColorDidChangeNotification_ = new NSString(bindings.NSColorPanelColorDidChangeNotification); } enum { NSNoModeColorPanel = -1, NSGrayModeColorPanel = 0, NSRGBModeColorPanel = 1, NSCMYKModeColorPanel = 2, NSHSBModeColorPanel = 3, NSCustomPaletteModeColorPanel = 4, NSColorListModeColorPanel = 5, NSWheelModeColorPanel = 6, NSCrayonModeColorPanel = 7 } enum { NSColorPanelGrayModeMask = 0x00000001, NSColorPanelRGBModeMask = 0x00000002, NSColorPanelCMYKModeMask = 0x00000004, NSColorPanelHSBModeMask = 0x00000008, NSColorPanelCustomPaletteModeMask = 0x00000010, NSColorPanelColorListModeMask = 0x00000020, NSColorPanelWheelModeMask = 0x00000040, NSColorPanelCrayonModeMask = 0x00000080, NSColorPanelAllModesMask = 0x0000ffff } class NSColorPanel : NSPanel { mixin (ObjcWrap); static NSColorPanel sharedColorPanel () { return invokeObjcSelfClass!(NSColorPanel, "sharedColorPanel"); } static bool sharedColorPanelExists () { return invokeObjcSelfClass!(bool, "sharedColorPanelExists"); } static bool dragColor (NSColor color, NSEvent theEvent, NSView sourceView) { return invokeObjcSelfClass!(bool, "dragColor:withEvent:fromView:", NSColor, NSEvent, NSView)(color, theEvent, sourceView); } static void setPickerMask (NSUInteger mask) { return invokeObjcSelfClass!(void, "setPickerMask:", NSUInteger)(mask); } static void setPickerMode (int mode) { return invokeObjcSelfClass!(void, "setPickerMode:", int)(mode); } void setAccessoryView (NSView aView) { return invokeObjcSelf!(void, "setAccessoryView:", NSView)(aView); } NSView accessoryView () { return invokeObjcSelf!(NSView, "accessoryView"); } void setContinuous (bool flag) { return invokeObjcSelf!(void, "setContinuous:", bool)(flag); } bool isContinuous () { return invokeObjcSelf!(bool, "isContinuous"); } void setShowsAlpha (bool flag) { return invokeObjcSelf!(void, "setShowsAlpha:", bool)(flag); } bool showsAlpha () { return invokeObjcSelf!(bool, "showsAlpha"); } void setMode (int mode) { return invokeObjcSelf!(void, "setMode:", int)(mode); } int mode () { return invokeObjcSelf!(int, "mode"); } void setColor (NSColor color) { return invokeObjcSelf!(void, "setColor:", NSColor)(color); } NSColor color () { return invokeObjcSelf!(NSColor, "color"); } CGFloat alpha () { return invokeObjcSelf!(CGFloat, "alpha"); } void setAction (SEL aSelector) { return invokeObjcSelf!(void, "setAction:", SEL)(aSelector); } void setTarget (Object anObject) { return invokeObjcSelf!(void, "setTarget:", Object)(anObject); } void attachColorList (NSColorList colorList) { return invokeObjcSelf!(void, "attachColorList:", NSColorList)(colorList); } void detachColorList (NSColorList colorList) { return invokeObjcSelf!(void, "detachColorList:", NSColorList)(colorList); } } const TNSColorPanelResponderMethod = ` void changeColor (Object sender) { return invokeObjcSelf!(void, "changeColor:", Object)(sender); } //mixin ObjcBindMethod!(changeColor, "changeColor:"); `; const TNSColorPanel = ` void orderFrontColorPanel (Object sender) { return invokeObjcSelf!(void, "orderFrontColorPanel:", Object)(sender); } //mixin ObjcBindMethod!(orderFrontColorPanel, "orderFrontColorPanel:"); `;