diff options
author | ustieber | 2011-08-30 07:04:22 +0000 |
---|---|---|
committer | ustieber | 2011-08-30 07:04:22 +0000 |
commit | 9a867c2a2540006c9e9a3e461901e6058c7249e7 (patch) | |
tree | d591b8b3fe452f64e4fdd4e8eddf549a2b9d0d66 | |
parent | e49edd1a4c22948401d6951a90814677c776ac52 (diff) | |
download | org.eclipse.tcf-9a867c2a2540006c9e9a3e461901e6058c7249e7.tar.gz org.eclipse.tcf-9a867c2a2540006c9e9a3e461901e6058c7249e7.tar.xz org.eclipse.tcf-9a867c2a2540006c9e9a3e461901e6058c7249e7.zip |
Target Explorer: Improve control validation flexibility
-rw-r--r-- | target_explorer/plugins/org.eclipse.tm.te.ui.controls/src/org/eclipse/tm/te/ui/controls/BaseEditBrowseTextControl.java | 41 |
1 files changed, 25 insertions, 16 deletions
diff --git a/target_explorer/plugins/org.eclipse.tm.te.ui.controls/src/org/eclipse/tm/te/ui/controls/BaseEditBrowseTextControl.java b/target_explorer/plugins/org.eclipse.tm.te.ui.controls/src/org/eclipse/tm/te/ui/controls/BaseEditBrowseTextControl.java index ed31b8e39..4dbe93954 100644 --- a/target_explorer/plugins/org.eclipse.tm.te.ui.controls/src/org/eclipse/tm/te/ui/controls/BaseEditBrowseTextControl.java +++ b/target_explorer/plugins/org.eclipse.tm.te.ui.controls/src/org/eclipse/tm/te/ui/controls/BaseEditBrowseTextControl.java @@ -617,11 +617,9 @@ public class BaseEditBrowseTextControl extends BaseDialogPageControl { SWTControlUtil.setEnabled(getButtonControl(), false); } - // validate the page content. - IDialogPage parentPage = getParentPage(); - if (parentPage instanceof IValidatableWizardPage) { - ((IValidatableWizardPage)parentPage).validatePage(); - } + // validate the page + IValidatableWizardPage validatable = getValidatableWizardPage(); + if (validatable != null) validatable.validatePage(); } } @@ -991,6 +989,22 @@ public class BaseEditBrowseTextControl extends BaseDialogPageControl { } /** + * Returns the validatable wizard page instance. + * <p> + * The default implementation is testing the associated + * parent page to implement the {@link IValidatableWizardPage} interface. + * + * @return The validatable wizard page instance or <code>null</code>. + */ + protected IValidatableWizardPage getValidatableWizardPage() { + IDialogPage parentPage = getParentPage(); + if (parentPage instanceof IValidatableWizardPage) { + return (IValidatableWizardPage)parentPage; + } + return null; + } + + /** * Default edit field control modification listener. The listener takes care of * updating the target server command line control if the parent page is of type * <code>AbstractTargetServerWizardPage</code>. In all cases, the parent pages @@ -998,12 +1012,9 @@ public class BaseEditBrowseTextControl extends BaseDialogPageControl { */ protected final ModifyListener fcModifyListener = new ModifyListener() { public void modifyText(ModifyEvent e) { - // validate the page content. - IDialogPage parentPage = getParentPage(); - if (parentPage instanceof IValidatableWizardPage) { - // Validate the page - ((IValidatableWizardPage)parentPage).validatePage(); - } + // validate the page + IValidatableWizardPage validatable = getValidatableWizardPage(); + if (validatable != null) validatable.validatePage(); } }; @@ -1040,11 +1051,9 @@ public class BaseEditBrowseTextControl extends BaseDialogPageControl { protected final SelectionListener fcSelectionListener = new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { - // validate the page content. - IDialogPage parentPage = getParentPage(); - if (parentPage instanceof IValidatableWizardPage) { - ((IValidatableWizardPage)parentPage).validatePage(); - } + // validate the page + IValidatableWizardPage validatable = getValidatableWizardPage(); + if (validatable != null) validatable.validatePage(); } }; |