diff dwt/custom/TableCursor.d @ 148:8944c1d87c63

Fixes #33
author Jacob Carlborg <doob@me.com>
date Sun, 07 Jun 2009 15:21:18 +0200
parents 6337764516f1
children
line wrap: on
line diff
--- a/dwt/custom/TableCursor.d	Sun Jun 07 00:04:52 2009 +0200
+++ b/dwt/custom/TableCursor.d	Sun Jun 07 15:21:18 2009 +0200
@@ -204,21 +204,27 @@
     setBackground(null);
     setForeground(null);
 
-    Listener listener = new class() Listener {
+    Listener listener = new class(this) Listener {
+        TableCursor tc;
+        
+        this (TableCursor tc) {
+            this.tc = tc;
+        }
+        
         public void handleEvent(Event event) {
             switch (event.type) {
                 case DWT.Dispose :
-                    dispose(event);
+                    tc.dispose(event);
                     break;
                 case DWT.FocusIn :
                 case DWT.FocusOut :
-                    redraw();
+                    tc.redraw();
                     break;
                 case DWT.KeyDown :
-                    keyDown(event);
+                    tc.keyDown(event);
                     break;
                 case DWT.Paint :
-                    paint(event);
+                    tc.paint(event);
                     break;
                 case DWT.Traverse : {
                     event.doit = true;
@@ -241,14 +247,20 @@
         addListener(events[i], listener);
     }
 
-    tableListener = new class() Listener {
+    tableListener = new class(this) Listener {
+        TableCursor tc;
+        
+        this (TableCursor tc) {
+            this.tc = tc;
+        }
+        
         public void handleEvent(Event event) {
             switch (event.type) {
                 case DWT.MouseDown :
-                    tableMouseDown(event);
+                    tc.tableMouseDown(event);
                     break;
                 case DWT.FocusIn :
-                    tableFocusIn(event);
+                    tc.tableFocusIn(event);
                     break;
                 default:
             }
@@ -257,25 +269,43 @@
     table.addListener(DWT.FocusIn, tableListener);
     table.addListener(DWT.MouseDown, tableListener);
 
-    disposeItemListener = new class() Listener {
+    disposeItemListener = new class(this) Listener {
+        TableCursor tc;
+        
+        this (TableCursor tc) {
+            this.tc = tc;
+        }
+        
         public void handleEvent(Event event) {
-            unhookRowColumnListeners();
-            row = null;
-            column = null;
-            _resize();
+            tc.unhookRowColumnListeners();
+            tc.row = null;
+            tc.column = null;
+            tc._resize();
         }
     };
-    disposeColumnListener = new class() Listener {
+    disposeColumnListener = new class(this) Listener {
+        TableCursor tc;
+        
+        this (TableCursor tc) {
+            this.tc = tc;
+        }
+        
         public void handleEvent(Event event) {
-            unhookRowColumnListeners();
-            row = null;
-            column = null;
-            _resize();
+            tc.unhookRowColumnListeners();
+            tc.row = null;
+            tc.column = null;
+            tc._resize();
         }
     };
-    resizeListener = new class() Listener {
+    resizeListener = new class(this) Listener {
+        TableCursor tc;
+        
+        this (TableCursor tc) {
+            this.tc = tc;
+        }
+        
         public void handleEvent(Event event) {
-            _resize();
+            tc._resize();
         }
     };
     ScrollBar hBar = table.getHorizontalBar();