Remote Systems
v6.4.1

com.ibm.etools.systems.files.ui.dialogs
Class SystemSelectRemoteFileOrFolderDialog

java.lang.Object
  extended byorg.eclipse.jface.dialogs.Dialog
      extended bycom.ibm.etools.systems.core.ui.dialogs.SystemPromptDialog
          extended bycom.ibm.etools.systems.files.ui.dialogs.SystemSelectRemoteFileOrFolderDialog
All Implemented Interfaces:
ISystemMessageLine, ISystemPromptDialog, Runnable
Direct Known Subclasses:
CombineDialog, ExtractToDialog, FileSelectionDialog, SaveAsDialog, SystemEnterOrSelectRemoteFileDialog

public class SystemSelectRemoteFileOrFolderDialog
extends SystemPromptDialog

Dialog for allowing users to select a remote file or folder. This is a thin dialog wrapper on top of * the SystemSelectRemoteFileOrFolderForm widget, which you could optionally imbed directly into your own * dialog or wizard page. *

* Call these methods to configure the functionality of the dialog *

*

* Call these methods to configure the text on the dialog *

*

* After running, call these methods to get the output: *

* * @see com.ibm.etools.systems.files.ui.actions.SystemSelectRemoteFileAction * @see com.ibm.etools.systems.files.ui.actions.SystemSelectRemoteFolderAction

See Also:
Serialized Form

Field Summary
static String copyright
           
static boolean FILE_MODE
           
static boolean FOLDER_MODE
           
protected  SystemSelectRemoteFileOrFolderForm form
           
protected  SystemConnection outputConnection
           
 
Fields inherited from class com.ibm.etools.systems.core.ui.dialogs.SystemPromptDialog
activeRunningOperations, ADD_BUTTON_NO, ADD_BUTTON_YES, ADD_ID, addButton, arrowCursor, BROWSE_BUTTON_NO, BROWSE_BUTTON_YES, BROWSE_ID, browseButton, buttonsComposite, cancelButton, cancelListener, DETAILS_BUTTON_NO, DETAILS_BUTTON_YES, DETAILS_ID, detailsButton, detailsButtonHideMode, detailsHideLabel, detailsShowLabel, dialogAreaComposite, dialogMnemonics, fMessageLine, helpId, horizontalSpacing, initialAddButtonEnabledState, initialDetailsButtonEnabledState, initialOKButtonEnabledState, inputObject, labelAdd, labelBrowse, labelCancel, labelDetailsHide, labelDetailsShow, labelOk, labelTest, marginHeight, marginWidth, minHeight, minWidth, needsProgressMonitor, okButton, okPressed, operationCancelableState, outputObject, outputObjectValidator, overallShell, pack, parentComposite, pendingErrorMessage, pendingMessage, progressMonitorPart, showAddButton, showBrowseButton, showDetailsButton, showOkButton, showTestButton, TEST_BUTTON_NO, TEST_BUTTON_YES, TEST_ID, testButton, tipAdd, tipBrowse, tipCancel, tipDetailsHide, tipDetailsShow, tipOk, tipTest, title, titleImage, verticalSpacing, waitCursor, windowClosingDialog
 
Constructor Summary
SystemSelectRemoteFileOrFolderDialog(Shell shell, boolean fileMode)
          Constructor * * @param shell The shell to hang the dialog off of * @param fileMode True if selecting files, false if selecting folders *
SystemSelectRemoteFileOrFolderDialog(Shell shell, String title, boolean fileMode)
          Constructor when you want to supply your own title
 
Method Summary
 void addViewerFilter(ViewerFilter filter)
          Add viewer filter
 boolean close()
          We have to override close to ensure that we reset the form to null
protected  Control createInner(Composite parent)
          Private method
protected  ISystemMessageLine createMessageLine(Composite c)
          Create message line.
 void enableAddMode(ISystemAddFileListener caller)
          Enable Add mode.
 void enableAddMode(ISystemAddFileListener caller, String addLabel, String addToolTipText)
          Overloaded method that allows setting the label and tooltip text of the Add button
protected  SystemSelectRemoteFileOrFolderForm getForm(boolean fileMode)
          Private method
protected  Control getInitialFocusControl()
          Private method
 boolean getMultipleSelectionMode()
          Return the multiple selection mode as set by setMultipleSelectionMode(boolean)
 SystemConnection getSelectedConnection()
          Return selected connection
 Object getSelectedObject()
          Return selected file or folder
 Object[] getSelectedObjects()
          Return all selected objects.
 SystemViewForm getSystemViewForm()
          Return the embedded System Tree object
