Rational Developer for i
7.5.0

com.ibm.etools.systems.as400.debug.sep.ui
Class QSYSProcedurePrompt

java.lang.Object
  extended by org.eclipse.swt.widgets.Widget
      extended by org.eclipse.swt.widgets.Control
          extended by org.eclipse.swt.widgets.Scrollable
              extended by org.eclipse.swt.widgets.Composite
                  extended by com.ibm.etools.iseries.rse.ui.widgets.QSYSBasePrompt
                      extended by com.ibm.etools.iseries.rse.ui.widgets.QSYSProgramObjectPrompt
                          extended by com.ibm.etools.iseries.rse.ui.widgets.QSYSModulePrompt
                              extended by com.ibm.etools.systems.as400.debug.sep.ui.QSYSProcedurePrompt
All Implemented Interfaces:
IIBMiHistoryKeys, IIBMiProgramPromptTypes, Drawable

public class QSYSProcedurePrompt
extends QSYSModulePrompt

This composite widget is for prompting the user for a procedure name. The widget is part of service entry point support
The object name widget is a combo that lists special values and previously entered (historical) names. Beside the combo is a button with a Browse label for selecting an object from a remote list. Of course objects are qualified by library names so this also prompts for the library. The module names and procedure names are extracted from program object information, not from the library system.

The composite is layed as follows:


   Library: ______________________v  Browse...
   * Program
            ______________________v  Browse...
   * Service Program
            ______________________v  Browse...
   * Module
            ______________________v  Browse...
   * Procedure
            ______________________v  Browse...
 

You must specify whether this prompt is for a generic object name like ABC* or a scalar object name like ABC1. Beyond appropriate error checking it also affects the special-values contents of the dropdown. You also must specify whether this prompt for exported procedures or all procedures.


Nested Class Summary
protected  class QSYSProcedurePrompt.ProgramObjectListener
           
 
Field Summary
protected  String ALL
           
protected  QSYSSelectProcedureAction browseProcedureAction
           
protected  Button browseProcedureButton
           
protected  QSYSSelectProgramModuleAction browseProgramModuleAction
           
protected  boolean exportedOnly
           
protected  boolean modify
           
protected  QSYSModuleProcedureValidator moduleProcedureValidator
           
protected  ISeriesObjectFilterString procedureFilterString
           
protected  ValidatorIBMiObject procedureValidator
           
protected  SystemHistoryCombo promptProcedureCombo
           
protected  Label promptProcedureLabel
           
 
Fields inherited from class com.ibm.etools.iseries.rse.ui.widgets.QSYSModulePrompt
browseModuleAction, browseModuleButton, copyright, moduleFilterString, moduleValidator, promptModuleCombo, promptModuleLabel
 
Fields inherited from class com.ibm.etools.iseries.rse.ui.widgets.QSYSProgramObjectPrompt
allowEmpty, allowGeneric, allowLibl, browseProgramButton, browseServiceProgramButton, CURLIB, filterString, LIBL, libValidator, listener, objTypes, PGM, pgmValidator, programRadioButton, promptProgramCombo, promptProgramLabel, promptServiceProgramCombo, promptServiceProgramLabel, serviceProgramRadioButton, SRVPGM
 
Fields inherited from class com.ibm.etools.iseries.rse.ui.widgets.QSYSBasePrompt
browseAction, browseButton, defaultConnection, enableBrowse, gridColumns, ignoreChanges, onlyConnection, promptCombo, promptLabel, rb, showNewConnection, testing
 
Fields inherited from class org.eclipse.swt.widgets.Control
handle
 
