org.eclipse.datatools.sqltools.result.internal.ui.export
Class ResourceAndContainerGroup

java.lang.Object
  extended by org.eclipse.datatools.sqltools.result.internal.ui.export.ResourceAndContainerGroup
All Implemented Interfaces:
org.eclipse.swt.widgets.Listener
Direct Known Subclasses:
SaveResultGroup

public class ResourceAndContainerGroup
extends java.lang.Object
implements org.eclipse.swt.widgets.Listener

Workbench-level composite for resource and container specification by the user. Services such as field validation are performed by the group. The group can be configured to accept existing resources, or only new resources.

This class is copied from org.eclipse.ui.internal.ide.misc.ResourceAndContainerGroup since it is an internal class, the createExtraContents method is added to allow subclasses to create extra contents.

Author:
Dafan Yang

Field Summary
static int PROBLEM_CONTAINER_EMPTY
           
static int PROBLEM_NAME_INVALID
           
static int PROBLEM_NONE
           
static int PROBLEM_PATH_INVALID
           
static int PROBLEM_PATH_OCCUPIED
           
static int PROBLEM_PROJECT_DOES_NOT_EXIST
           
static int PROBLEM_RESOURCE_CONTAINS_SEPARATOR
           
static int PROBLEM_RESOURCE_EMPTY
           
static int PROBLEM_RESOURCE_EXIST
           
 
Constructor Summary
ResourceAndContainerGroup(org.eclipse.swt.widgets.Composite parent, org.eclipse.swt.widgets.Listener client, java.lang.String resourceFieldLabel, java.lang.String resourceType, boolean showClosedProjects, int heightHint, org.eclipse.swt.widgets.Listener listener)
          Create an instance of the group to allow the user to enter/select a container and specify a resource name.
ResourceAndContainerGroup(org.eclipse.swt.widgets.Composite parent, org.eclipse.swt.widgets.Listener client, java.lang.String resourceFieldLabel, java.lang.String resourceType, boolean showClosedProjects, org.eclipse.swt.widgets.Listener listener)
          Create an instance of the group to allow the user to enter/select a container and specify a resource name.
ResourceAndContainerGroup(org.eclipse.swt.widgets.Composite parent, org.eclipse.swt.widgets.Listener client, java.lang.String resourceFieldLabel, java.lang.String resourceType, org.eclipse.swt.widgets.Listener listener)
          Create an instance of the group to allow the user to enter/select a container and specify a resource name.
 
Method Summary
 boolean areAllValuesValid()
          Returns a boolean indicating whether all controls in this group contain valid values.
 org.eclipse.core.runtime.IPath getContainerFullPath()
          Returns the path of the currently selected container or null if no container has been selected.
 java.lang.String getProblemMessage()
          Returns an error message indicating the current problem with the value of a control in the group, or an empty message if all controls in the group contain valid values.
 int getProblemType()
          Returns the type of problem with the value of a control in the group.
 java.lang.String getResource()
          Returns a string that is the path of the currently selected container.
 void handleEvent(org.eclipse.swt.widgets.Event e)
          Handles events for all controls in the group.
 void setAllowExistingResources(boolean value)
          Sets the flag indicating whether existing resources are permitted.
 void setContainerFullPath(org.eclipse.core.runtime.IPath path)
          Sets the value of this page's container.
 void setFocus()
          Gives focus to the resource name field and selects its contents
 void setResource(java.lang.String value)
          Sets the value of this page's resource name.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PROBLEM_NONE

public static final int PROBLEM_NONE
See Also:
Constant Field Values

PROBLEM_RESOURCE_EMPTY

public static final int PROBLEM_RESOURCE_EMPTY
See Also:
Constant Field Values

PROBLEM_RESOURCE_EXIST

public static final int PROBLEM_RESOURCE_EXIST
See Also:
Constant Field Values

PROBLEM_RESOURCE_CONTAINS_SEPARATOR

public static final int PROBLEM_RESOURCE_CONTAINS_SEPARATOR
See Also:
Constant Field Values

PROBLEM_PATH_INVALID

public static final int PROBLEM_PATH_INVALID
See Also:
Constant Field Values

PROBLEM_CONTAINER_EMPTY