protected  boolean processAdd()
          Private method
protected  boolean processDetails(boolean hideMode)
          Private method
protected  boolean processOK()
          Private method
 void setAllowFolderSelection(boolean allow)
          Sets whether to allow folder selection.
 void setAllowForMultipleParents(boolean flag)
          indicate whether selections from different parents are allowed
 void setAutoExpandDepth(int depth)
          Specify the zero-based auto-expand level for the tree.
 void setDefaultConnection(SystemConnection conn)
          Set the connection to default the selection to
 void setFileTypes(String fileTypes)
          For files mode, restrict the files list by a comman-delimited array of file types
 void setFileTypes(String[] fileTypes)
          For files mode, restrict the files list by an array of file types * * This must be called BEFORE setRootFolder!
 void setMessage(String message)
          Set the message shown at the top of the form
 void setMultipleSelectionMode(boolean multiple)
          Set multiple selection mode.
 void setPageComplete(boolean complete)
          Call this to disable the Apply button if the input is not complete or not valid.
 void setPreSelection(IRemoteFile selection)
          Set a file or folder to preselect.
 void setRestrictFolders(boolean restrict)
          Specify whether setRootFolder should prevent the user from being able to see or select * any other folder.
 void setRootFolder(IRemoteFile rootFolder)
          Set the root folder from which to start listing folders
 void setRootFolder(SystemConnection connection, String folderAbsolutePath)
          Set the root folder from which to start listing folders or files
 void setSelectionTreeToolTipText(String tip)
          Set the tooltip text for the remote systems tree from which an item is selected.
 void setSelectionValidator(IValidatorRemoteSelection selectionValidator)
          Specify a validator to use when the user selects a remote file or folder
 void setShowNewConnectionPrompt(boolean show)
          Set to true if a "New Connection..." special connection is to be shown for creating new connections
 void setShowPropertySheet(boolean show)
          Show the property sheet on the right hand side, to show the properties of the * selected object
 void setShowPropertySheet(boolean show, boolean initialState)
          Show the property sheet on the right hand side, to show the properties of the * selected object
 void setSystemConnection(SystemConnection conn)
          Set the system connection to restrict the user to selecting files or folders from
 void setSystemTypes(String[] systemTypes)
          Restrict to certain system types * @param systemTypes the system types to restrict what connections are shown and what types of connections * the user can create * @see com.ibm.etools.systems.core.ISystemTypes
 
Methods inherited from class com.ibm.etools.systems.core.ui.dialogs.SystemPromptDialog
aboutToStart, addFillerLine, addGrowableFillerLine, addSeparatorLine, adjustButtonWidth, applyMnemonics, buttonPressed, clearErrorMessage, clearMessage, configureShell, createButtonBar, createButtonsForButtonBar, createContents, createControl, createDialogArea, createWizardClosingDialog, dispose, enableAddButton, enableBrowseButton, enableCancelButton, enableDetailsButton, enableOkButton, enableTestButton, getAddButton, getBrowseButton, getCancelOrCloseButton, getControl, getDescription, getDetailsButton, getDialogMnemonics, getErrorMessage, getHelpContextId, getImage, getInputObject, getMessage, getMessageLine, getOkButton, getOutputObject, getOutputObjectValidator, getProgressMonitor, getSystemErrorMessage, getTestButton, getTitle, handleEvent, hardClose, okToClose, pack, performHelp, processBrowse, processCancel, processTest, publicConvertHeightInCharsToPixels, publicConvertWidthInCharsToPixels, restoreEnableState, restoreUIState, run, run, saveEnableStateAndSet, saveUIState, setAddButtonLabel, setAddButtonToolTipText, setBrowseButtonLabel, setBrowseButtonToolTipText, setBusyCursor, setCancelButtonLabel, setCancelButtonToolTipText, setControl, setDescription, setDetailsButtonLabel, setDetailsButtonToolTipText, setDisplayCursor, setDisplayCursor, setErrorMessage, setErrorMessage, setErrorMessage, setHelp, setHelp, setImageDescriptor, setInitialOKButtonEnabledState, setInputObject, setMessage, setMinimumSize, setNeedsProgressMonitor, setOkButtonLabel, setOkButtonToolTipText, setOutputObject, setOutputObjectValidator, setShowAddButton, setShowBrowseButton, setShowDetailsButton, setShowOkButton, setShowTestButton, setTestButtonLabel, setTestButtonToolTipText, setTitle, setVisible, wasCancelled
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

copyright

