RSE
Release 1.0

org.eclipse.rse.ui.dialogs
Class SystemSelectConnectionDialog

java.lang.Object
  extended byorg.eclipse.jface.window.Window
      extended byorg.eclipse.jface.dialogs.Dialog
          extended byorg.eclipse.rse.ui.dialogs.SystemPromptDialog
              extended byorg.eclipse.rse.ui.dialogs.SystemSelectConnectionDialog
All Implemented Interfaces:
IDialogConstants, IDialogPage, IRunnableContext, IShellProvider, ISystemMessageLine, ISystemPageCompleteListener, ISystemPromptDialog, Listener, Runnable

public class SystemSelectConnectionDialog
extends SystemPromptDialog
implements ISystemPageCompleteListener

Dialog for allowing users to select an existing connection, or optionally create a new one. There are a number of methods to configure the dialog so only connections of a particular system type, or containing subsystems from a particular subsystem factory or class of subsystem factories, are shown.

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:


Nested Class Summary
 
Nested classes inherited from class org.eclipse.jface.window.Window
Window.IExceptionHandler
 
Field Summary
static boolean FILE_MODE
           
static boolean FOLDER_MODE
           
 
Fields inherited from class org.eclipse.rse.ui.dialogs.SystemPromptDialog
activeRunningOperations, ADD_BUTTON_NO, ADD_BUTTON_YES, ADD_ID, addButton, arrowCursor, BROWSE_BUTTON_NO, BROWSE_BUTTON_YES, BROWSE_ID, browseButton, buttonsComposite, CANCEL_ALL_ID, cancelAllButton, cancelAllPressed, 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, labelCancelAll, labelDetailsHide, labelDetailsShow, labelOk, labelTest, marginHeight, marginWidth, minHeight, minWidth, needsProgressMonitor, noShowAgainButton, noShowAgainOption, okButton, okPressed, operationCancelableState, outputObject, outputObjectValidator, overallShell, pack, parentComposite, pendingErrorMessage, pendingMessage, prefId, prefStore, prefValAsSelected, progressMonitorPart, showAddButton, showBrowseButton, showCancelAllButton, showDetailsButton, showOkButton, showTestButton, TEST_BUTTON_NO, TEST_BUTTON_YES, TEST_ID, testButton, tipAdd, tipBrowse, tipCancel, tipCancelAll, tipDetailsHide, tipDetailsShow, tipOk, tipTest, title, titleImage, verticalSpacing, waitCursor, windowClosingDialog
 
Fields inherited from class org.eclipse.jface.dialogs.Dialog
blockedHandler, buttonBar, DIALOG_DEFAULT_BOUNDS, DIALOG_PERSISTLOCATION, DIALOG_PERSISTSIZE, dialogArea, DLG_IMG_ERROR, DLG_IMG_HELP, DLG_IMG_INFO, DLG_IMG_MESSAGE_ERROR, DLG_IMG_MESSAGE_INFO, DLG_IMG_MESSAGE_WARNING, DLG_IMG_QUESTION, DLG_IMG_WARNING, ELLIPSIS
 
Fields inherited from class org.eclipse.jface.window.Window
CANCEL, OK
 
Fields inherited from interface org.eclipse.jface.dialogs.IDialogConstants
ABORT_ID, ABORT_LABEL, BACK_ID, BACK_LABEL, BUTTON_BAR_HEIGHT, BUTTON_HEIGHT, BUTTON_MARGIN, BUTTON_WIDTH, CANCEL_ID, CANCEL_LABEL, CLIENT_ID, CLOSE_ID, CLOSE_LABEL, DESELECT_ALL_ID, ENTRY_FIELD_WIDTH, FINISH_ID, FINISH_LABEL, HELP_ID, HELP_LABEL, HIDE_DETAILS_LABEL, HORIZONTAL_MARGIN, HORIZONTAL_SPACING, IGNORE_ID, IGNORE_LABEL, INDENT, INTERNAL_ID, LEFT_MARGIN, MINIMUM_MESSAGE_AREA_WIDTH, NEXT_ID, NEXT_LABEL, NO_ID, NO_LABEL, NO_TO_ALL_ID, NO_TO_ALL_LABEL, OK_ID, OK_LABEL, OPEN_ID, OPEN_LABEL, PROCEED_ID, PROCEED_LABEL, RETRY_ID, RETRY_LABEL, SELECT_ALL_ID, SELECT_TYPES_ID, SHOW_DETAILS_LABEL, SKIP_ID, SKIP_LABEL, SMALL_INDENT, STOP_ID, STOP_LABEL, VERTICAL_MARGIN, VERTICAL_SPACING, YES_ID, YES_LABEL, YES_TO_ALL_ID, YES_TO_ALL_LABEL
 
