# HG changeset patch # User Jacob Carlborg # Date 1228767780 -3600 # Node ID 6914d8d302deabaab3877daeb28ad0c3eb7c0532 # Parent 858e9a565d62dfcbc05a320df96fce937073dd2c Updated ColorDialog to 3.514 diff -r 858e9a565d62 -r 6914d8d302de dwt/internal/cocoa/OS.d --- a/dwt/internal/cocoa/OS.d Sun Dec 07 21:40:42 2008 +0100 +++ b/dwt/internal/cocoa/OS.d Mon Dec 08 21:23:00 2008 +0100 @@ -1202,7 +1202,7 @@ /** JNI natives */ /** @method flags=jni */ -static void* NewGlobalRef (Object object) +public static void* NewGlobalRef (Object object) { return cast(void*) object; } @@ -1210,9 +1210,9 @@ * @method flags=jni * @param globalRef cast=(jobject) */ -//public static final native void DeleteGlobalRef(int /*long*/ globalRef); +//public static final void DeleteGlobalRef(void* globalRef){} /** @method flags=no_gen */ -static Object JNIGetObject (void* globalRef) +public static Object JNIGetObject (void* globalRef) { return cast(Object) globalRef; } diff -r 858e9a565d62 -r 6914d8d302de dwt/widgets/ColorDialog.d --- a/dwt/widgets/ColorDialog.d Sun Dec 07 21:40:42 2008 +0100 +++ b/dwt/widgets/ColorDialog.d Mon Dec 08 21:23:00 2008 +0100 @@ -25,7 +25,7 @@ import dwt.internal.cocoa.SWTPanelDelegate; import dwt.dwthelper.utils; -import dwt.internal.cocoa.NSInteger; +import dwt.internal.objc.cocoa.Cocoa; import dwt.widgets.Dialog; import dwt.widgets.Display; import dwt.widgets.Shell; @@ -50,126 +50,125 @@ public class ColorDialog : Dialog { RGB rgb; - /** - * Constructs a new instance of this class given only its parent. - * - * @param parent a composite control which will be the parent of the new instance - * - * @exception IllegalArgumentException - * @exception DWTException - * - * @see DWT - * @see Widget#checkSubclass - * @see Widget#getStyle - */ - public this(Shell parent) { - this(parent, DWT.APPLICATION_MODAL); - } - - /** - * Constructs a new instance of this class given its parent - * and a style value describing its behavior and appearance. - *

- * The style value is either one of the style constants defined in - * class DWT which is applicable to instances of this - * class, or must be built by bitwise OR'ing together - * (that is, using the int "|" operator) two or more - * of those DWT style constants. The class description - * lists the style constants that are applicable to the class. - * Style bits are also inherited from superclasses. - *

- * - * @param parent a composite control which will be the parent of the new instance (cannot be null) - * @param style the style of control to construct - * - * @exception IllegalArgumentException - * @exception DWTException - * - * @see DWT - * @see Widget#checkSubclass - * @see Widget#getStyle - */ - public this(Shell parent, int style) { +/** + * Constructs a new instance of this class given only its parent. + * + * @param parent a composite control which will be the parent of the new instance + * + * @exception IllegalArgumentException + * @exception DWTException + * + * @see DWT + * @see Widget#checkSubclass + * @see Widget#getStyle + */ +public this(Shell parent) { + this(parent, DWT.APPLICATION_MODAL); +} + +/** + * Constructs a new instance of this class given its parent + * and a style value describing its behavior and appearance. + *

+ * The style value is either one of the style constants defined in + * class DWT which is applicable to instances of this + * class, or must be built by bitwise OR'ing together + * (that is, using the int "|" operator) two or more + * of those DWT style constants. The class description + * lists the style constants that are applicable to the class. + * Style bits are also inherited from superclasses. + *