public static final String copyright
See Also:
Constant Field Values

FILE_MODE

public static final boolean FILE_MODE
See Also:
Constant Field Values

FOLDER_MODE

public static final boolean FOLDER_MODE
See Also:
Constant Field Values

form

protected SystemSelectRemoteFileOrFolderForm form

outputConnection

protected SystemConnection outputConnection
Constructor Detail

SystemSelectRemoteFileOrFolderDialog

public SystemSelectRemoteFileOrFolderDialog(Shell shell,
                                            boolean fileMode)
Constructor * * @param shell The shell to hang the dialog off of * @param fileMode True if selecting files, false if selecting folders *


SystemSelectRemoteFileOrFolderDialog

public SystemSelectRemoteFileOrFolderDialog(Shell shell,
                                            String title,
                                            boolean fileMode)
Constructor when you want to supply your own title. * * @param shell The shell to hang the dialog off of * @param title The title to give the dialog * @param fileMode True if selecting files, false if selecting folders

Method Detail

setAllowForMultipleParents

public void setAllowForMultipleParents(boolean flag)
indicate whether selections from different parents are allowed


setSystemConnection

public void setSystemConnection(SystemConnection conn)
Set the system connection to restrict the user to selecting files or folders from


setDefaultConnection

public void setDefaultConnection(SystemConnection conn)
Set the connection to default the selection to


setSystemTypes

public void setSystemTypes(String[] systemTypes)
Restrict to certain system types * @param systemTypes the system types to restrict what connections are shown and what types of connections * the user can create * @see com.ibm.etools.systems.core.ISystemTypes


setShowNewConnectionPrompt

public void setShowNewConnectionPrompt(boolean show)
Set to true if a "New Connection..." special connection is to be shown for creating new connections


setMessage

public void setMessage(String message)
Set the message shown at the top of the form

Specified by:
setMessage in interface ISystemMessageLine
Overrides:
setMessage in class SystemPromptDialog

setSelectionTreeToolTipText

public void setSelectionTreeToolTipText(String tip)
Set the tooltip text for the remote systems tree from which an item is selected.


setAutoExpandDepth

public void setAutoExpandDepth(int depth)
Specify the zero-based auto-expand level for the tree. The default is zero, meaning * only show the connections.


setRootFolder

public void setRootFolder(SystemConnection connection,
                          String folderAbsolutePath)
Set the root folder from which to start listing folders or files. * This version identifies the folder via a connection object and absolute path. * There is another overload that identifies the folder via a single IRemoteFile object. * * @param connection The connection to the remote system containing the root folder * @param folderAbsolutePath The fully qualified folder to start listing from (eg: "\folder1\folder2") * * @see com.ibm.etools.systems.files.RemoteFileFilterString


setRootFolder

public void setRootFolder(IRemoteFile rootFolder)
Set the root folder from which to start listing folders. * This version identifies the folder via an IRemoteFile object. * There is another overload that identifies the folder via a connection and folder path. *

* This call effectively transforms the select dialog by: *

* * @param rootFolder The IRemoteFile object representing the remote folder to start the list from * * @see com.ibm.etools.systems.files.RemoteFileFilterString


setPreSelection

public void setPreSelection(IRemoteFile selection)
Set a file or folder to preselect. This will: * * If there is no parent, then we were given a root. In which case we will *


setFileTypes

public void setFileTypes(String[] fileTypes)
For files mode, restrict the files list by an array of file types *

* This must be called BEFORE setRootFolder!


setFileTypes

public void setFileTypes(String fileTypes)
For files mode, restrict the files list by a comman-delimited array of file types. * The last type must also end in a comma. Eg "java, class," or "class,". *

* This must be called BEFORE setRootFolder!


setRestrictFolders

public void setRestrictFolders(boolean restrict)
Specify whether setRootFolder should prevent the user from being able to see or select * any other folder. This causes two effects: *
    *
  1. The special filter for root/drives is not shown *
  2. No subfolders are listed in the target folder, if we are listing files. Of course, they are shown * if we are listing folders, else it would be an empty list! *


enableAddMode

public void enableAddMode(ISystemAddFileListener caller)
Enable Add mode. This means the OK button is replaced with an Add button, and * the Cancel with a Close button. When Add is pressed, the caller is called back. * The dialog is not exited until Close is pressed. *

* When a library is selected, the caller is called back to decide to enable the Add * button or not.


enableAddMode

public void enableAddMode(ISystemAddFileListener caller,
                          String addLabel,
                          String addToolTipText)