Fields inherited from interface com.ibm.etools.iseries.rse.ui.IIBMiHistoryKeys
ATTR_OBJ, Copyright, GENERIC_ATTR_OBJ, GENERIC_NAME_CMD, GENERIC_NAME_DTAARA, GENERIC_NAME_DTAQ, GENERIC_NAME_FILE, GENERIC_NAME_FILE_DSPF, GENERIC_NAME_FILE_DSPF_PRTF, GENERIC_NAME_FILE_DTA, GENERIC_NAME_FILE_PRTF, GENERIC_NAME_FILE_SRC, GENERIC_NAME_FILE_SRC_DTA, GENERIC_NAME_FLD, GENERIC_NAME_JOBD, GENERIC_NAME_LIB, GENERIC_NAME_LIB_NOLIBL, GENERIC_NAME_MBR, GENERIC_NAME_MODULE, GENERIC_NAME_MSGF, GENERIC_NAME_OBJ, GENERIC_NAME_PGM, GENERIC_NAME_PGM_SRVPGM, GENERIC_NAME_RCD, GENERIC_NAME_SRVPGM, GENERIC_PREFIX, GENERIC_TYPE_MBR, GENERIC_TYPE_OBJ, HISTORY_PREFIX, JOB_CURR_USERID, JOB_NAME, JOB_NUMBER, JOB_SUBSYSTEM, JOB_USER, NAME_ASPDEV, NAME_AUTL, NAME_AUTL_AUT, NAME_AUTL_CRTAUT, NAME_CMD, NAME_DTAARA, NAME_DTAQ, NAME_FILE, NAME_FILE_DSPF, NAME_FILE_DSPF_PRTF, NAME_FILE_DTA, NAME_FILE_PRTF, NAME_FILE_SRC, NAME_FILE_SRC_DTA, NAME_FLD, NAME_JOBD, NAME_LIB, NAME_LIB_NOCURLIB, NAME_LIB_NOLIBL, NAME_MBR, NAME_MODULE, NAME_MSGF, NAME_OBJ, NAME_PGM, NAME_PGM_SRVPGM, NAME_RCD, NAME_SRVPGM, SAVF_LIB_HISTORY_KEY, SAVF_OBJ_HISTORY_KEY, SAVF_RSTLIB_HISTORY_KEY, SAVF_SAVELIB_HISTORY_KEY, STRING_FIND, TYPE_MBR, TYPE_OBJ
 
Fields inherited from interface com.ibm.etools.iseries.rse.ui.widgets.IIBMiProgramPromptTypes
PGMTYPE_PGM, PGMTYPE_PGM_OR_SRVPGM, PGMTYPE_SRVPGM
 
Constructor Summary
QSYSProcedurePrompt(Composite parent, int pgmType, boolean exportedOnly, boolean modifyOnly)
           
QSYSProcedurePrompt(Composite parent, int style, boolean allowGeneric, boolean allowLibl, int pgmType, boolean exportedOnly, boolean modifyOnly)
           
QSYSProcedurePrompt(Composite parent, int style, int pgmType, boolean exportedOnly, boolean modifyOnly)
           
 
Method Summary
 void addBrowseButtonSelectionListener(SelectionListener listener)
          Register a listener interested in when the either the library or object or module or procedure browse button is selected
protected  void addModuleButtonSelectionListener()
          Enables our browse button for modules.
protected  void addProcedureButtonSelectionListener()
          Enables our browse button for procedures.
 void addProcedureModifyListener(ModifyListener listener)
          Register a listener interested in procedure entry field modify events
 void addSelectionListener(SelectionListener listener)
          Register a listener interested in an item is selected in either the library combo box or the object combo box or the module object combo box or the procedure combo box
protected  void enableModuleProcedure(boolean enabled)
          Enable module and procedure widgets respected with the internal dependency rules.
protected  QSYSSelectProgramModuleAction getModuleBrowseAction(Shell shell)
          Overridable method.
protected  QSYSSelectProcedureAction getProcedureBrowseAction(Shell shell)
          Returns action to be called when Browse...
 Button getProcedureBrowseButton()
          Return the procedure Browse...
 SystemHistoryCombo getProcedureCombo()
          Return the combo box widget for the procedure prompt
 String[] getProcedureItems()
          Get the items in the procedure combo field
 String getProcedureName()
          Get the user entered or selected procedure name.
protected  void populateModuleCombo(SystemHistoryCombo combo, boolean allowGeneric)
          Populates our module combo.
protected  void populateProcedureCombo(SystemHistoryCombo combo, boolean allowGeneric)
          Populates our procedure combo.
 void removeBrowseButtonSelectionListener(SelectionListener listener)
          Remove a previously set browse button selection listener.
 void removeProcedureModifyListener(ModifyListener listener)
          Remove a previously set module entry field listener.
 void removeSelectionListener(SelectionListener listener)
          Remove a previously set combo box selection listener.