+ * + * @param parent a composite control which will be the parent of the new instance (cannot be null) + * @param style the style of control to construct + * + * @exception IllegalArgumentException + * @exception DWTException + * + * @see DWT + * @see Widget#checkSubclass + * @see Widget#getStyle + */ +public this(Shell parent, int style) { super (parent, checkStyle (parent, style)); - checkSubclass (); - } + checkSubclass (); +} void changeColor(objc.id id, objc.SEL sel, objc.id sender) { - //TODO - } - - /** - * Returns the currently selected color in the receiver. - * - * @return the RGB value for the selected color, may be null - * - * @see PaletteData#getRGBs - */ - public RGB getRGB() { - return rgb; + //TODO +} + +/** + * Returns the currently selected color in the receiver. + * + * @return the RGB value for the selected color, may be null + * + * @see PaletteData#getRGBs + */ +public RGB getRGB() { + return rgb; +} + +/** + * Makes the receiver visible and brings it to the front + * of the display. + * + * @return the selected color, or null if the dialog was + * cancelled, no color was selected, or an error + * occurred + * + * @exception DWTException + */ +public RGB open() { + NSColorPanel panel = NSColorPanel.sharedColorPanel(); + if (rgb !is null) { + NSColor color = NSColor.colorWithDeviceRed(rgb.red / 255f, rgb.green / 255f, rgb.blue / 255f, 1); + panel.setColor(color); } - - /** - * Makes the receiver visible and brings it to the front - * of the display. - * - * @return the selected color, or null if the dialog was - * cancelled, no color was selected, or an error - * occurred - * - * @exception DWTException - */ - public RGB open() { - NSColorPanel panel = NSColorPanel.sharedColorPanel(); - if (rgb !is null) { - NSColor color = NSColor.colorWithDeviceRed(rgb.red / 255f, rgb.green / 255f, rgb.blue / 255f, 1); - panel.setColor(color); - } - SWTPanelDelegate delegate_ = cast(SWTPanelDelegate)(new SWTPanelDelegate()).alloc().init(); - NSInteger jniRef = OS.NewGlobalRef(this); - if (jniRef is 0) DWT.error(DWT.ERROR_NO_HANDLES); - OS.object_setInstanceVariable(delegate_.id_, Display.DWT_OBJECT, jniRef); - panel.setDelegate(delegate_); - rgb = null; - panel.orderFront(null); + SWTPanelDelegate delegate_ = cast(SWTPanelDelegate)(new SWTPanelDelegate()).alloc().init(); + void* jniRef = OS.NewGlobalRef(this); + if (jniRef is null) DWT.error(DWT.ERROR_NO_HANDLES); + OS.object_setInstanceVariable(delegate_.id, Display.SWT_OBJECT, jniRef); + panel.setDelegate(delegate_); + rgb = null; + panel.orderFront(null); NSApplication.sharedApplication().runModalForWindow(panel); - panel.setDelegate(null); - delegate_.release(); - OS.DeleteGlobalRef(jniRef); - NSColor color = panel.color(); - if (color !is null) { - color = color.colorUsingColorSpaceName(OS.NSCalibratedRGBColorSpace); - rgb = new RGB(cast(int)(color.redComponent() * 255), cast(int)(color.greenComponent() * 255), cast(int)(color.blueComponent() * 255)); - } - return rgb; + panel.setDelegate(null); + delegate_.release(); + NSColor color = panel.color(); + if (color !is null) { + color = color.colorUsingColorSpaceName(OS.NSCalibratedRGBColorSpace); + rgb = new RGB(cast(int)(color.redComponent() * 255), cast(int)(color.greenComponent() * 255), cast(int)(color.blueComponent() * 255)); } - - /** - * Sets the receiver's selected color to be the argument. - * - * @param rgb the new RGB value for the selected color, may be - * null to let the platform select a default when - * open() is called - * @see PaletteData#getRGBs - */ - public void setRGB(RGB rgb) { - this.rgb = rgb; - } + return rgb; +} + +/** + * Sets the receiver's selected color to be the argument. + * + * @param rgb the new RGB value for the selected color, may be + * null to let the platform select a default when + * open() is called + * @see PaletteData#getRGBs + */ +public void setRGB(RGB rgb) { + this.rgb = rgb; +} void windowWillClose(objc.id id, objc.SEL sel, objc.id sender) { - NSApplication.sharedApplication().stop(null); - } - } + NSApplication.sharedApplication().stop(null); +} +}