org.csstudio.ui.util.composites
Class ResourceAndContainerGroup

java.lang.Object
  extended by org.csstudio.ui.util.composites.ResourceAndContainerGroup

public final class ResourceAndContainerGroup
extends java.lang.Object

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.

Code is based upon org.eclipse.ui.internal.ide.misc.ResourceAndContainerGroup in plugin org.eclipse.ui.ide.

Version:
$Revision$
Author:
Alexander Will

Field Summary
static int PROBLEM_CONTAINER_EMPTY
          Problem identifier: Container is empty.
static int PROBLEM_NAME_INVALID
          Problem identifier: Invalid resource name.
static int PROBLEM_NONE
          Problem identifier: No problem.
static int PROBLEM_PATH_INVALID
          Problem identifier: Path is invalid.
static int PROBLEM_PATH_OCCUPIED
          Problem identifier: Path os occupied.
static int PROBLEM_PROJECT_DOES_NOT_EXIST
          Problem identifier: Project does not exist.
static int PROBLEM_RESOURCE_EMPTY
          Problem identifier: Empty resource.
static int PROBLEM_RESOURCE_EXIST
          Problem identifier: Resource already exists.
 
Constructor Summary
ResourceAndContainerGroup(Composite parent, Listener client, java.lang.String resourceFieldLabel, java.lang.String resourceType)
          Create an instance of the group to allow the user to enter/select a container and specify a resource name.
ResourceAndContainerGroup(Composite parent, Listener client, java.lang.String resourceFieldLabel, java.lang.String resourceType, boolean showClosedProjects)
          Create an instance of the group to allow the user to enter/select a container and specify a resource name.
ResourceAndContainerGroup(Composite parent, Listener client, java.lang.String resourceFieldLabel, java.lang.String resourceType, boolean showClosedProjects, int heightHint)
          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.
 IPath getContainerFullPath()
          Returns the path of the currently selected container or null if no container has been selected.
 java.lang.String getFileExtension()
          Return the file extension.
 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(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(IPath path)
          Sets the value of this page's container.
 void setContainerSelectionGroupEnabled(boolean enabled)
          Set the embedded container selection group to enabled/disabled.
 void setFileExtension(java.lang.String fileExtension)
          Set the file extension.
 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
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PROBLEM_NONE

public static final int PROBLEM_NONE
Problem identifier: No problem.

See Also:
Constant Field Values

PROBLEM_RESOURCE_EMPTY

public static final int PROBLEM_RESOURCE_EMPTY
Problem identifier: Empty resource.

See Also:
Constant Field Values

PROBLEM_RESOURCE_EXIST

public static final int PROBLEM_RESOURCE_EXIST
Problem identifier: Resource already exists.

See Also:
Constant Field Values

PROBLEM_PATH_INVALID

public static final int PROBLEM_PATH_INVALID
Problem identifier: Path is invalid.

See Also:
Constant Field Values

PROBLEM_CONTAINER_EMPTY

public static final int PROBLEM_CONTAINER_EMPTY
Problem identifier: Container is empty.

See Also:
Constant Field Values

PROBLEM_PROJECT_DOES_NOT_EXIST

public static final int PROBLEM_PROJECT_DOES_NOT_EXIST
Problem identifier: Project does not exist.

See Also:
Constant Field Values

PROBLEM_NAME_INVALID

public static final int PROBLEM_NAME_INVALID
Problem identifier: Invalid resource name.

See Also:
Constant Field Values

PROBLEM_PATH_OCCUPIED

public static final int PROBLEM_PATH_OCCUPIED
Problem identifier: Path os occupied.

See Also:
Constant Field Values
Constructor Detail

ResourceAndContainerGroup

public ResourceAndContainerGroup(Composite parent,
                                 Listener client,
                                 java.lang.String resourceFieldLabel,
                                 java.lang.String resourceType)
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) height hint for the container selection widget group

ResourceAndContainerGroup

public ResourceAndContainerGroup(Composite parent,
                                 Listener client,
                                 java.lang.String resourceFieldLabel,
                                 java.lang.String resourceType,
                                 boolean showClosedProjects)
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 height hint for the container selection widget group

ResourceAndContainerGroup

public ResourceAndContainerGroup(Composite parent,
                                 Listener client,
                                 java.lang.String resourceFieldLabel,
                                 java.lang.String resourceType,
                                 boolean showClosedProjects,
                                 int heightHint)
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 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.

Returns:
The full path of the selected container.

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.

Returns:
The entered resource name.

handleEvent

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

Parameters:
e - org.eclipse.swt.widgets.Event

setAllowExistingResources

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

Parameters:
value - Flag that signals of it is allows to enter the names of already existing resources.

setContainerFullPath

public void setContainerFullPath(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

getFileExtension

public java.lang.String getFileExtension()
Return the file extension.

Returns:
The file extension

setFileExtension

public void setFileExtension(java.lang.String fileExtension)
Set the file extension.

Parameters:
fileExtension - The file extension to set

setContainerSelectionGroupEnabled

public void setContainerSelectionGroupEnabled(boolean enabled)
Set the embedded container selection group to enabled/disabled.

Parameters:
enabled - true for enabled, false for diabled.