protected  String resolveCurLib()
          Resolve current lib set in iSeries connection properties
 void setEnabled(boolean enabled)
          Disable/Enable all the child controls.
 void setProcedureBrowseButtonFocus()
          Set the focus to the procedure browse button
 boolean setProcedureFocus()
          Set the focus to the procedure combo field
 void setProcedureItems(String[] items)
          Set the items in the procedure combo field
 void setProcedureName(String name)
          Set the procedure name displayed in the combo box.
 void updateHistory()
          Update the history with current entry field setting.
 SystemMessage validateLibInput()
          Validate library string, as it is typed, or in batch if you wish to call directly.
 String validateModule(boolean reInit)
          Validate module name string, as it is typed, or in batch if you wish to call directly.
 String validateProcedure(boolean reInit)
          Validate porcedure name.
 SystemMessage validateProgramInput()
          Validate program name string, as it is typed, or in batch if you wish to call directly.
 String validateProgramSupportSEP()
          Validate if program object is non-OPM and debuggable
 
Methods inherited from class com.ibm.etools.iseries.rse.ui.widgets.QSYSModulePrompt
addModuleModifyListener, getModuleBrowseAction, getModuleBrowseButton, getModuleCombo, getModuleFilterString, getModuleItems, getModuleName, removeModuleModifyListener, setModuleBrowseButtonFocus, setModuleBrowseButtonToolTipText, setModuleChangeListener, setModuleFocus, setModuleItems, setModuleName, setModulePromptLabel, setModuleToolTipText, setModuleValidator, setSystemConnection, validateModuleInput, validateObjInput
 
Methods inherited from class com.ibm.etools.iseries.rse.ui.widgets.QSYSProgramObjectPrompt
addLibraryModifyListener, addObjectModifyListener, addOurButtonSelectionListener, addRadioButtonsSelectionListener, createObjectWidgets, enableProgramPrompt, enableServiceProgramPrompt, getAcriveProgramObjectBrowseButton, getActiveProgramObjectCombo, getActiveProgramObjectItems, getActiveProgramObjectName, getActiveProgramObjectType, getBrowseAction, getLibraryBrowseButton, getLibraryCombo, getLibraryName, getLibraryPromptLabel, getObjectBrowseAction, getObjectFilterString, getObjectPromptLabel, getObjectTypes, getProgramCombo, getQualifiedName, getServiceProgramCombo, handleBrowseButtonSelectionEvent, init, isProgramRadioButtonSelected, isServiceProgramRadioButtonSelected, isSpecialName, populateLibraryCombo, populateProgramObjectCombo, removeLibraryModifyListener, removeObjectChangeListener, removeObjectModifyListener, removeRadioButtonSelectionListener, setActiveProgramObjectFocus, setActiveProgramObjectItems, setActiveProgramObjectName, setDefaultConnection, setLibraryBrowseButtonFocus, setLibraryBrowseButtonToolTipText, setLibraryFocus, setLibraryItems, setLibraryName, setLibraryPromptLabel, setLibraryToolTipText, setLibraryValidator, setObjectBrowseButtonFocus, setObjectBrowseButtonToolTipText, setObjectChangeListener, setObjectPromptLabel, setObjectToolTipText, setObjectTypes, setObjectValidator
 
Methods inherited from class com.ibm.etools.iseries.rse.ui.widgets.QSYSBasePrompt
addModifyListener, addSelectionChangedListener, createCombo, createHistoryCombo, createPushButton, createPushButton, getBrowseButton, getCombo, getGridColumns, getItems, getPromptLabel, getSelection, getText, lineUpWith, lineUpWith, prepareComposite, removeModifyListener, removeSelectionChangedListener, setBrowseButtonFocus, setBrowseButtonLabel, setBrowseButtonToolTipText, setButtonWidthHint, setButtonWidthHint, setFocus, setHost, setIgnoreChanges, setItems, setPromptLabel, setSelection, setShowNewConnectionPrompt, setText, setToolTipText, setWidthHint, showBrowseButton, showBrowseButton, updateHistory
 
Methods inherited from class org.eclipse.swt.widgets.Composite
changed, checkSubclass, computeSize, getBackgroundMode, getChildren, getLayout, getLayoutDeferred, getTabList, isLayoutDeferred, layout, layout, layout, layout, setBackgroundMode, setLayout, setLayoutDeferred, setTabList
 
