Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUwe Stieber2012-01-04 11:45:33 +0000
committerUwe Stieber2012-01-04 11:45:33 +0000
commit107dd7c33b023710616bdc2dc3844d91446320e1 (patch)
treeee19c613ff7d693d23be6079c27a1aae1b740c48 /target_explorer
parenta4fdbde6be3c1341cf24a032923b06bd080830dc (diff)
downloadorg.eclipse.tcf-107dd7c33b023710616bdc2dc3844d91446320e1.tar.gz
org.eclipse.tcf-107dd7c33b023710616bdc2dc3844d91446320e1.tar.xz
org.eclipse.tcf-107dd7c33b023710616bdc2dc3844d91446320e1.zip
Target Explorer: Added validation handling to peer node overview page
Diffstat (limited to 'target_explorer')
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem/src/org/eclipse/tcf/te/tcf/filesystem/internal/wizards/NewNodeWizardPage.java43
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem/src/org/eclipse/tcf/te/tcf/filesystem/internal/wizards/TargetSelectionPage.java15
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/controls/CustomTransportPanel.java14
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/controls/PipeTransportPanel.java14
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/controls/TcpTransportPanel.java27
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/editor/OverviewEditorPage.java56
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/editor/controls/InfoSectionPeerIdControl.java15
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/editor/controls/InfoSectionPeerNameControl.java15
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/editor/controls/TransportSectionTypeControl.java19
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/editor/controls/TransportSectionTypePanelControl.java15
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/editor/sections/GeneralInformationSection.java20
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/editor/sections/TransportSection.java24
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.ui.controls/src/org/eclipse/tcf/te/ui/controls/BaseControl.java16
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.ui.controls/src/org/eclipse/tcf/te/ui/controls/BaseDialogPageControl.java12
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.ui.controls/src/org/eclipse/tcf/te/ui/controls/BaseEditBrowseTextControl.java14
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.ui.forms/src/org/eclipse/tcf/te/ui/forms/parts/AbstractSection.java44
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.ui.swt/META-INF/MANIFEST.MF1
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.ui.swt/src/org/eclipse/tcf/te/ui/jface/interfaces/IValidatable.java31
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.ui.swt/src/org/eclipse/tcf/te/ui/jface/interfaces/IValidatingContainer.java26
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.ui/META-INF/MANIFEST.MF1
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.ui/src/org/eclipse/tcf/te/ui/wizards/interfaces/IValidatableWizardPage.java30
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.ui/src/org/eclipse/tcf/te/ui/wizards/pages/AbstractSharedDataWizardPage.java2
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.ui/src/org/eclipse/tcf/te/ui/wizards/pages/AbstractValidatingWizardPage.java (renamed from target_explorer/plugins/org.eclipse.tcf.te.ui/src/org/eclipse/tcf/te/ui/wizards/pages/AbstractValidatableWizardPage.java)17
23 files changed, 293 insertions, 178 deletions
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem/src/org/eclipse/tcf/te/tcf/filesystem/internal/wizards/NewNodeWizardPage.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem/src/org/eclipse/tcf/te/tcf/filesystem/internal/wizards/NewNodeWizardPage.java
index 29487af4e..d9df36d87 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem/src/org/eclipse/tcf/te/tcf/filesystem/internal/wizards/NewNodeWizardPage.java
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem/src/org/eclipse/tcf/te/tcf/filesystem/internal/wizards/NewNodeWizardPage.java
@@ -39,7 +39,7 @@ import org.eclipse.tcf.te.ui.controls.BaseEditBrowseTextControl;
import org.eclipse.tcf.te.ui.forms.FormLayoutFactory;
import org.eclipse.tcf.te.ui.trees.FilterDescriptor;
import org.eclipse.tcf.te.ui.trees.ViewerStateManager;
-import org.eclipse.tcf.te.ui.wizards.pages.AbstractValidatableWizardPage;
+import org.eclipse.tcf.te.ui.wizards.pages.AbstractValidatingWizardPage;
import org.eclipse.ui.IDecoratorManager;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.PlatformUI;
@@ -48,7 +48,7 @@ import org.eclipse.ui.forms.widgets.FormToolkit;
/**
* The base wizard page class to create a new file/folder in the file system of Target Explorer.
*/
-public abstract class NewNodeWizardPage extends AbstractValidatableWizardPage {
+public abstract class NewNodeWizardPage extends AbstractValidatingWizardPage {
// The form toolkit to create the content of the wizard page.
private FormToolkit toolkit;
// The control for the user to enter the new name.
@@ -60,7 +60,7 @@ public abstract class NewNodeWizardPage extends AbstractValidatableWizardPage {
/**
* Create an instance page with the specified page name.
- *
+ *
* @param pageName The page name.
*/
public NewNodeWizardPage(String pageName) {
@@ -69,21 +69,21 @@ public abstract class NewNodeWizardPage extends AbstractValidatableWizardPage {
/**
* Get the page's title.
- *
+ *
* @return The page's title.
*/
protected abstract String getPageTitle();
/**
* Get the page's description.
- *
+ *
* @return The page's description.
*/
protected abstract String getPageDescription();
/**
* Get the label of the text field to enter the new name.
- *
+ *
* @return The label of the text field to enter the new name.
*/
protected abstract String getNameFieldLabel();
@@ -126,10 +126,10 @@ public abstract class NewNodeWizardPage extends AbstractValidatableWizardPage {
// Validate the page for the first time
setPageComplete(false);
}
-
+
/**
* Create the main panel of this wizard page.
- *
+ *
* @param parent The parent composite in which the page is created.
*/
private void createMainPanelControls(Composite parent) {
@@ -212,10 +212,10 @@ public abstract class NewNodeWizardPage extends AbstractValidatableWizardPage {
// restore the widget values from the history
restoreWidgetValues();
}
-
+
/**
* Set the input of the tree viewer and apply the appropriate filters.
- *
+ *
* @param input The tree viewer's input.
*/
private void setInput(Object input) {
@@ -227,10 +227,10 @@ public abstract class NewNodeWizardPage extends AbstractValidatableWizardPage {
}
}
}
-
+
/**
* Create a decorating label provider using the specified label provider.
- *
+ *
* @param labelProvider The label provider that actually provides labels and images.
* @return The decorating label provider.
*/
@@ -263,14 +263,14 @@ public abstract class NewNodeWizardPage extends AbstractValidatableWizardPage {
container.updateTitleBar();
container.updateButtons();
}
- validatePage();
+ validate();
}
/**
* Set a new peer as the input of the file tree. Called
* by the wizard to update the file tree when an alternative
* target peer is selected in the target selection page.
- *
+ *
* @param peer The new target peer.
*/
public void setPeer(IPeerModel peer) {
@@ -279,13 +279,12 @@ public abstract class NewNodeWizardPage extends AbstractValidatableWizardPage {
}
}
- /*
- * (non-Javadoc)
- * @see org.eclipse.tcf.te.ui.controls.wizards.pages.AbstractValidatableWizardPage#validatePage()
+ /* (non-Javadoc)
+ * @see org.eclipse.tcf.te.ui.wizards.pages.AbstractValidatingWizardPage#validate()
*/
@Override
- public void validatePage() {
- super.validatePage();
+ public void validate() {
+ super.validate();
if (!isPageComplete()) return;
if (isValidationInProgress()) return;
@@ -323,7 +322,7 @@ public abstract class NewNodeWizardPage extends AbstractValidatableWizardPage {
/**
* Get the entered name of this node.
- *
+ *
* @return The entered name of this node.
*/
public String getNodeName() {
@@ -341,10 +340,10 @@ public abstract class NewNodeWizardPage extends AbstractValidatableWizardPage {
/**
* Get the currently input directory node. It parses
- * the currently entered path and tries to find the
+ * the currently entered path and tries to find the
* corresponding directory node in the file system of
* the target peer.
- *
+ *
* @return The directory node if it exists or else null.
*/
public FSTreeNode getInputDir() {
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem/src/org/eclipse/tcf/te/tcf/filesystem/internal/wizards/TargetSelectionPage.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem/src/org/eclipse/tcf/te/tcf/filesystem/internal/wizards/TargetSelectionPage.java
index c7a0e04b7..30fd1a3f2 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem/src/org/eclipse/tcf/te/tcf/filesystem/internal/wizards/TargetSelectionPage.java
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.filesystem/src/org/eclipse/tcf/te/tcf/filesystem/internal/wizards/TargetSelectionPage.java
@@ -36,7 +36,7 @@ import org.eclipse.tcf.te.tcf.locator.model.Model;
import org.eclipse.tcf.te.tcf.ui.navigator.LabelProvider;
import org.eclipse.tcf.te.ui.activator.UIPlugin;
import org.eclipse.tcf.te.ui.interfaces.IUIConstants;
-import org.eclipse.tcf.te.ui.wizards.pages.AbstractValidatableWizardPage;
+import org.eclipse.tcf.te.ui.wizards.pages.AbstractValidatingWizardPage;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.dialogs.FilteredTree;
@@ -49,7 +49,7 @@ import org.eclipse.ui.dialogs.PatternFilter;
*
* @since 3.8
*/
-public class TargetSelectionPage extends AbstractValidatableWizardPage {
+public class TargetSelectionPage extends AbstractValidatingWizardPage {
// References to the page subcontrol's
private FilteredTree filteredTree;
private PatternFilter filteredTreeFilter;
@@ -201,13 +201,12 @@ public class TargetSelectionPage extends AbstractValidatableWizardPage {
setPageComplete(peer != null);
}
- /*
- * (non-Javadoc)
- * @see org.eclipse.tcf.te.ui.wizards.pages.AbstractValidatableWizardPage#validatePage()
+ /* (non-Javadoc)
+ * @see org.eclipse.tcf.te.ui.wizards.pages.AbstractValidatingWizardPage#validate()
*/
@Override
- public void validatePage() {
- super.validatePage();
+ public void validate() {
+ super.validate();
if (!isPageComplete()) return;
if (isValidationInProgress()) return;
setValidationInProgress(true);
@@ -274,7 +273,7 @@ public class TargetSelectionPage extends AbstractValidatableWizardPage {
container.updateTitleBar();
container.updateButtons();
}
- validatePage();
+ validate();
}
/*
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/controls/CustomTransportPanel.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/controls/CustomTransportPanel.java
index 183db744c..bd1deffbf 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/controls/CustomTransportPanel.java
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/controls/CustomTransportPanel.java
@@ -27,9 +27,9 @@ import org.eclipse.tcf.te.ui.controls.BaseEditBrowseTextControl;
import org.eclipse.tcf.te.ui.controls.panels.AbstractWizardConfigurationPanel;
import org.eclipse.tcf.te.ui.controls.validator.RegexValidator;
import org.eclipse.tcf.te.ui.controls.validator.Validator;
+import org.eclipse.tcf.te.ui.jface.interfaces.IValidatingContainer;
import org.eclipse.tcf.te.ui.swt.SWTControlUtil;
import org.eclipse.tcf.te.ui.wizards.interfaces.ISharedDataWizardPage;
-import org.eclipse.tcf.te.ui.wizards.interfaces.IValidatableWizardPage;
import org.eclipse.ui.forms.widgets.FormToolkit;
/**
@@ -77,12 +77,12 @@ public class CustomTransportPanel extends AbstractWizardConfigurationPanel imple
}
}
- /* (non-Javadoc)
- * @see org.eclipse.tcf.te.ui.controls.BaseDialogPageControl#getValidatableWizardPage()
- */
- @Override
- public IValidatableWizardPage getValidatableWizardPage() {
- return CustomTransportPanel.this.getParentControl().getValidatableWizardPage();
+ /* (non-Javadoc)
+ * @see org.eclipse.tcf.te.ui.controls.BaseDialogPageControl#getValidatingContainer()
+ */
+ @Override
+ public IValidatingContainer getValidatingContainer() {
+ return CustomTransportPanel.this.getParentControl().getValidatingContainer();
}
/* (non-Javadoc)
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/controls/PipeTransportPanel.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/controls/PipeTransportPanel.java
index a7207c495..6cf566874 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/controls/PipeTransportPanel.java
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/controls/PipeTransportPanel.java
@@ -26,9 +26,9 @@ import org.eclipse.tcf.te.ui.controls.BaseEditBrowseTextControl;
import org.eclipse.tcf.te.ui.controls.panels.AbstractWizardConfigurationPanel;
import org.eclipse.tcf.te.ui.controls.validator.RegexValidator;
import org.eclipse.tcf.te.ui.controls.validator.Validator;
+import org.eclipse.tcf.te.ui.jface.interfaces.IValidatingContainer;
import org.eclipse.tcf.te.ui.swt.SWTControlUtil;
import org.eclipse.tcf.te.ui.wizards.interfaces.ISharedDataWizardPage;
-import org.eclipse.tcf.te.ui.wizards.interfaces.IValidatableWizardPage;
import org.eclipse.ui.forms.widgets.FormToolkit;
/**
@@ -76,12 +76,12 @@ public class PipeTransportPanel extends AbstractWizardConfigurationPanel impleme
}
}
- /* (non-Javadoc)
- * @see org.eclipse.tcf.te.ui.controls.BaseDialogPageControl#getValidatableWizardPage()
- */
- @Override
- public IValidatableWizardPage getValidatableWizardPage() {
- return PipeTransportPanel.this.getParentControl().getValidatableWizardPage();
+ /* (non-Javadoc)
+ * @see org.eclipse.tcf.te.ui.controls.BaseDialogPageControl#getValidatingContainer()
+ */
+ @Override
+ public IValidatingContainer getValidatingContainer() {
+ return PipeTransportPanel.this.getParentControl().getValidatingContainer();
}
/* (non-Javadoc)
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/controls/TcpTransportPanel.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/controls/TcpTransportPanel.java
index 504c6bdf0..af3794f1e 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/controls/TcpTransportPanel.java
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/controls/TcpTransportPanel.java
@@ -28,9 +28,9 @@ import org.eclipse.tcf.te.ui.controls.net.RemoteHostPortControl;
import org.eclipse.tcf.te.ui.controls.panels.AbstractWizardConfigurationPanel;
import org.eclipse.tcf.te.ui.controls.validator.NameOrIPValidator;
import org.eclipse.tcf.te.ui.controls.validator.Validator;
+import org.eclipse.tcf.te.ui.jface.interfaces.IValidatingContainer;
import org.eclipse.tcf.te.ui.swt.SWTControlUtil;
import org.eclipse.tcf.te.ui.wizards.interfaces.ISharedDataWizardPage;
-import org.eclipse.tcf.te.ui.wizards.interfaces.IValidatableWizardPage;
import org.eclipse.ui.forms.widgets.FormToolkit;
/**
@@ -78,13 +78,12 @@ public class TcpTransportPanel extends AbstractWizardConfigurationPanel implemen
return Messages.MyRemoteHostAddressControl_information_checkNameAddressUserInformation;
}
-
- /* (non-Javadoc)
- * @see org.eclipse.tcf.te.ui.controls.BaseDialogPageControl#getValidatableWizardPage()
- */
- @Override
- public IValidatableWizardPage getValidatableWizardPage() {
- return TcpTransportPanel.this.getParentControl().getValidatableWizardPage();
+ /* (non-Javadoc)
+ * @see org.eclipse.tcf.te.ui.controls.BaseDialogPageControl#getValidatingContainer()
+ */
+ @Override
+ public IValidatingContainer getValidatingContainer() {
+ return TcpTransportPanel.this.getParentControl().getValidatingContainer();
}
/* (non-Javadoc)
@@ -113,12 +112,12 @@ public class TcpTransportPanel extends AbstractWizardConfigurationPanel implemen
super(parentPage);
}
- /* (non-Javadoc)
- * @see org.eclipse.tcf.te.ui.controls.BaseDialogPageControl#getValidatableWizardPage()
- */
- @Override
- public IValidatableWizardPage getValidatableWizardPage() {
- return TcpTransportPanel.this.getParentControl().getValidatableWizardPage();
+ /* (non-Javadoc)
+ * @see org.eclipse.tcf.te.ui.controls.BaseDialogPageControl#getValidatingContainer()
+ */
+ @Override
+ public IValidatingContainer getValidatingContainer() {
+ return TcpTransportPanel.this.getParentControl().getValidatingContainer();
}
/* (non-Javadoc)
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/editor/OverviewEditorPage.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/editor/OverviewEditorPage.java
index 9fbee07b3..091b790fa 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/editor/OverviewEditorPage.java
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/editor/OverviewEditorPage.java
@@ -12,6 +12,7 @@ package org.eclipse.tcf.te.tcf.ui.editor;
import org.eclipse.core.runtime.Assert;
import org.eclipse.jface.action.IToolBarManager;
import org.eclipse.jface.action.Separator;
+import org.eclipse.jface.dialogs.IMessageProvider;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
@@ -25,18 +26,19 @@ import org.eclipse.tcf.te.tcf.ui.internal.ImageConsts;
import org.eclipse.tcf.te.tcf.ui.nls.Messages;
import org.eclipse.tcf.te.ui.forms.CustomFormToolkit;
import org.eclipse.tcf.te.ui.forms.FormLayoutFactory;
+import org.eclipse.tcf.te.ui.jface.interfaces.IValidatingContainer;
import org.eclipse.tcf.te.ui.views.editor.AbstractCustomFormToolkitEditorPage;
import org.eclipse.ui.IWorkbenchActionConstants;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.forms.IManagedForm;
-import org.eclipse.ui.forms.events.HyperlinkAdapter;
+import org.eclipse.ui.forms.widgets.ScrolledForm;
import org.eclipse.ui.forms.widgets.TableWrapData;
import org.eclipse.ui.forms.widgets.TableWrapLayout;
/**
* Peer overview page implementation.
*/
-public class OverviewEditorPage extends AbstractCustomFormToolkitEditorPage {
+public class OverviewEditorPage extends AbstractCustomFormToolkitEditorPage implements IValidatingContainer {
// References to the page sub sections
private GeneralInformationSection infoSection;
private TransportSection transportSection;
@@ -93,9 +95,6 @@ public class OverviewEditorPage extends AbstractCustomFormToolkitEditorPage {
managedForm.getForm().getForm().setText(getFormTitle());
managedForm.getForm().getForm().setImage(UIPlugin.getImage(ImageConsts.PEER));
- // Add a hyper link adapter
- managedForm.getForm().getForm().addMessageHyperlinkListener(new HyperlinkAdapter());
-
// Add the toolbar items which will appear in the form header
IToolBarManager manager = managedForm.getForm().getForm().getToolBarManager();
createToolbarContributionItems(manager);
@@ -170,4 +169,51 @@ public class OverviewEditorPage extends AbstractCustomFormToolkitEditorPage {
if (servicesSection != null) servicesSection.setActive(active);
if (attributesSection != null) attributesSection.setActive(active);
}
+
+ /* (non-Javadoc)
+ * @see org.eclipse.tcf.te.ui.jface.interfaces.IValidatingContainer#validate()
+ */
+ @Override
+ public void validate() {
+ // Get the scrolled form
+ ScrolledForm form = getManagedForm().getForm();
+
+ String message = null;
+ int messageType = IMessageProvider.NONE;
+
+ if (infoSection != null) {
+ infoSection.isValid();
+ if (infoSection.getMessageType() > messageType) {
+ message = infoSection.getMessage();
+ messageType = infoSection.getMessageType();
+ }
+ }
+
+ if (transportSection != null) {
+ transportSection.isValid();
+ if (transportSection.getMessageType() > messageType) {
+ message = transportSection.getMessage();
+ messageType = transportSection.getMessageType();
+ }
+ }
+
+ if (servicesSection != null) {
+ servicesSection.isValid();
+ if (servicesSection.getMessageType() > messageType) {
+ message = servicesSection.getMessage();
+ messageType = servicesSection.getMessageType();
+ }
+ }
+
+ if (attributesSection != null) {
+ attributesSection.isValid();
+ if (attributesSection.getMessageType() > messageType) {
+ message = attributesSection.getMessage();
+ messageType = attributesSection.getMessageType();
+ }
+ }
+
+ // Apply the message to the form
+ form.setMessage(message, messageType);
+ }
}
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/editor/controls/InfoSectionPeerIdControl.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/editor/controls/InfoSectionPeerIdControl.java
index 6fdd20a6d..ea242a107 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/editor/controls/InfoSectionPeerIdControl.java
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/editor/controls/InfoSectionPeerIdControl.java
@@ -13,7 +13,7 @@ import org.eclipse.core.runtime.Assert;
import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.tcf.te.tcf.ui.controls.PeerIdControl;
import org.eclipse.tcf.te.tcf.ui.editor.sections.GeneralInformationSection;
-import org.eclipse.tcf.te.ui.wizards.interfaces.IValidatableWizardPage;
+import org.eclipse.tcf.te.ui.jface.interfaces.IValidatingContainer;
/**
* General information section peer id control implementation.
@@ -34,12 +34,13 @@ public class InfoSectionPeerIdControl extends PeerIdControl {
this.infoSection = infoSection;
}
- /* (non-Javadoc)
- * @see org.eclipse.tcf.te.ui.controls.BaseDialogPageControl#getValidatableWizardPage()
- */
- @Override
- public IValidatableWizardPage getValidatableWizardPage() {
- return infoSection;
+ /* (non-Javadoc)
+ * @see org.eclipse.tcf.te.ui.controls.BaseDialogPageControl#getValidatingContainer()
+ */
+ @Override
+ public IValidatingContainer getValidatingContainer() {
+ Object container = infoSection.getManagedForm().getContainer();
+ return container instanceof IValidatingContainer ? (IValidatingContainer)container : null;
}
/* (non-Javadoc)
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/editor/controls/InfoSectionPeerNameControl.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/editor/controls/InfoSectionPeerNameControl.java
index c09ac1f9b..d2f24ba81 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/editor/controls/InfoSectionPeerNameControl.java
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/editor/controls/InfoSectionPeerNameControl.java
@@ -13,7 +13,7 @@ import org.eclipse.core.runtime.Assert;
import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.tcf.te.tcf.ui.controls.PeerNameControl;
import org.eclipse.tcf.te.tcf.ui.editor.sections.GeneralInformationSection;
-import org.eclipse.tcf.te.ui.wizards.interfaces.IValidatableWizardPage;
+import org.eclipse.tcf.te.ui.jface.interfaces.IValidatingContainer;
/**
* General information section peer name control implementation.
@@ -34,12 +34,13 @@ public class InfoSectionPeerNameControl extends PeerNameControl {
this.infoSection = infoSection;
}
- /* (non-Javadoc)
- * @see org.eclipse.tcf.te.ui.controls.BaseDialogPageControl#getValidatableWizardPage()
- */
- @Override
- public IValidatableWizardPage getValidatableWizardPage() {
- return infoSection;
+ /* (non-Javadoc)
+ * @see org.eclipse.tcf.te.ui.controls.BaseDialogPageControl#getValidatingContainer()
+ */
+ @Override
+ public IValidatingContainer getValidatingContainer() {
+ Object container = infoSection.getManagedForm().getContainer();
+ return container instanceof IValidatingContainer ? (IValidatingContainer)container : null;
}
/* (non-Javadoc)
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/editor/controls/TransportSectionTypeControl.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/editor/controls/TransportSectionTypeControl.java
index 19e5d3cc8..d2452f3f0 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/editor/controls/TransportSectionTypeControl.java
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/editor/controls/TransportSectionTypeControl.java
@@ -14,7 +14,7 @@ import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.tcf.te.tcf.ui.controls.TransportTypeControl;
import org.eclipse.tcf.te.tcf.ui.editor.sections.TransportSection;
-import org.eclipse.tcf.te.ui.wizards.interfaces.IValidatableWizardPage;
+import org.eclipse.tcf.te.ui.jface.interfaces.IValidatingContainer;
/**
* Transport section transport type control implementation.
@@ -44,16 +44,19 @@ public class TransportSectionTypeControl extends TransportTypeControl {
if (transportTypePanelControl != null) {
transportTypePanelControl.showConfigurationPanel(getSelectedTransportType());
- transportSection.validatePage();
+
+ IValidatingContainer validatingContainer = getValidatingContainer();
+ if (validatingContainer != null) validatingContainer.validate();
}
}
- /* (non-Javadoc)
- * @see org.eclipse.tcf.te.ui.controls.BaseDialogPageControl#getValidatableWizardPage()
- */
- @Override
- public IValidatableWizardPage getValidatableWizardPage() {
- return transportSection;
+ /* (non-Javadoc)
+ * @see org.eclipse.tcf.te.ui.controls.BaseDialogPageControl#getValidatingContainer()
+ */
+ @Override
+ public IValidatingContainer getValidatingContainer() {
+ Object container = transportSection.getManagedForm().getContainer();
+ return container instanceof IValidatingContainer ? (IValidatingContainer)container : null;
}
/* (non-Javadoc)
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/editor/controls/TransportSectionTypePanelControl.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/editor/controls/TransportSectionTypePanelControl.java
index 70b8d4b19..a9ce72707 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/editor/controls/TransportSectionTypePanelControl.java
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/editor/controls/TransportSectionTypePanelControl.java
@@ -15,7 +15,7 @@ import org.eclipse.swt.events.ModifyListener;
import org.eclipse.tcf.te.tcf.ui.controls.TransportTypePanelControl;
import org.eclipse.tcf.te.tcf.ui.editor.sections.TransportSection;
import org.eclipse.tcf.te.ui.controls.interfaces.IWizardConfigurationPanel;
-import org.eclipse.tcf.te.ui.wizards.interfaces.IValidatableWizardPage;
+import org.eclipse.tcf.te.ui.jface.interfaces.IValidatingContainer;
/**
* Transport section transport type panel control implementation.
@@ -62,12 +62,13 @@ public class TransportSectionTypePanelControl extends TransportTypePanelControl
return valid;
}
- /* (non-Javadoc)
- * @see org.eclipse.tcf.te.ui.controls.BaseDialogPageControl#getValidatableWizardPage()
- */
- @Override
- public IValidatableWizardPage getValidatableWizardPage() {
- return transportSection;
+ /* (non-Javadoc)
+ * @see org.eclipse.tcf.te.ui.controls.BaseDialogPageControl#getValidatingContainer()
+ */
+ @Override
+ public IValidatingContainer getValidatingContainer() {
+ Object container = transportSection.getManagedForm().getContainer();
+ return container instanceof IValidatingContainer ? (IValidatingContainer)container : null;
}
/* (non-Javadoc)
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/editor/sections/GeneralInformationSection.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/editor/sections/GeneralInformationSection.java
index 3b9888dfd..f381de687 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/editor/sections/GeneralInformationSection.java
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/editor/sections/GeneralInformationSection.java
@@ -43,7 +43,6 @@ import org.eclipse.tcf.te.tcf.ui.nls.Messages;
import org.eclipse.tcf.te.ui.forms.parts.AbstractSection;
import org.eclipse.tcf.te.ui.swt.SWTControlUtil;
import org.eclipse.tcf.te.ui.views.editor.AbstractEditorPage;
-import org.eclipse.tcf.te.ui.wizards.interfaces.IValidatableWizardPage;
import org.eclipse.ui.forms.IManagedForm;
import org.eclipse.ui.forms.widgets.FormToolkit;
import org.eclipse.ui.forms.widgets.Section;
@@ -51,7 +50,7 @@ import org.eclipse.ui.forms.widgets.Section;
/**
* Peer general information section implementation.
*/
-public class GeneralInformationSection extends AbstractSection implements IValidatableWizardPage {
+public class GeneralInformationSection extends AbstractSection {
// The section sub controls
private InfoSectionPeerIdControl idControl = null;
private InfoSectionPeerNameControl nameControl = null;
@@ -308,24 +307,25 @@ public class GeneralInformationSection extends AbstractSection implements IValid
}
/* (non-Javadoc)
- * @see org.eclipse.tcf.te.ui.wizards.interfaces.IValidatableWizardPage#validatePage()
+ * @see org.eclipse.tcf.te.ui.forms.parts.AbstractSection#isValid()
*/
@Override
- public void validatePage() {
- @SuppressWarnings("unused")
- boolean valid = true;
+ public boolean isValid() {
+ boolean valid = super.isValid();
if (idControl != null) {
valid &= idControl.isValid();
-// setMessage(idControl.getMessage(), idControl.getMessageType());
+ setMessage(idControl.getMessage(), idControl.getMessageType());
}
if (nameControl != null) {
valid &= nameControl.isValid();
-// if (nameControl.getMessageType() > getMessageType()) {
-// setMessage(nameControl.getMessage(), nameControl.getMessageType());
-// }
+ if (nameControl.getMessageType() > getMessageType()) {
+ setMessage(nameControl.getMessage(), nameControl.getMessageType());
+ }
}
+
+ return valid;
}
/* (non-Javadoc)
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/editor/sections/TransportSection.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/editor/sections/TransportSection.java
index 563441d73..d8bcfc9b1 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/editor/sections/TransportSection.java
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.ui/src/org/eclipse/tcf/te/tcf/ui/editor/sections/TransportSection.java
@@ -47,7 +47,6 @@ import org.eclipse.tcf.te.ui.forms.parts.AbstractSection;
import org.eclipse.tcf.te.ui.swt.SWTControlUtil;
import org.eclipse.tcf.te.ui.views.editor.AbstractEditorPage;
import org.eclipse.tcf.te.ui.wizards.interfaces.ISharedDataWizardPage;
-import org.eclipse.tcf.te.ui.wizards.interfaces.IValidatableWizardPage;
import org.eclipse.ui.forms.IManagedForm;
import org.eclipse.ui.forms.widgets.FormToolkit;
import org.eclipse.ui.forms.widgets.Section;
@@ -55,7 +54,7 @@ import org.eclipse.ui.forms.widgets.Section;
/**
* Peer transport section implementation.
*/
-public class TransportSection extends AbstractSection implements IValidatableWizardPage {
+public class TransportSection extends AbstractSection {
// The section sub controls
private TransportSectionTypeControl transportTypeControl = null;
private TransportSectionTypePanelControl transportTypePanelControl = null;
@@ -299,26 +298,27 @@ public class TransportSection extends AbstractSection implements IValidatableWiz
}
/* (non-Javadoc)
- * @see org.eclipse.tcf.te.ui.wizards.interfaces.IValidatableWizardPage#validatePage()
+ * @see org.eclipse.tcf.te.ui.forms.parts.AbstractSection#isValid()
*/
@Override
- public void validatePage() {
- @SuppressWarnings("unused")
- boolean valid = true;
+ public boolean isValid() {
+ boolean valid = super.isValid();
if (transportTypeControl != null) {
valid &= transportTypeControl.isValid();
-// if (transportTypeControl.getMessageType() > getMessageType()) {
-// setMessage(transportTypeControl.getMessage(), transportTypeControl.getMessageType());
-// }
+ if (transportTypeControl.getMessageType() > getMessageType()) {
+ setMessage(transportTypeControl.getMessage(), transportTypeControl.getMessageType());
+ }
}
if (transportTypePanelControl != null) {
valid &= transportTypePanelControl.isValid();
-// if (transportTypePanelControl.getMessageType() > getMessageType()) {
-// setMessage(transportTypePanelControl.getMessage(), transportTypePanelControl.getMessageType());
-// }
+ if (transportTypePanelControl.getMessageType() > getMessageType()) {
+ setMessage(transportTypePanelControl.getMessage(), transportTypePanelControl.getMessageType());
+ }
}
+
+ return valid;
}
/* (non-Javadoc)
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.ui.controls/src/org/eclipse/tcf/te/ui/controls/BaseControl.java b/target_explorer/plugins/org.eclipse.tcf.te.ui.controls/src/org/eclipse/tcf/te/ui/controls/BaseControl.java
index 84aab28a0..8ff94547c 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.ui.controls/src/org/eclipse/tcf/te/ui/controls/BaseControl.java
+++ b/target_explorer/plugins/org.eclipse.tcf.te.ui.controls/src/org/eclipse/tcf/te/ui/controls/BaseControl.java
@@ -14,6 +14,7 @@ import org.eclipse.core.runtime.PlatformObject;
import org.eclipse.jface.dialogs.IDialogSettings;
import org.eclipse.jface.dialogs.IMessageProvider;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.tcf.te.ui.jface.interfaces.IValidatable;
/**
* Base implementation of a common UI control.
@@ -21,7 +22,7 @@ import org.eclipse.swt.widgets.Composite;
* The control can be embedded into any UI container like dialogs,
* wizard pages or preference pages.
*/
-public class BaseControl extends PlatformObject implements IMessageProvider {
+public class BaseControl extends PlatformObject implements IValidatable {
/**
* Reference to the parent control.
@@ -104,16 +105,11 @@ public class BaseControl extends PlatformObject implements IMessageProvider {
return enabled;
}
- /**
- * Validates the control and sets the message text and type so the parent
- * page or control is able to display validation result informations.
- * The validation should be done by implementations of WRValidator!
- * The default implementation of this method does nothing.
- * Use the isValid(WRBaseControl, boolean) method to validate child-controls.
- *
- * @return Result of validation.
+ /* (non-Javadoc)
+ * @see org.eclipse.tcf.te.ui.interfaces.validator.IValidatable#isValid()
*/
- public boolean isValid() {
+ @Override
+ public boolean isValid() {
setMessage(null, IMessageProvider.NONE);
return true;
}
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.ui.controls/src/org/eclipse/tcf/te/ui/controls/BaseDialogPageControl.java b/target_explorer/plugins/org.eclipse.tcf.te.ui.controls/src/org/eclipse/tcf/te/ui/controls/BaseDialogPageControl.java
index f3d6acf5a..7c897f9ba 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.ui.controls/src/org/eclipse/tcf/te/ui/controls/BaseDialogPageControl.java
+++ b/target_explorer/plugins/org.eclipse.tcf.te.ui.controls/src/org/eclipse/tcf/te/ui/controls/BaseDialogPageControl.java
@@ -14,7 +14,7 @@ import org.eclipse.jface.dialogs.IDialogPage;
import org.eclipse.jface.dialogs.IDialogSettings;
import org.eclipse.jface.operation.IRunnableContext;
import org.eclipse.tcf.te.ui.controls.interfaces.IRunnableContextProvider;
-import org.eclipse.tcf.te.ui.wizards.interfaces.IValidatableWizardPage;
+import org.eclipse.tcf.te.ui.jface.interfaces.IValidatingContainer;
import org.eclipse.ui.forms.widgets.FormToolkit;
@@ -57,17 +57,17 @@ public class BaseDialogPageControl extends BaseControl implements IRunnableConte
}
/**
- * Returns the validatable wizard page instance.
+ * Returns the validating container instance.
* <p>
* The default implementation is testing the associated
- * parent page to implement the {@link IValidatableWizardPage} interface.
+ * parent page to implement the {@link IValidatingContainer} interface.
*
* @return The validatable wizard page instance or <code>null</code>.
*/
- public IValidatableWizardPage getValidatableWizardPage() {
+ public IValidatingContainer getValidatingContainer() {
IDialogPage parentPage = getParentPage();
- if (parentPage instanceof IValidatableWizardPage) {
- return (IValidatableWizardPage)parentPage;
+ if (parentPage instanceof IValidatingContainer) {
+ return (IValidatingContainer)parentPage;
}
return null;
}
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.ui.controls/src/org/eclipse/tcf/te/ui/controls/BaseEditBrowseTextControl.java b/target_explorer/plugins/org.eclipse.tcf.te.ui.controls/src/org/eclipse/tcf/te/ui/controls/BaseEditBrowseTextControl.java
index db14f4890..b978d3d80 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.ui.controls/src/org/eclipse/tcf/te/ui/controls/BaseEditBrowseTextControl.java
+++ b/target_explorer/plugins/org.eclipse.tcf.te.ui.controls/src/org/eclipse/tcf/te/ui/controls/BaseEditBrowseTextControl.java
@@ -44,9 +44,9 @@ import org.eclipse.swt.widgets.Scrollable;
import org.eclipse.swt.widgets.Text;
import org.eclipse.tcf.te.ui.controls.nls.Messages;
import org.eclipse.tcf.te.ui.controls.validator.Validator;
+import org.eclipse.tcf.te.ui.jface.interfaces.IValidatingContainer;
import org.eclipse.tcf.te.ui.swt.SWTControlUtil;
import org.eclipse.tcf.te.ui.utils.DialogSettingsUtil;
-import org.eclipse.tcf.te.ui.wizards.interfaces.IValidatableWizardPage;
import org.eclipse.ui.forms.widgets.FormToolkit;
/**
@@ -619,8 +619,8 @@ public class BaseEditBrowseTextControl extends BaseDialogPageControl implements
}
// validate the page
- IValidatableWizardPage validatable = getValidatableWizardPage();
- if (validatable != null) validatable.validatePage();
+ IValidatingContainer validatingContainer = getValidatingContainer();
+ if (validatingContainer != null) validatingContainer.validate();
}
}
@@ -1011,8 +1011,8 @@ public class BaseEditBrowseTextControl extends BaseDialogPageControl implements
@Override
public void modifyText(ModifyEvent e) {
// validate the page
- IValidatableWizardPage validatable = getValidatableWizardPage();
- if (validatable != null) validatable.validatePage();
+ IValidatingContainer validatingContainer = getValidatingContainer();
+ if (validatingContainer != null) validatingContainer.validate();
}
/**
@@ -1055,8 +1055,8 @@ public class BaseEditBrowseTextControl extends BaseDialogPageControl implements
@Override
public void widgetSelected(SelectionEvent e) {
// validate the page
- IValidatableWizardPage validatable = getValidatableWizardPage();
- if (validatable != null) validatable.validatePage();
+ IValidatingContainer validatingContainer = getValidatingContainer();
+ if (validatingContainer != null) validatingContainer.validate();
}
/**
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.ui.forms/src/org/eclipse/tcf/te/ui/forms/parts/AbstractSection.java b/target_explorer/plugins/org.eclipse.tcf.te.ui.forms/src/org/eclipse/tcf/te/ui/forms/parts/AbstractSection.java
index 2b2640296..375e1453e 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.ui.forms/src/org/eclipse/tcf/te/ui/forms/parts/AbstractSection.java
+++ b/target_explorer/plugins/org.eclipse.tcf.te.ui.forms/src/org/eclipse/tcf/te/ui/forms/parts/AbstractSection.java
@@ -14,11 +14,13 @@ import java.lang.reflect.Field;
import org.eclipse.core.runtime.Assert;
import org.eclipse.core.runtime.IAdaptable;
import org.eclipse.core.runtime.Platform;
+import org.eclipse.jface.dialogs.IMessageProvider;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;
import org.eclipse.tcf.te.ui.forms.FormLayoutFactory;
+import org.eclipse.tcf.te.ui.jface.interfaces.IValidatable;
import org.eclipse.tcf.te.ui.swt.SWTControlUtil;
import org.eclipse.ui.forms.AbstractFormPart;
import org.eclipse.ui.forms.IManagedForm;
@@ -30,7 +32,11 @@ import org.eclipse.ui.forms.widgets.Section;
/**
* Abstract section implementation.
*/
-public abstract class AbstractSection extends SectionPart implements IAdaptable {
+public abstract class AbstractSection extends SectionPart implements IAdaptable, IValidatable {
+ // The message text
+ private String message = null;
+ // The message type. See IMessageProvider
+ private int messageType = NONE;
/**
* Constructor.
@@ -133,4 +139,40 @@ public abstract class AbstractSection extends SectionPart implements IAdaptable
} catch (Exception e) { /* ignored on purpose */ }
}
}
+
+ /* (non-Javadoc)
+ * @see org.eclipse.tcf.te.ui.jface.interfaces.IValidatable#isValid()
+ */
+ @Override
+ public boolean isValid() {
+ setMessage(null, IMessageProvider.NONE);
+ return true;
+ }
+
+ /**
+ * Sets the message text and type.
+ *
+ * @param message The message or <code>null</code>.
+ * @param messageType The message type. See {@link IMessageProvider}.
+ */
+ protected final void setMessage(String message, int messageType) {
+ this.message = message;
+ this.messageType = messageType;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.dialogs.IMessageProvider#getMessage()
+ */
+ @Override
+ public final String getMessage() {
+ return message;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.dialogs.IMessageProvider#getMessageType()
+ */
+ @Override
+ public final int getMessageType() {
+ return messageType;
+ }
}
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.ui.swt/META-INF/MANIFEST.MF b/target_explorer/plugins/org.eclipse.tcf.te.ui.swt/META-INF/MANIFEST.MF
index d2eb6acb0..033bcb87b 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.ui.swt/META-INF/MANIFEST.MF
+++ b/target_explorer/plugins/org.eclipse.tcf.te.ui.swt/META-INF/MANIFEST.MF
@@ -12,6 +12,7 @@ Bundle-ActivationPolicy: lazy
Bundle-Localization: plugin
Export-Package: org.eclipse.tcf.te.ui.jface.dialogs,
org.eclipse.tcf.te.ui.jface.images,
+ org.eclipse.tcf.te.ui.jface.interfaces,
org.eclipse.tcf.te.ui.swt,
org.eclipse.tcf.te.ui.swt.activator;x-internal:=true,
org.eclipse.tcf.te.ui.swt.listener,
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.ui.swt/src/org/eclipse/tcf/te/ui/jface/interfaces/IValidatable.java b/target_explorer/plugins/org.eclipse.tcf.te.ui.swt/src/org/eclipse/tcf/te/ui/jface/interfaces/IValidatable.java
new file mode 100644
index 000000000..65325b024
--- /dev/null
+++ b/target_explorer/plugins/org.eclipse.tcf.te.ui.swt/src/org/eclipse/tcf/te/ui/jface/interfaces/IValidatable.java
@@ -0,0 +1,31 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Wind River Systems, Inc. and others. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Wind River Systems - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.tcf.te.ui.jface.interfaces;
+
+import org.eclipse.jface.dialogs.IMessageProvider;
+
+/**
+ * Interface to be implemented by validatable UI elements like
+ * widgets, controls, sections or any other UI element with a
+ * validatable state.
+ */
+public interface IValidatable extends IMessageProvider {
+
+ /**
+ * Validates the state of the implementor.
+ * <p>
+ * On invocation, the method is expected to set the validatable
+ * elements message and message type ready to be queried immediately
+ * after the method returned.
+ *
+ * @return <code>True</code> if the validatable is valid, <code>false</code> otherwise.
+ */
+ public boolean isValid();
+}
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.ui.swt/src/org/eclipse/tcf/te/ui/jface/interfaces/IValidatingContainer.java b/target_explorer/plugins/org.eclipse.tcf.te.ui.swt/src/org/eclipse/tcf/te/ui/jface/interfaces/IValidatingContainer.java
new file mode 100644
index 000000000..46950ae24
--- /dev/null
+++ b/target_explorer/plugins/org.eclipse.tcf.te.ui.swt/src/org/eclipse/tcf/te/ui/jface/interfaces/IValidatingContainer.java
@@ -0,0 +1,26 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Wind River Systems, Inc. and others. All rights reserved.
+ * This program and the accompanying materials are made available under the terms
+ * of the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Wind River Systems - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.tcf.te.ui.jface.interfaces;
+
+
+/**
+ * Interface to be implemented by container managing the validation
+ * of contained validatable sub elements.
+ */
+public interface IValidatingContainer {
+
+ /**
+ * Validates the container status.
+ * <p>
+ * If necessary, set the corresponding messages and message types to signal when some sub
+ * elements of the container needs user attention.
+ */
+ public void validate();
+}
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.ui/META-INF/MANIFEST.MF b/target_explorer/plugins/org.eclipse.tcf.te.ui/META-INF/MANIFEST.MF
index 695ede54e..ac8f6ff8d 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.ui/META-INF/MANIFEST.MF
+++ b/target_explorer/plugins/org.eclipse.tcf.te.ui/META-INF/MANIFEST.MF
@@ -27,6 +27,7 @@ Export-Package: org.eclipse.tcf.te.ui,
org.eclipse.tcf.te.ui.interfaces,
org.eclipse.tcf.te.ui.internal.executors;x-internal:=true,
org.eclipse.tcf.te.ui.nls,
+ org.eclipse.tcf.te.ui.preferences,
org.eclipse.tcf.te.ui.statushandler,
org.eclipse.tcf.te.ui.tables,
org.eclipse.tcf.te.ui.tables.properties,
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.ui/src/org/eclipse/tcf/te/ui/wizards/interfaces/IValidatableWizardPage.java b/target_explorer/plugins/org.eclipse.tcf.te.ui/src/org/eclipse/tcf/te/ui/wizards/interfaces/IValidatableWizardPage.java
deleted file mode 100644
index 4828f7bd5..000000000
--- a/target_explorer/plugins/org.eclipse.tcf.te.ui/src/org/eclipse/tcf/te/ui/wizards/interfaces/IValidatableWizardPage.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 Wind River Systems, Inc. and others. All rights reserved.
- * This program and the accompanying materials are made available under the terms
- * of the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Wind River Systems - initial API and implementation
- *******************************************************************************/
-package org.eclipse.tcf.te.ui.wizards.interfaces;
-
-import org.eclipse.jface.wizard.WizardPage;
-
-/**
- * Public interface for validatable wizard pages.
- */
-public interface IValidatableWizardPage {
-
- /**
- * Validates the page status.
- * <p>
- * If necessary, set corresponding messages and message types to signal if some
- * control on the page needs attention.
- * <p>
- * Depending on the outcome of the page data validation, call {@link WizardPage#setPageComplete(boolean)}
- * with either <code>true</code> or <code>false</code> to signal if the wizard
- * can finish given the current page data or not.
- */
- public void validatePage();
-}
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.ui/src/org/eclipse/tcf/te/ui/wizards/pages/AbstractSharedDataWizardPage.java b/target_explorer/plugins/org.eclipse.tcf.te.ui/src/org/eclipse/tcf/te/ui/wizards/pages/AbstractSharedDataWizardPage.java
index 700886d23..e9969ab76 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.ui/src/org/eclipse/tcf/te/ui/wizards/pages/AbstractSharedDataWizardPage.java
+++ b/target_explorer/plugins/org.eclipse.tcf.te.ui/src/org/eclipse/tcf/te/ui/wizards/pages/AbstractSharedDataWizardPage.java
@@ -16,7 +16,7 @@ import org.eclipse.tcf.te.runtime.interfaces.properties.IPropertiesContainer;
/**
* An abstract shared data wizard page implementation.
*/
-public abstract class AbstractSharedDataWizardPage extends AbstractValidatableWizardPage implements ISharedDataWizardPage {
+public abstract class AbstractSharedDataWizardPage extends AbstractValidatingWizardPage implements ISharedDataWizardPage {
/**
* Constructor.
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.ui/src/org/eclipse/tcf/te/ui/wizards/pages/AbstractValidatableWizardPage.java b/target_explorer/plugins/org.eclipse.tcf.te.ui/src/org/eclipse/tcf/te/ui/wizards/pages/AbstractValidatingWizardPage.java
index d44944ca3..89b99a8de 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.ui/src/org/eclipse/tcf/te/ui/wizards/pages/AbstractValidatableWizardPage.java
+++ b/target_explorer/plugins/org.eclipse.tcf.te.ui/src/org/eclipse/tcf/te/ui/wizards/pages/AbstractValidatingWizardPage.java
@@ -10,15 +10,14 @@
package org.eclipse.tcf.te.ui.wizards.pages;
import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.tcf.te.ui.wizards.interfaces.IValidatableWizardPage;
+import org.eclipse.tcf.te.ui.jface.interfaces.IValidatingContainer;
/**
- * An abstract validatable wizard page implementation.
+ * An abstract validating wizard page implementation.
* <p>
- * This wizard page implementation is adding utility methods
- * for handling page validation.
+ * This wizard page implementation is adding utility methods for handling page validation.
*/
-public abstract class AbstractValidatableWizardPage extends AbstractWizardPage implements IValidatableWizardPage {
+public abstract class AbstractValidatingWizardPage extends AbstractWizardPage implements IValidatingContainer {
// A used to detect if a validation process is already running.
// If set to true, validatePage() should return immediately.
private boolean validationInProgress = false;
@@ -28,7 +27,7 @@ public abstract class AbstractValidatableWizardPage extends AbstractWizardPage i
*
* @param pageName The page name. Must not be <code>null</code>.
*/
- public AbstractValidatableWizardPage(String pageName) {
+ public AbstractValidatingWizardPage(String pageName) {
super(pageName);
}
@@ -39,7 +38,7 @@ public abstract class AbstractValidatableWizardPage extends AbstractWizardPage i
* @param title The wizard page title or <code>null</code>.
* @param titleImage The wizard page title image or <code>null</code>.
*/
- public AbstractValidatableWizardPage(String pageName, String title, ImageDescriptor titleImage) {
+ public AbstractValidatingWizardPage(String pageName, String title, ImageDescriptor titleImage) {
super(pageName, title, titleImage);
}
@@ -82,10 +81,10 @@ public abstract class AbstractValidatableWizardPage extends AbstractWizardPage i
}
/* (non-Javadoc)
- * @see org.eclipse.tcf.te.ui.controls.interfaces.IValidatableDialogPage#validatePage()
+ * @see org.eclipse.tcf.te.ui.jface.interfaces.IValidatingContainer#validate()
*/
@Override
- public void validatePage() {
+ public void validate() {
if (isValidationInProgress()) return;
setValidationInProgress(true);

Back to the top