Overloaded method that allows setting the label and tooltip text of the Add button. * If you pass null for the label, the default is used ("Add").


setShowPropertySheet

public void setShowPropertySheet(boolean show)
Show the property sheet on the right hand side, to show the properties of the * selected object. *

* This overload always shows the property sheet *

* Default is false


setShowPropertySheet

public void setShowPropertySheet(boolean show,
                                 boolean initialState)
Show the property sheet on the right hand side, to show the properties of the * selected object. *

* This overload shows a Details>>> button so the user can decide if they want to see the * property sheet. *

* @param show True if show the property sheet within the dialog * @param initialState True if the property is to be initially displayed, false if it is not * to be displayed until the user presses the Details button.


setMultipleSelectionMode

public void setMultipleSelectionMode(boolean multiple)
Set multiple selection mode. Default is single selection mode *

* If you turn on multiple selection mode, you must use the getSelectedObjects() * method to retrieve the list of selected objects. *

* Further, if you turn this on, it has the side effect of allowing the user * to select any remote object. The assumption being if you are prompting for * files, you also want to allow the user to select a folder, with the meaning * being that all files within the folder are implicitly selected. * * @see #getSelectedObjects()


setSelectionValidator

public void setSelectionValidator(IValidatorRemoteSelection selectionValidator)
Specify a validator to use when the user selects a remote file or folder. * This allows you to decide if OK should be enabled or not for that remote file or folder.


getSelectedObject

public Object getSelectedObject()
Return selected file or folder


getSelectedObjects

public Object[] getSelectedObjects()
Return all selected objects. This method will return an array of one * unless you have called setMultipleSelectionMode(true)! * @see #setMultipleSelectionMode(boolean)


getSelectedConnection

public SystemConnection getSelectedConnection()
Return selected connection


getMultipleSelectionMode

public boolean getMultipleSelectionMode()
Return the multiple selection mode as set by setMultipleSelectionMode(boolean)


getSystemViewForm

public SystemViewForm getSystemViewForm()
Return the embedded System Tree object. * Will be null until createContents is called.


getInitialFocusControl

protected Control getInitialFocusControl()
Private method. * @see SystemPromptDialog#getInitialFocusControl()

Specified by:
getInitialFocusControl in class SystemPromptDialog

createInner

protected Control createInner(Composite parent)
Private method. * @see SystemPromptDialog#createInner(Composite)

Specified by:
createInner in class SystemPromptDialog

getForm

protected SystemSelectRemoteFileOrFolderForm getForm(boolean fileMode)
Private method. * Get the contents.


createMessageLine

protected ISystemMessageLine createMessageLine(Composite c)
Create message line. Intercept so we can set msg line of form.

Overrides:
createMessageLine in class SystemPromptDialog

processOK

protected boolean processOK()
Private method. *

* Called when user presses OK button. * Return true to close dialog. * Return false to not close dialog.

Overrides:
processOK in class SystemPromptDialog

processAdd

protected boolean processAdd()
Private method. *

* Called when user presses Add button.

Overrides:
processAdd in class SystemPromptDialog

processDetails

protected boolean processDetails(boolean hideMode)
Private method. *

* Called when user presses DETAILS button. *

* Note the text is automatically toggled for us! We need only * do whatever the functionality is that we desire * * @param hideMode the current state of the details toggle, prior to this request. If we return true from * this method, this state and the button text will be toggled. * * @return true if the details state toggle was successful, false if it failed.

Overrides:
processDetails in class SystemPromptDialog
Parameters:
hideMode - the current state of the details toggle, prior to this request. If you return true from this method, this state and the button text will be toggled.
Returns:
true if the details state toggle was successful, false if it failed.

setPageComplete

public void setPageComplete(boolean complete)
Description copied from class: SystemPromptDialog
Call this to disable the Apply button if the input is not complete or not valid.

Overrides:
setPageComplete in class SystemPromptDialog

close

public boolean close()
We have to override close to ensure that we reset the form to null

Overrides:
close in class SystemPromptDialog

addViewerFilter

public void addViewerFilter(ViewerFilter filter)
Add viewer filter. * @param filter a viewer filter.


setAllowFolderSelection

public void setAllowFolderSelection(boolean allow)
Sets whether to allow folder selection. The default selection validator will use this to * determine whether the OK button will be enabled when a folder is selected. The default * is true. This call only makes sense if the dialog is in file selection mode. * @param allow true to allow folder selection, false otherwise.


Remote Systems
v6.4.1

Copyright © 2005 IBM Corp. All Rights Reserved.

Note: This documentation is for part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.