Methods inherited from class org.eclipse.swt.widgets.Scrollable
computeTrim, getClientArea, getHorizontalBar, getVerticalBar
 
Methods inherited from class org.eclipse.swt.widgets.Control
addControlListener, addDragDetectListener, addFocusListener, addHelpListener, addKeyListener, addMenuDetectListener, addMouseListener, addMouseMoveListener, addMouseTrackListener, addMouseWheelListener, addPaintListener, addTraverseListener, computeSize, dragDetect, dragDetect, forceFocus, getAccessible, getBackground, getBackgroundImage, getBorderWidth, getBounds, getCursor, getDragDetect, getEnabled, getFont, getForeground, getLayoutData, getLocation, getMenu, getMonitor, getParent, getRegion, getShell, getSize, getToolTipText, getVisible, internal_dispose_GC, internal_new_GC, isEnabled, isFocusControl, isReparentable, isVisible, moveAbove, moveBelow, pack, pack, print, redraw, redraw, removeControlListener, removeDragDetectListener, removeFocusListener, removeHelpListener, removeKeyListener, removeMenuDetectListener, removeMouseListener, removeMouseMoveListener, removeMouseTrackListener, removeMouseWheelListener, removePaintListener, removeTraverseListener, setBackground, setBackgroundImage, setBounds, setBounds, setCapture, setCursor, setDragDetect, setFont, setForeground, setLayoutData, setLocation, setLocation, setMenu, setParent, setRedraw, setRegion, setSize, setSize, setVisible, toControl, toControl, toDisplay, toDisplay, traverse, update
 
Methods inherited from class org.eclipse.swt.widgets.Widget
addDisposeListener, addListener, checkWidget, dispose, getData, getData, getDisplay, getListeners, getStyle, isDisposed, isListening, notifyListeners, removeDisposeListener, removeListener, removeListener, setData, setData, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

promptProcedureLabel

protected Label promptProcedureLabel

promptProcedureCombo

protected SystemHistoryCombo promptProcedureCombo

browseProcedureButton

protected Button browseProcedureButton

procedureFilterString

protected ISeriesObjectFilterString procedureFilterString

procedureValidator

protected ValidatorIBMiObject procedureValidator

exportedOnly

protected boolean exportedOnly

modify

protected boolean modify

ALL

protected final String ALL
See Also:
Constant Field Values

browseProgramModuleAction

protected QSYSSelectProgramModuleAction browseProgramModuleAction

browseProcedureAction

protected QSYSSelectProcedureAction browseProcedureAction

moduleProcedureValidator

protected QSYSModuleProcedureValidator moduleProcedureValidator
Constructor Detail

QSYSProcedurePrompt

public QSYSProcedurePrompt(Composite parent,
                           int pgmType,
                           boolean exportedOnly,
                           boolean modifyOnly)
Parameters:
parent -

QSYSProcedurePrompt

public QSYSProcedurePrompt(Composite parent,
                           int style,
                           int pgmType,
                           boolean exportedOnly,
                           boolean modifyOnly)
Parameters:
parent -
style -

QSYSProcedurePrompt

public QSYSProcedurePrompt(Composite parent,
                           int style,
                           boolean allowGeneric,
                           boolean allowLibl,
                           int pgmType,
                           boolean exportedOnly,
                           boolean modifyOnly)
Parameters:
parent -
style -
allowGeneric -
allowLibl -
allowEmpty -
Method Detail

getProcedureCombo

public SystemHistoryCombo getProcedureCombo()
Return the combo box widget for the procedure prompt


getProcedureName

public String getProcedureName()
Get the user entered or selected procedure name. Same as calling QSYSBasePrompt.getText()


setProcedureName

public void setProcedureName(String name)
Set the procedure name displayed in the combo box. Same as calling QSYSBasePrompt.setText(String)


getProcedureBrowseButton

public Button getProcedureBrowseButton()
Return the procedure Browse... button widget


setProcedureItems

public void setProcedureItems(String[] items)
Set the items in the procedure combo field


getProcedureItems

public String[] getProcedureItems()
Get the items in the procedure combo field


setEnabled

public void setEnabled(boolean enabled)
Disable/Enable all the child controls.

Overrides:
setEnabled in class QSYSModulePrompt

enableModuleProcedure

