diff dwt/widgets/ColorDialog.d @ 37:642f460a0908

Fixed a lot of compile errors, a "hello world" app compiles now
author Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
date Fri, 10 Oct 2008 12:29:48 +0200
parents e831403a80a9
children d8635bb48c7c
line wrap: on
line diff
--- a/dwt/widgets/ColorDialog.d	Tue Oct 07 12:56:18 2008 +0200
+++ b/dwt/widgets/ColorDialog.d	Fri Oct 10 12:29:48 2008 +0200
@@ -7,11 +7,12 @@
  *
  * Contributors:
  *     IBM Corporation - initial API and implementation
+ *     
+ * Port to the D programming language:
+ *     Jacob Carlborg <jacob.carlborg@gmail.com>
  *******************************************************************************/
 module dwt.widgets.ColorDialog;
 
-import dwt.dwthelper.utils;
-
 
 import dwt.DWT;
 import dwt.DWTException;
@@ -24,6 +25,12 @@
 import dwt.internal.cocoa.OS;
 import dwt.internal.cocoa.SWTPanelDelegate;
 
+import dwt.dwthelper.utils;
+import dwt.internal.cocoa.NSInteger;
+import dwt.widgets.Dialog;
+import dwt.widgets.Display;
+import dwt.widgets.Shell;
+
 /**
  * Instances of this class allow the user to select a color
  * from a predefined set of available colors.
@@ -41,126 +48,126 @@
 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 <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the parent is null</li>
- * </ul>
- * @exception DWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- *    <li>ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass</li>
- * </ul>
- *
- * @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.
- * <p>
- * The style value is either one of the style constants defined in
- * class <code>DWT</code> which is applicable to instances of this
- * class, or must be built by <em>bitwise OR</em>'ing together 
- * (that is, using the <code>int</code> "|" operator) two or more
- * of those <code>DWT</code> style constants. The class description
- * lists the style constants that are applicable to the class.
- * Style bits are also inherited from superclasses.
- * </p>
- *
- * @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 <ul>
- *    <li>ERROR_NULL_ARGUMENT - if the parent is null</li>
- * </ul>
- * @exception DWTException <ul>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
- *    <li>ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass</li>
- * </ul>
- *
- * @see DWT
- * @see Widget#checkSubclass
- * @see Widget#getStyle
- */
-public this(Shell parent, int style) {
-    super(parent, style);
-    checkSubclass ();
-}
-
-void changeColor(int 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;
-}
-
-/**
- * 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 <ul>
- *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
- *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
- * </ul>
- */
-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);
+    /**
+     * 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 <ul>
+     *    <li>ERROR_NULL_ARGUMENT - if the parent is null</li>
+     * </ul>
+     * @exception DWTException <ul>
+     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
+     *    <li>ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass</li>
+     * </ul>
+     *
+     * @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.
+     * <p>
+     * The style value is either one of the style constants defined in
+     * class <code>DWT</code> which is applicable to instances of this
+     * class, or must be built by <em>bitwise OR</em>'ing together 
+     * (that is, using the <code>int</code> "|" operator) two or more
+     * of those <code>DWT</code> style constants. The class description
+     * lists the style constants that are applicable to the class.
+     * Style bits are also inherited from superclasses.
+     * </p>
+     *
+     * @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 <ul>
+     *    <li>ERROR_NULL_ARGUMENT - if the parent is null</li>
+     * </ul>
+     * @exception DWTException <ul>
+     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
+     *    <li>ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass</li>
+     * </ul>
+     *
+     * @see DWT
+     * @see Widget#checkSubclass
+     * @see Widget#getStyle
+     */
+    public this(Shell parent, int style) {
+        super(parent, style);
+        checkSubclass ();
+    }
+    
+    void changeColor(int sender) {
+        //TODO
     }
-    SWTPanelDelegate delegate = cast(SWTPanelDelegate)new SWTPanelDelegate().alloc().init();
-    int jniRef = OS.NewGlobalRef(this);
-    if (jniRef is 0) DWT.error(DWT.ERROR_NO_HANDLES);
-    delegate.setTag(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_(NSString.stringWith("NSCalibratedRGBColorSpace"));
-        rgb = new RGB(cast(int)(color.redComponent() * 255), cast(int)(color.greenComponent() * 255), cast(int)(color.blueComponent() * 255));
+    
+    /**
+     * 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;
     }
-    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(int sender) {
-    NSApplication.sharedApplication().stop(null);
-}
-}
+    
+    /**
+     * 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 <ul>
+     *    <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
+     *    <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
+     * </ul>
+     */
+    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);
+        delegate_.setTag(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_(NSString.stringWith("NSCalibratedRGBColorSpace"));
+            rgb = new RGB(cast(int)(color.redComponent() * 255), cast(int)(color.greenComponent() * 255), cast(int)(color.blueComponent() * 255));
+        }
+        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(int sender) {
+        NSApplication.sharedApplication().stop(null);
+    }
+    }