Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkmoore2008-02-11 21:45:47 +0000
committerkmoore2008-02-11 21:45:47 +0000
commit06ccbbc291df82397fcc2ed29c0abaf0acb0bc03 (patch)
tree830e75f1ee1a15fcf5354808163f67a83d7f7302 /jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/util/ControlSwitcher.java
parenta77fb84dccda49a8e18c3cd1336a121c85c5b4d2 (diff)
downloadwebtools.dali-06ccbbc291df82397fcc2ed29c0abaf0acb0bc03.tar.gz
webtools.dali-06ccbbc291df82397fcc2ed29c0abaf0acb0bc03.tar.xz
webtools.dali-06ccbbc291df82397fcc2ed29c0abaf0acb0bc03.zip
213467 - committing a patch from Pascal
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/util/ControlSwitcher.java')
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/util/ControlSwitcher.java25
1 files changed, 17 insertions, 8 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/util/ControlSwitcher.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/util/ControlSwitcher.java
index e70c010f7d..2c1def6475 100644
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/util/ControlSwitcher.java
+++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/util/ControlSwitcher.java
@@ -104,15 +104,24 @@ public final class ControlSwitcher<T>
return;
}
+ // Retrieve the Control for the new value
Control pane = paneTransformer.transform(value);
+ boolean visible = (pane != null);
- if (pane == null) {
- pageBook.showPage(new Label(pageBook, SWT.SEPARATOR));
- }
- else {
- pageBook.showPage(pane);
- }
+ // Show the new page
+ if (visible) {
+ pageBook.showPage(pane);
+ }
+ else {
+ // Note: We can't null due to a bug in PageBook
+ pageBook.showPage(new Label(pageBook, SWT.SEPARATOR | SWT.HORIZONTAL));
+ }
+
+ if (pageBook.isVisible() != visible) {
+ pageBook.setVisible(visible);
+ }
- pageBook.setVisible(pane != null);
+ // Revalidate the parents in order to update the layout
+ SWTUtil.reflow(pageBook);
}
-}
+} \ No newline at end of file

Back to the top