Mercurial > projects > dwt-addons
diff dwtx/ui/forms/widgets/ExpandableComposite.d @ 85:56fea7e5f0f9
Fix some runtime errors
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Fri, 20 Jun 2008 14:48:17 +0200 |
parents | 5d489b9f966c |
children | c3583c6ec027 |
line wrap: on
line diff
--- a/dwtx/ui/forms/widgets/ExpandableComposite.d Fri Jun 20 13:00:15 2008 +0200 +++ b/dwtx/ui/forms/widgets/ExpandableComposite.d Fri Jun 20 14:48:17 2008 +0200 @@ -643,39 +643,8 @@ final Label label = new Label(this, DWT.WRAP); if (!isFixedStyle()) { label.setCursor(FormsResources.getHandCursor()); - Listener listener = dgListener( (Event e, Label label) { - switch (e.type) { - case DWT.MouseDown: - if (toggle !is null) - toggle.setFocus(); - break; - case DWT.MouseUp: - label.setCursor(FormsResources.getBusyCursor()); - programmaticToggleState(); - label.setCursor(FormsResources.getHandCursor()); - break; - case DWT.MouseEnter: - if (toggle !is null) { - label.setForeground(toggle - .getHoverDecorationColor()); - toggle.hover_package = true; - toggle.redraw(); - } - break; - case DWT.MouseExit: - if (toggle !is null) { - label.setForeground(getTitleBarForeground()); - toggle.hover_package = false; - toggle.redraw(); - } - break; - case DWT.Paint: - if (toggle !is null) { - paintTitleFocus(e.gc); - } - break; - } - }, label ); + // DWT FIXME: workaround for DMD anonymous class, nested function problem + Listener listener = dgListener( &tst, label ); label.addListener(DWT.MouseDown, listener); label.addListener(DWT.MouseUp, listener); label.addListener(DWT.MouseEnter, listener); @@ -705,6 +674,40 @@ } } + // DWT FIXME: workaround for DMD anonymous class, nested function problem + void tst(Event e, Label label_) { + switch (e.type) { + case DWT.MouseDown: + if (toggle !is null) + toggle.setFocus(); + break; + case DWT.MouseUp: + label_.setCursor(FormsResources.getBusyCursor()); + programmaticToggleState(); + label_.setCursor(FormsResources.getHandCursor()); + break; + case DWT.MouseEnter: + if (toggle !is null) { + label_.setForeground(toggle + .getHoverDecorationColor()); + toggle.hover_package = true; + toggle.redraw(); + } + break; + case DWT.MouseExit: + if (toggle !is null) { + label_.setForeground(getTitleBarForeground()); + toggle.hover_package = false; + toggle.redraw(); + } + break; + case DWT.Paint: + if (toggle !is null) { + paintTitleFocus(e.gc); + } + break; + } + } /* (non-Javadoc) * @see dwt.widgets.Control#forceFocus() */