changeset 143:c41e13089a3c

Fixes #21
author Jacob Carlborg <doob@me.com>
date Fri, 05 Jun 2009 01:25:10 +0200
parents 6ef64ef8df0a
children 476f8d5c0b07
files dwt/custom/CTabFolder.d dwt/widgets/CoolItem.d dwt/widgets/Display.d dwt/widgets/TypedListener.d
diffstat 4 files changed, 47 insertions(+), 33 deletions(-) [+]
line wrap: on
line diff
--- a/dwt/custom/CTabFolder.d	Thu Jun 04 23:55:22 2009 +0200
+++ b/dwt/custom/CTabFolder.d	Fri Jun 05 01:25:10 2009 +0200
@@ -353,23 +353,30 @@
     initAccessible();
 
     // Add all listeners
-    listener = new class() Listener {
+    listener = new class(this) Listener {
+        CTabFolder ctf;
+        
+        this (CTabFolder ctf)
+        {
+            this.ctf = ctf;
+        }
+        
         public void handleEvent(Event event) {
             switch (event.type) {
-                case DWT.Dispose:          onDispose(event); break;
-                case DWT.DragDetect:       onDragDetect(event); break;
-                case DWT.FocusIn:          onFocus(event);  break;
-                case DWT.FocusOut:         onFocus(event);  break;
-                case DWT.KeyDown:          onKeyDown(event); break;
-                case DWT.MouseDoubleClick: onMouseDoubleClick(event); break;
-                case DWT.MouseDown:        onMouse(event);  break;
-                case DWT.MouseEnter:       onMouse(event);  break;
-                case DWT.MouseExit:        onMouse(event);  break;
-                case DWT.MouseMove:        onMouse(event); break;
-                case DWT.MouseUp:          onMouse(event); break;
-                case DWT.Paint:            onPaint(event);  break;
-                case DWT.Resize:           onResize();  break;
-                case DWT.Traverse:         onTraverse(event); break;
+                case DWT.Dispose:          ctf.onDispose(event); break;
+                case DWT.DragDetect:       ctf.onDragDetect(event); break;
+                case DWT.FocusIn:          ctf.onFocus(event);  break;
+                case DWT.FocusOut:         ctf.onFocus(event);  break;
+                case DWT.KeyDown:          ctf.onKeyDown(event); break;
+                case DWT.MouseDoubleClick: ctf.onMouseDoubleClick(event); break;
+                case DWT.MouseDown:        ctf.onMouse(event);  break;
+                case DWT.MouseEnter:       ctf.onMouse(event);  break;
+                case DWT.MouseExit:        ctf.onMouse(event);  break;
+                case DWT.MouseMove:        ctf.onMouse(event); break;
+                case DWT.MouseUp:          ctf.onMouse(event); break;
+                case DWT.Paint:            ctf.onPaint(event);  break;
+                case DWT.Resize:           ctf.onResize();  break;
+                case DWT.Traverse:         ctf.onTraverse(event); break;
                 default:
             }
         }
@@ -1829,22 +1836,27 @@
         }
     });
 
-    addListener(DWT.Selection, new class(accessible) Listener {
-        Accessible acc;
-        this( Accessible a ){
-            this.acc = a;
+    addListener(DWT.Selection, new class(accessible, this) Listener {
+        Accessible accessible;
+        CTabFolder ctf;
+        
+        this (Accessible accessible, CTabFolder ctf)
+        {
+            this.accessible = accessible;
+            this.ctf = ctf;
         }
+
         public void handleEvent(Event event) {
-            if (isFocusControl()) {
+            if (ctf.isFocusControl()) {
                 if (selectedIndex is -1) {
-                    acc.setFocus(ACC.CHILDID_SELF);
+                    accessible.setFocus(ACC.CHILDID_SELF);
                 } else {
-                    acc.setFocus(selectedIndex);
+                    accessible.setFocus(selectedIndex);
                 }
             }
         }
     });
-
+    
     addListener(DWT.FocusIn, new class(accessible) Listener {
         Accessible acc;
         this( Accessible a ){ this.acc = a; }
@@ -3897,11 +3909,18 @@
         item.setText(tab.getText());
         item.setImage(tab.getImage());
         item.setData(id, tab);
-        item.addSelectionListener(new class() SelectionAdapter {
+        item.addSelectionListener(new class(this) SelectionAdapter {
+            CTabFolder ctf;
+            
+            this (CTabFolder ctf)
+            {
+                this.ctf = ctf;
+            }
+            
             public void widgetSelected(SelectionEvent e) {
                 MenuItem menuItem = cast(MenuItem)e.widget;
-                int index = indexOf(cast(CTabItem)menuItem.getData(id));
-                this.outer.setSelection(index, true);
+                int index = ctf.indexOf(cast(CTabItem)menuItem.getData(id));
+                ctf.setSelection(index, true);
             }
         });
     }
--- a/dwt/widgets/CoolItem.d	Thu Jun 04 23:55:22 2009 +0200
+++ b/dwt/widgets/CoolItem.d	Fri Jun 05 01:25:10 2009 +0200
@@ -106,11 +106,10 @@
  */
 public this (CoolBar parent, int style) {
     super(parent, style);
+    itemBounds = new Rectangle(0, 0, 0, 0);
     this.parent = parent;
     parent.createItem (this, parent.getItemCount());
     calculateChevronTrim ();
-    
-    itemBounds = new Rectangle(0, 0, 0, 0);
 }
 /**
  * Constructs a new instance of this class given its parent
@@ -146,11 +145,10 @@
  */
 public this (CoolBar parent, int style, int index) {
     super(parent, style);
+    itemBounds = new Rectangle(0, 0, 0, 0);
     this.parent = parent;
     parent.createItem (this, index);
     calculateChevronTrim ();
-    
-    itemBounds = new Rectangle(0, 0, 0, 0);
 }
 /**
  * Adds the listener to the collection of listeners that will
--- a/dwt/widgets/Display.d	Thu Jun 04 23:55:22 2009 +0200
+++ b/dwt/widgets/Display.d	Fri Jun 05 01:25:10 2009 +0200
@@ -95,8 +95,6 @@
 import dwt.widgets.Tray;
 import dwt.widgets.Widget;
 
-import tango.io.Stdout;
-
 /**
  * Instances of this class are responsible for managing the
  * connection between DWT and the underlying operating
--- a/dwt/widgets/TypedListener.d	Thu Jun 04 23:55:22 2009 +0200
+++ b/dwt/widgets/TypedListener.d	Fri Jun 05 01:25:10 2009 +0200
@@ -299,7 +299,6 @@
         }
         
         default:
-            assert(false);
     }
 }