Constructor Summary
SystemSelectConnectionDialog(Shell shell)
          Constructor
SystemSelectConnectionDialog(Shell shell, String title)
          Constructor when you want to supply your own title.
 
Method Summary
 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.
protected  SystemSelectConnectionForm getForm(Shell shell)
          Private method.
protected  Control getInitialFocusControl()
          Private method.
 boolean getMultipleSelectionMode()
          Return the multiple selection mode as set by setMultipleSelectionMode(boolean)
 IHost getSelectedConnection()
          Return selected connection
 IHost[] getSelectedConnections()
          Return selected connections in multiple selection mode
 Object getSelectedObject()
          Return selected file or folder
 Object[] getSelectedObjects()
          Return all selected objects.
protected  boolean processDetails(boolean hideMode)
          Private method.
protected  boolean processOK()
          Private method.
 void setDefaultConnection(IHost conn)
          Set the connection to default the selection to
 void setInstructionLabel(String message)
          Set the instruction label shown at the top of the dialog
 void setMultipleSelectionMode(boolean multiple)
          Set multiple selection mode.
 void setPageComplete(boolean complete)
          The callback method.
 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 setSystemType(String systemType)
          Restrict to a certain system type
 void setSystemTypes(String[] systemTypes)
          Restrict to certain system types
 
Methods inherited from class org.eclipse.rse.ui.dialogs.SystemPromptDialog
aboutToStart, addFillerLine, addGrowableFillerLine, addSeparatorLine, adjustButtonWidth, applyMnemonics, buttonPressed, clearErrorMessage, clearMessage, configureShell, createButtonBar, createButtonsForButtonBar, createContents, createControl, createDialogArea, createNoShowAgainButton, createWizardClosingDialog, dispose, enableAddButton, enableBrowseButton, enableCancelAllButton, enableCancelButton, enableDetailsButton, enableOkButton, enableTestButton, getAddButton, getBrowseButton, getCancelAllButton, getCancelOrCloseButton, getControl, getDescription, getDetailsButton, getDialogMnemonics, getErrorMessage, getHelpContextId, getImage, getInputObject, getMessage, getMessageLine, getOkButton, getOutputObject, getOutputObjectValidator, getProgressMonitor, getSystemErrorMessage, getTestButton, getTitle, handleEvent, hardClose, okToClose, pack, performHelp, processAdd, processBrowse, processCancel, processCancelAll, processTest, publicConvertHeightInCharsToPixels, publicConvertWidthInCharsToPixels, restoreEnableState, restoreUIState, run, run, saveEnableStateAndSet, saveUIState, setAddButtonLabel, setAddButtonToolTipText, setBrowseButtonLabel, setBrowseButtonToolTipText, setBusyCursor, setCancelAllButtonLabel, setCancelAllButtonToolTipText, setCancelButtonLabel, setCancelButtonToolTipText, setControl, setDescription, setDetailsButtonLabel, setDetailsButtonToolTipText, setDisplayCursor, setDisplayCursor, setErrorMessage, setErrorMessage, setErrorMessage, setHelp, setHelp, setImageDescriptor, setInitialOKButtonEnabledState, setInputObject, setMessage, setMessage, setMinimumSize, setNeedsProgressMonitor, setNoShowAgainOption, setOkButtonLabel, setOkButtonToolTipText, setOutputObject, setOutputObjectValidator, setShowAddButton, setShowBrowseButton, setShowCancelAllButton, setShowDetailsButton, setShowOkButton, setShowTestButton, setTestButtonLabel, setTestButtonToolTipText, setTitle, setVisible, wasCancelled, wasCancelledAll
 
