diff options
author | kmoore | 2008-02-11 21:45:47 +0000 |
---|---|---|
committer | kmoore | 2008-02-11 21:45:47 +0000 |
commit | 06ccbbc291df82397fcc2ed29c0abaf0acb0bc03 (patch) | |
tree | 830e75f1ee1a15fcf5354808163f67a83d7f7302 /jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/util/ControlSwitcher.java | |
parent | a77fb84dccda49a8e18c3cd1336a121c85c5b4d2 (diff) | |
download | webtools.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.java | 25 |
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 |