public static final int PROBLEM_CONTAINER_EMPTY
See Also:
Constant Field Values

PROBLEM_PROJECT_DOES_NOT_EXIST

public static final int PROBLEM_PROJECT_DOES_NOT_EXIST
See Also:
Constant Field Values

PROBLEM_NAME_INVALID

public static final int PROBLEM_NAME_INVALID
See Also:
Constant Field Values

PROBLEM_PATH_OCCUPIED

public static final int PROBLEM_PATH_OCCUPIED
See Also:
Constant Field Values
Constructor Detail

ResourceAndContainerGroup

public ResourceAndContainerGroup(org.eclipse.swt.widgets.Composite parent,
                                 org.eclipse.swt.widgets.Listener client,
                                 java.lang.String resourceFieldLabel,
                                 java.lang.String resourceType,
                                 org.eclipse.swt.widgets.Listener listener)
Create an instance of the group to allow the user to enter/select a container and specify a resource name.

Parameters:
parent - composite widget to parent the group
client - object interested in changes to the group's fields value
resourceFieldLabel - label to use in front of the resource name field
resourceType - one word, in lowercase, to describe the resource to the user (file, folder, project)

ResourceAndContainerGroup

public ResourceAndContainerGroup(org.eclipse.swt.widgets.Composite parent,
                                 org.eclipse.swt.widgets.Listener client,
                                 java.lang.String resourceFieldLabel,
                                 java.lang.String resourceType,
                                 boolean showClosedProjects,
                                 org.eclipse.swt.widgets.Listener listener)
Create an instance of the group to allow the user to enter/select a container and specify a resource name.

Parameters:
parent - composite widget to parent the group
client - object interested in changes to the group's fields value
resourceFieldLabel - label to use in front of the resource name field
resourceType - one word, in lowercase, to describe the resource to the user (file, folder, project)
showClosedProjects - whether or not to show closed projects

ResourceAndContainerGroup

public ResourceAndContainerGroup(org.eclipse.swt.widgets.Composite parent,
                                 org.eclipse.swt.widgets.Listener client,
                                 java.lang.String resourceFieldLabel,
                                 java.lang.String resourceType,
                                 boolean showClosedProjects,
                                 int heightHint,
                                 org.eclipse.swt.widgets.Listener listener)
Create an instance of the group to allow the user to enter/select a container and specify a resource name.

Parameters:
parent - composite widget to parent the group
client - object interested in changes to the group's fields value
resourceFieldLabel - label to use in front of the resource name field
resourceType - one word, in lowercase, to describe the resource to the user (file, folder, project)
showClosedProjects - whether or not to show closed projects
heightHint - height hint for the container selection widget group
Method Detail

areAllValuesValid

public boolean areAllValuesValid()
Returns a boolean indicating whether all controls in this group contain valid values.

Returns:
boolean

getContainerFullPath

public org.eclipse.core.runtime.IPath getContainerFullPath()
Returns the path of the currently selected container or null if no container has been selected. Note that the container may not exist yet if the user entered a new container name in the field.


getProblemMessage

public java.lang.String getProblemMessage()
Returns an error message indicating the current problem with the value of a control in the group, or an empty message if all controls in the group contain valid values.

Returns:
java.lang.String

getProblemType

public int getProblemType()
Returns the type of problem with the value of a control in the group.

Returns:
one of the PROBLEM_* constants

getResource

public java.lang.String getResource()
Returns a string that is the path of the currently selected container. Returns an empty string if no container has been selected.


handleEvent

public void handleEvent(org.eclipse.swt.widgets.Event e)
Handles events for all controls in the group.

Specified by:
handleEvent in interface org.eclipse.swt.widgets.Listener
Parameters:
e - org.eclipse.swt.widgets.Event

setAllowExistingResources

public void setAllowExistingResources(boolean value)
Sets the flag indicating whether existing resources are permitted.


setContainerFullPath

public void setContainerFullPath(org.eclipse.core.runtime.IPath path)
Sets the value of this page's container.

Parameters:
path - Full path to the container.

setFocus

public void setFocus()
Gives focus to the resource name field and selects its contents


setResource

public void setResource(java.lang.String value)
Sets the value of this page's resource name.

Parameters:
value - new value