comparison dwt/custom/TreeEditor.d @ 150:1ec7c20355bd

Fixes #38
author Jacob Carlborg <doob@me.com>
date Wed, 10 Jun 2009 20:51:17 +0200
parents 07399639c0c8
children
comparison
equal deleted inserted replaced
149:36ae710173d9 150:1ec7c20355bd
114 timer = new class() Runnable { 114 timer = new class() Runnable {
115 public void run() { 115 public void run() {
116 layout (); 116 layout ();
117 } 117 }
118 }; 118 };
119 treeListener = new class() TreeListener { 119 treeListener = new class(this) TreeListener {
120 TreeEditor td;
120 Runnable runnable; 121 Runnable runnable;
121 this(){ 122
123 this (TreeEditor td) {
124 this.td = td;
125
122 runnable = new class() Runnable { 126 runnable = new class() Runnable {
123 public void run() { 127 public void run() {
124 if (this.outer.outer.editor is null || this.outer.outer.editor.isDisposed()) return; 128 if (td.editor is null || td.editor.isDisposed()) return;
125 if (this.outer.outer.tree.isDisposed()) return; 129 if (td.tree.isDisposed()) return;
126 this.outer.outer.layout(); 130 td.layout();
127 this.outer.outer.editor.setVisible(true); 131 td.editor.setVisible(true);
128 } 132 }
129 }; 133 };
130 } 134 }
131 public void treeCollapsed(TreeEvent e) { 135 public void treeCollapsed(TreeEvent e) {
132 if (this.outer.editor is null || this.outer.editor.isDisposed ()) return; 136 if (td.editor is null || td.editor.isDisposed ()) return;
133 this.outer.editor.setVisible(false); 137 td.editor.setVisible(false);
134 e.display.asyncExec(runnable); 138 e.display.asyncExec(runnable);
135 } 139 }
136 public void treeExpanded(TreeEvent e) { 140 public void treeExpanded(TreeEvent e) {
137 if (this.outer.editor is null || this.outer.editor.isDisposed ()) return; 141 if (td.editor is null || td.editor.isDisposed ()) return;
138 this.outer.editor.setVisible(false); 142 td.editor.setVisible(false);
139 e.display.asyncExec(runnable); 143 e.display.asyncExec(runnable);
140 } 144 }
141 }; 145 };
142 tree.addTreeListener(treeListener); 146 tree.addTreeListener(treeListener);
143 147