Methods inherited from class org.eclipse.jface.dialogs.Dialog
applyDialogFont, cancelPressed, convertHeightInCharsToPixels, convertHeightInCharsToPixels, convertHorizontalDLUsToPixels, convertHorizontalDLUsToPixels, convertVerticalDLUsToPixels, convertVerticalDLUsToPixels, convertWidthInCharsToPixels, convertWidthInCharsToPixels, create, createButton, dialogFontIsDefault, getBlockedHandler, getButton, getButtonBar, getCancelButton, getDialogArea, getDialogBoundsSettings, getDialogBoundsStrategy, getImage, getInitialLocation, getInitialSize, getOKButton, initializeBounds, initializeDialogUnits, okPressed, setBlockedHandler, setButtonLayoutData, setButtonLayoutFormData, shortenText
 
Methods inherited from class org.eclipse.jface.window.Window
canHandleShellCloseEvent, constrainShellSize, createShell, getConstrainedShellBounds, getContents, getDefaultImage, getDefaultImages, getDefaultOrientation, getLayout, getParentShell, getReturnCode, getShell, getShellListener, getShellStyle, getWindowManager, handleFontChange, handleShellCloseEvent, open, setBlockOnOpen, setDefaultImage, setDefaultImages, setDefaultModalParent, setDefaultOrientation, setExceptionHandler, setParentShell, setReturnCode, setShellStyle, setWindowManager
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

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
Constructor Detail

SystemSelectConnectionDialog

public SystemSelectConnectionDialog(Shell shell)
Constructor

Parameters:
shell - The shell to hang the dialog off of

SystemSelectConnectionDialog

public SystemSelectConnectionDialog(Shell shell,
                                    String title)
Constructor when you want to supply your own title.

Parameters:
shell - The shell to hang the dialog off of
title - The title to give the dialog
Method Detail

setDefaultConnection

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


setSystemTypes

public void setSystemTypes(String[] systemTypes)
Restrict to certain system types

Parameters:
systemTypes - the system types to restrict what connections are shown and what types of connections the user can create
See Also:
IRSESystemType

setSystemType

public void setSystemType(String systemType)
Restrict to a certain system type

Parameters:
systemType - the system type to restrict what connections are shown and what types of connections the user can create
See Also:
IRSESystemType

setShowNewConnectionPrompt

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


setInstructionLabel

public void setInstructionLabel(String message)
Set the instruction label shown at the top of the dialog


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.

Default is true, false

Parameters:
show - True if show the property sheet within the dialog
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 Also:
getSelectedObjects()

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 Also:
setMultipleSelectionMode(boolean)

getSelectedConnection

public IHost getSelectedConnection()
Return selected connection


getSelectedConnections

public IHost[] getSelectedConnections()
Return selected connections in multiple selection mode


getMultipleSelectionMode

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


getInitialFocusControl

protected Control getInitialFocusControl()
Private method.

Specified by:
getInitialFocusControl in class SystemPromptDialog
See Also:
SystemPromptDialog.getInitialFocusControl()

createInner

protected Control createInner(Composite parent)
Private method.

Specified by:
createInner in class SystemPromptDialog
See Also:
SystemPromptDialog.createInner(Composite)

getForm

protected SystemSelectConnectionForm getForm(Shell shell)
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

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

Overrides:
processDetails in class SystemPromptDialog
Parameters:
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.
Returns:
true if the details state toggle was successful, false if it failed.

close

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

Overrides:
close in class SystemPromptDialog

setPageComplete

public void setPageComplete(boolean complete)
The callback method. This is called whenever setPageComplete is called by the form code.

Specified by:
setPageComplete in interface ISystemPageCompleteListener
Overrides:
setPageComplete in class SystemPromptDialog
See Also:
{@link SystemBaseForm#addPageCompleteListener(ISystemPageCompleteListener)}

RSE
Release 1.0

Copyright (c) IBM Corporation and others 2000, 2006. All Rights Reserved.