protected void enableModuleProcedure(boolean enabled)
Enable module and procedure widgets respected with the internal dependency rules.


setProcedureFocus

public boolean setProcedureFocus()
Set the focus to the procedure combo field


setProcedureBrowseButtonFocus

public void setProcedureBrowseButtonFocus()
Set the focus to the procedure browse button


addSelectionListener

public void addSelectionListener(SelectionListener listener)
Register a listener interested in an item is selected in either the library combo box or the object combo box or the module object combo box or the procedure combo box

Overrides:
addSelectionListener in class QSYSModulePrompt
See Also:
removeSelectionListener(SelectionListener)

removeSelectionListener

public void removeSelectionListener(SelectionListener listener)
Remove a previously set combo box selection listener.

Overrides:
removeSelectionListener in class QSYSModulePrompt
See Also:
addSelectionListener(SelectionListener)

addBrowseButtonSelectionListener

public void addBrowseButtonSelectionListener(SelectionListener listener)
Register a listener interested in when the either the library or object or module or procedure browse button is selected

Overrides:
addBrowseButtonSelectionListener in class QSYSModulePrompt
See Also:
#removeNewButtonSelectionListener(SelectionListener)

removeBrowseButtonSelectionListener

public void removeBrowseButtonSelectionListener(SelectionListener listener)
Remove a previously set browse button selection listener.

Overrides:
removeBrowseButtonSelectionListener in class QSYSModulePrompt
See Also:
#addNewButtonSelectionListener(SelectionListener)

addProcedureModifyListener

public void addProcedureModifyListener(ModifyListener listener)
Register a listener interested in procedure entry field modify events

See Also:
QSYSModulePrompt.removeModuleModifyListener(ModifyListener)

removeProcedureModifyListener

public void removeProcedureModifyListener(ModifyListener listener)
Remove a previously set module entry field listener.

See Also:
QSYSModulePrompt.addModuleModifyListener(ModifyListener)

updateHistory

public void updateHistory()
Update the history with current entry field setting.

This is called automatically for you when setText is called. However, for non-readonly versions, you should still call this yourself when OK is successfully pressed on the dialog box.

Overrides:
updateHistory in class QSYSModulePrompt

populateModuleCombo

protected void populateModuleCombo(SystemHistoryCombo combo,
                                   boolean allowGeneric)
Populates our module combo. Internal use.

Overrides:
populateModuleCombo in class QSYSModulePrompt

populateProcedureCombo

protected void populateProcedureCombo(SystemHistoryCombo combo,
                                      boolean allowGeneric)
Populates our procedure combo. Internal use.


addProcedureButtonSelectionListener

protected void addProcedureButtonSelectionListener()
Enables our browse button for procedures. Internal use.


getProcedureBrowseAction

protected QSYSSelectProcedureAction getProcedureBrowseAction(Shell shell)
Returns action to be called when Browse... pressed for the procedure Internal use.


validateLibInput

public SystemMessage validateLibInput()
Validate library string, as it is typed, or in batch if you wish to call directly. We override so we can enable/disable program's browse button.

Overrides:
validateLibInput in class QSYSModulePrompt

validateProgramInput

public SystemMessage validateProgramInput()
Validate program name string, as it is typed, or in batch if you wish to call directly. We override so we can enable/disable module's browse button.


validateProgramSupportSEP

public String validateProgramSupportSEP()
                                 throws SystemMessageException
Validate if program object is non-OPM and debuggable

Throws:
SystemMessageException

validateModule

public String validateModule(boolean reInit)
Validate module name string, as it is typed, or in batch if you wish to call directly. We override so we can enable/disable procedure's browse button.


validateProcedure

public String validateProcedure(boolean reInit)
Validate porcedure name.


getModuleBrowseAction

protected QSYSSelectProgramModuleAction getModuleBrowseAction(Shell shell)
Overridable method. Returns action to be called when Browse... pressed for the module Internal use.


addModuleButtonSelectionListener

protected void addModuleButtonSelectionListener()
Enables our browse button for modules. Internal use.

Overrides:
addModuleButtonSelectionListener in class QSYSModulePrompt

resolveCurLib

protected String resolveCurLib()
Resolve current lib set in iSeries connection properties


Rational Developer for i
7.5.0

Copyright 2009 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.