Package com.smartgwt.client.util.tour

# Class TourStep

java.lang.Object
com.smartgwt.client.core.BaseClass
com.smartgwt.client.util.workflow.ProcessElement
com.smartgwt.client.util.workflow.Task
com.smartgwt.client.util.workflow.UserTask
com.smartgwt.client.util.tour.TourStep

All Implemented Interfaces:
  `HasHandlers`

public class TourStep extends UserTask
User task configuration for a step within a `Tour`. As each step is executed, it will show a `TourWindow` to the user (the automatically generated `targetView`).

At a minimum tourSteps will typically have a `title` and/or `description`. Without a `target` the window will be shown in the center of the screen.

To relate the step to a component provide a `target` value. An `actionType` value determines what action, if any, is expected with the `target`. Some `actionTypes` like "none" and "any" just highlight the target for review and the user must click the next button to complete the step. Others like "click" or "change" expect the user to interact with the target component in a certain way. Many of these will advance to the next step when the required action is completed. See `action types` for details.

In most cases the `actionType` can be left unset because a default is applied based on the other step properties and the `Tour.mode`. However, actions like `doubleClick`, `rightClick` and `mouseOver` must be provided.

To explicitly suppress automatic completion of a step on user interaction, devlopers may set `autoComplete` to false.

- ## Field Summary

  ### Fields inherited from class com.smartgwt.client.core.BaseClass

  `config, configOnly, factoryCreated, factoryProperties, id, scClassName`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `TourStep()`
  `TourStep(JavaScriptObject jsObj)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `JavaScriptObject`
  `create()`
  `String`
  `getActionButtonTitle()`
  Applied directly to `targetView`.
  `TourActionType`
  `getActionType()`
  Indicates the type of action that is expected with the `target component`.
  `String`
  `getAfterInputTarget()`
  Target component which must clicked to process `expectedValue` entered into `target` with `actionType` of "change".
  `Boolean`
  `getAllowDropOnDescendants()`
  For `actionType:"drag"` tourSteps with a `dropTarget`, should we allow the drop to complete and the tour to proceed if the user drops on a descendant of the drop target.
  `boolean`
  `getAutoComplete()`
  If this step has a target that prompts a user for a specific action, should the step be automatically completed and have the tour move forward to the next step when the user takes this action?
  `String`
  `getBindEnteredText()`
  When set on a step with an `actionType` of "change", the entered or selected value will be automatically bound to the specified value in the `tour state`.
  `String`
  `getCancelButtonTitle()`
  Applied directly to `targetView`.
  `String`
  `getDropTarget()`
  Target component on which a `target` must be dropped to complete step.
  `String`
  `getExpectedValue()`
  The expected value for `actionType`:"change".
  `Boolean`
  `getExpectedValueAsBoolean()`
  The expected value for `actionType`:"change".
  `Date`
  `getExpectedValueAsDate()`
  The expected value for `actionType`:"change".
  `Integer`
  `getExpectedValueAsInt()`
  The expected value for `actionType`:"change".
  `Boolean`
  `getExpectedValueCaseSensitive()`
  Should the `expectedValue` be matched as case-sensitive?
  `TourInputValidationMode`
  `getInputValidation()`
  How should the `expectedValue` be validated and notified to the user?
  `Integer`
  `getInputValidationNotifyDelay()`
  The time between keypresses that is used during `inputValidation` before showing the expected text notification.
  `String`
  `getInputValidationNotifyMessage()`
  Message to be displayed by `Tour.notifyValidationMessage()`.
  `String`
  `getInstructions()`
  Text to show in body of window.
  `static TourStep`
  `getOrCreateRef(JavaScriptObject jsObj)`
  `String`
  `getPointerSnapTo()`
  Applied directly to `targetView` `pointerSettings`.
  `Boolean`
  `getShowActionButton()`
  Should the `targetView` `action button` be shown for this step?
  `Boolean`
  `getShowArrow()`
  For a step with an `action` a large arrow shows to indicate the target or direction of required action.
  `Boolean`
  `getShowCancelButton()`
  Should the `targetView` `cancel button` be shown for this step?
  `Boolean`
  `getShowInputValidationMessage()`
  Should `inputValidationNotifyMessage` be shown as detailed in `TourInputValidationMode`? Defaults from `Tour.showInputValidationMessage` if not set.
  `Boolean`
  `getShowOutline()`
  Should the target(s) be outlined? Defaults to `true` in `Tour.mode`:"tutorial".
  `Boolean`
  `getShowPointer()`
  Should a `canvas pointer` be shown pointing to the target? Defaults to `true` in `Tour.mode`:"tour".
  `String`
  `getTarget()`
  Component that is the target of this step.
  `TourWindow`
  `getTargetView()`
  Automatically generated view (typically a TourWindow) to show for tour step.
  `String`
  `getTargetViewConstructor()`
  The name of the widget class (as a string) to use for the target view.
  `Canvas`
  `getTargetViewDefaults()`
  Defaults for the `targetView` autoChild.
  `String`
  `getTitle()`
  Title for the Window.
  `Canvas`
  `getWindowDefaults()`
  Defaults for the `targetView` autoChild.
  `TourStep`
  `setActionButtonTitle(String actionButtonTitle)`
  Applied directly to `targetView`.
  `TourStep`
  `setActionType(TourActionType actionType)`
  Indicates the type of action that is expected with the `target component`.
  `TourStep`
  `setAfterInputTarget(String afterInputTarget)`
  Target component which must clicked to process `expectedValue` entered into `target` with `actionType` of "change".
  `TourStep`
  `setAllowDropOnDescendants(Boolean allowDropOnDescendants)`
  For `actionType:"drag"` tourSteps with a `dropTarget`, should we allow the drop to complete and the tour to proceed if the user drops on a descendant of the drop target.
  `TourStep`
  `setAutoComplete(boolean autoComplete)`
  If this step has a target that prompts a user for a specific action, should the step be automatically completed and have the tour move forward to the next step when the user takes this action?
  `TourStep`
  `setBindEnteredText(String bindEnteredText)`
  When set on a step with an `actionType` of "change", the entered or selected value will be automatically bound to the specified value in the `tour state`.
  `TourStep`
  `setCancelButtonTitle(String cancelButtonTitle)`
  Applied directly to `targetView`.
  `TourStep`
  `setDropTarget(String dropTarget)`
  Target component on which a `target` must be dropped to complete step.
  `TourStep`
  `setExpectedValue(Boolean expectedValue)`
  The expected value for `actionType`:"change".
  `TourStep`
  `setExpectedValue(Integer expectedValue)`
  The expected value for `actionType`:"change".
  `TourStep`
  `setExpectedValue(String expectedValue)`
  The expected value for `actionType`:"change".
  `TourStep`
  `setExpectedValue(Date expectedValue)`
  The expected value for `actionType`:"change".
  `TourStep`
  `setExpectedValueCaseSensitive(Boolean expectedValueCaseSensitive)`
  Should the `expectedValue` be matched as case-sensitive?
  `TourStep`
  `setInputValidation(TourInputValidationMode inputValidation)`
  How should the `expectedValue` be validated and notified to the user?
  `TourStep`
  `setInputValidationNotifyDelay(Integer inputValidationNotifyDelay)`
  The time between keypresses that is used during `inputValidation` before showing the expected text notification.
  `TourStep`
  `setInputValidationNotifyMessage(String inputValidationNotifyMessage)`
  Message to be displayed by `Tour.notifyValidationMessage()`.
  `TourStep`
  `setInstructions(String instructions)`
  Text to show in body of window.
  `TourStep`
  `setPointerSnapTo(String pointerSnapTo)`
  Applied directly to `targetView` `pointerSettings`.
  `TourStep`
  `setShowActionButton(Boolean showActionButton)`
  Should the `targetView` `action button` be shown for this step?
  `TourStep`
  `setShowArrow(Boolean showArrow)`
  For a step with an `action` a large arrow shows to indicate the target or direction of required action.
  `TourStep`
  `setShowCancelButton(Boolean showCancelButton)`
  Should the `targetView` `cancel button` be shown for this step?
  `TourStep`
  `setShowInputValidationMessage(Boolean showInputValidationMessage)`
  Should `inputValidationNotifyMessage` be shown as detailed in `TourInputValidationMode`? Defaults from `Tour.showInputValidationMessage` if not set.
  `TourStep`
  `setShowOutline(Boolean showOutline)`
  Should the target(s) be outlined? Defaults to `true` in `Tour.mode`:"tutorial".
  `TourStep`
  `setShowPointer(Boolean showPointer)`
  Should a `canvas pointer` be shown pointing to the target? Defaults to `true` in `Tour.mode`:"tour".
  `TourStep`
  `setTarget(String target)`
  Component that is the target of this step.
  `TourStep`
  `setTargetViewConstructor(String targetViewConstructor)`
  The name of the widget class (as a string) to use for the target view.
  `TourStep`
  `setTargetViewDefaults(Canvas targetViewDefaults)`
  Defaults for the `targetView` autoChild.
  `TourStep`
  `setTitle(String title)`
  Title for the Window.
  `TourStep`
  `setWindowDefaults(Canvas windowDefaults)`
  Defaults for the `targetView` autoChild.

  ### Methods inherited from class com.smartgwt.client.util.workflow.UserTask

  `cancelEditing, completeEditing, getCancelElement, getInlineView, getPassThruOutput, getPreviousElement, getSaveToServer, getTargetForm, getTargetFormAsString, getTargetVM, getWizard, goToPrevious, setCancelElement, setInlineView, setPassThruOutput, setPreviousElement, setSaveToServer, setTargetForm, setTargetForm, setTargetView, setTargetView, setTargetVM, setTargetVM, setWizard`

  ### Methods inherited from class com.smartgwt.client.util.workflow.Task

  `getInputField, getInputFieldList, getOutputExpression, getOutputField, getOutputFieldList, setInputField, setInputFieldList, setOutputExpression, setOutputField, setOutputFieldList`

  ### Methods inherited from class com.smartgwt.client.util.workflow.ProcessElement

  `completeElement, convertToJavaScriptArray, executeElement, getBindOutput, getClassDescription, getComponentReferences, getDescription, getDynamicValue, getEditorType, getElementDescription, getForceSingle, getID, getInvalidTaskMessage, getJsObj, getMockMode, getNextElement, getOrCreateJsObj, getProcessElements, getSupportsMultipleInputRecords, getTextFormulaValue, getTypeTitle, getUndefinedComponentMessage, getUnresolvedComponentMessage, getWaitDuration, getWaitFor, getWaitLocator, isCreated, isValid, objectReferencesLastTaskOutput, onInit, reset, setAttribute, setBindOutput, setClassDescription, setDescription, setEditorType, setForceSingle, setID, setJavaScriptObject, setMockMode, setNextElement, setSupportsMultipleInputRecords, setTypeTitle, setUndefinedComponentMessage, setUnresolvedComponentMessage, setWaitDuration, setWaitFor, setWaitLocator, updateGlobalIDInCriteria, updateGlobalIDInTextFormula, updateGlobalIDInValueProperty, updateGlobalIDInValues, updateGlobalIDReferences, updateLastElementBindingReferences, updateLastElementInCriteria, updateLastElementInValueProperty, updateLastElementInValues`

  ### Methods inherited from class com.smartgwt.client.core.BaseClass

  `addDynamicProperty, addDynamicProperty, addDynamicProperty, addDynamicProperty, applyFactoryProperties, asSGWTComponent, clearDynamicProperty, createJsObj, destroy, doAddHandler, doInit, error, error, errorIfNotCreated, fireEvent, getAttribute, getAttributeAsBoolean, getAttributeAsDate, getAttributeAsDouble, getAttributeAsElement, getAttributeAsFloat, getAttributeAsInt, getAttributeAsJavaScriptObject, getAttributeAsMap, getAttributeAsString, getAttributeAsStringArray, getClassName, getConfig, getHandlerCount, getRef, getRuleScope, getScClassName, getTestInstance, hasAutoAssignedID, hasDynamicProperty, internalSetID, internalSetID, isConfigOnly, isFactoryCreated, onBind, registerID, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setConfig, setConfigOnly, setFactoryCreated, setProperty, setProperty, setProperty, setProperty, setRuleScope, setScClassName`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### TourStep

    public TourStep()

  - ### TourStep

    public TourStep(JavaScriptObject jsObj)

- ## Method Details

  - ### getOrCreateRef

    public static TourStep getOrCreateRef(JavaScriptObject jsObj)

  - ### create

    public JavaScriptObject create()
    Overrides:
      `create` in class `UserTask`

  - ### setActionButtonTitle

    public TourStep setActionButtonTitle(String actionButtonTitle) throws IllegalStateException
    Applied directly to `targetView`. Defaults from `Tour.stepActionButtonTitle`.
    Parameters:
      `actionButtonTitle` - New actionButtonTitle value. Default value is null
    Returns:
      `TourStep` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the underlying component has been created
    See Also:
      - `HTMLString`

  - ### getActionButtonTitle

    public String getActionButtonTitle()
    Applied directly to `targetView`. Defaults from `Tour.stepActionButtonTitle`.
    Returns:
      Current actionButtonTitle value. Default value is null
    See Also:
      - `HTMLString`

  - ### setActionType

    public TourStep setActionType(TourActionType actionType) throws IllegalStateException
    Indicates the type of action that is expected with the `target component`.

    If not specified a default type is determined by the `Tour.mode` setting, the target and other tourStep properties.

    Details:

    when `tourMode` is "tour"

    - then actionType = "none"

    when `tourMode` is "tutorial"

    - and `expectedValue` or `afterInputTarget` are set
      - then actionType = "change"
    - and `dropTarget` is set
      - then actionType = "drag"
    - otherwise
      - actionType = "click"
    Parameters:
      `actionType` - New actionType value. Default value is null
    Returns:
      `TourStep` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the underlying component has been created

  - ### getActionType

    public TourActionType getActionType()
    Indicates the type of action that is expected with the `target component`.

    If not specified a default type is determined by the `Tour.mode` setting, the target and other tourStep properties.

    Details:

    when `tourMode` is "tour"

    - then actionType = "none"

    when `tourMode` is "tutorial"

    - and `expectedValue` or `afterInputTarget` are set
      - then actionType = "change"
    - and `dropTarget` is set
      - then actionType = "drag"
    - otherwise
      - actionType = "click"
    Returns:
      Current actionType value. Default value is null

  - ### setAfterInputTarget

    public TourStep setAfterInputTarget(String afterInputTarget) throws IllegalStateException
    Target component which must clicked to process `expectedValue` entered into `target` with `actionType` of "change".

    This is commonly used for a dialog where the must select a value and then click a submit button.

    Target may be specified as a `GlobalId` for a Component or FormItem, or as a `AutoTestLocator` for an element.

    Parameters:
      `afterInputTarget` - New afterInputTarget value. Default value is null
    Returns:
      `TourStep` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the underlying component has been created

  - ### getAfterInputTarget

    public String getAfterInputTarget()
    Target component which must clicked to process `expectedValue` entered into `target` with `actionType` of "change".

    This is commonly used for a dialog where the must select a value and then click a submit button.

    Target may be specified as a `GlobalId` for a Component or FormItem, or as a `AutoTestLocator` for an element.

    Returns:
      Current afterInputTarget value. Default value is null

  - ### setAllowDropOnDescendants

    public TourStep setAllowDropOnDescendants(Boolean allowDropOnDescendants) throws IllegalStateException
    For `actionType:"drag"` tourSteps with a `dropTarget`, should we allow the drop to complete and the tour to proceed if the user drops on a descendant of the drop target.

    For example - if a user has been prompted to drag a component into a Layout, but the layout already contains a nested child layout, should the user be able to drop into that child layout and continue the tour?

    If unset this will be derived from `Tour.allowDropOnDescendants`

    Parameters:
      `allowDropOnDescendants` - New allowDropOnDescendants value. Default value is null
    Returns:
      `TourStep` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the underlying component has been created

  - ### getAllowDropOnDescendants

    public Boolean getAllowDropOnDescendants()
    For `actionType:"drag"` tourSteps with a `dropTarget`, should we allow the drop to complete and the tour to proceed if the user drops on a descendant of the drop target.

    For example - if a user has been prompted to drag a component into a Layout, but the layout already contains a nested child layout, should the user be able to drop into that child layout and continue the tour?

    If unset this will be derived from `Tour.allowDropOnDescendants`

    Returns:
      Current allowDropOnDescendants value. Default value is null

  - ### setAutoComplete

    public TourStep setAutoComplete(boolean autoComplete) throws IllegalStateException
    If this step has a target that prompts a user for a specific action, should the step be automatically completed and have the tour move forward to the next step when the user takes this action?

    Has no effect except on `action types` that can auto-complete.

    If autoComplete is `false` the action button is shown but is disabled until the expected action is completed at which time the button is enabled so the user can continue.

    Parameters:
      `autoComplete` - New autoComplete value. Default value is true
    Returns:
      `TourStep` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the underlying component has been created

  - ### getAutoComplete

    public boolean getAutoComplete()
    If this step has a target that prompts a user for a specific action, should the step be automatically completed and have the tour move forward to the next step when the user takes this action?

    Has no effect except on `action types` that can auto-complete.

    If autoComplete is `false` the action button is shown but is disabled until the expected action is completed at which time the button is enabled so the user can continue.

    Returns:
      Current autoComplete value. Default value is true

  - ### setBindEnteredText

    public TourStep setBindEnteredText(String bindEnteredText) throws IllegalStateException
    When set on a step with an `actionType` of "change", the entered or selected value will be automatically bound to the specified value in the `tour state`.
    Parameters:
      `bindEnteredText` - New bindEnteredText value. Default value is null
    Returns:
      `TourStep` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the underlying component has been created

  - ### getBindEnteredText

    public String getBindEnteredText()
    When set on a step with an `actionType` of "change", the entered or selected value will be automatically bound to the specified value in the `tour state`.
    Returns:
      Current bindEnteredText value. Default value is null

  - ### setCancelButtonTitle

    public TourStep setCancelButtonTitle(String cancelButtonTitle) throws IllegalStateException
    Applied directly to `targetView`. Defaults from `Tour.stepCancelButtonTitle`.
    Parameters:
      `cancelButtonTitle` - New cancelButtonTitle value. Default value is null
    Returns:
      `TourStep` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the underlying component has been created
    See Also:
      - `HTMLString`

  - ### getCancelButtonTitle

    public String getCancelButtonTitle()
    Applied directly to `targetView`. Defaults from `Tour.stepCancelButtonTitle`.
    Returns:
      Current cancelButtonTitle value. Default value is null
    See Also:
      - `HTMLString`

  - ### setDropTarget

    public TourStep setDropTarget(String dropTarget) throws IllegalStateException
    Target component on which a `target` must be dropped to complete step. If `actionType` is not specified and this property is provided, `actionType` defaults to "drag".

    Target may be specified as a `GlobalId` for a Component or FormItem, or as a `AutoTestLocator` for an element.

    Parameters:
      `dropTarget` - New dropTarget value. Default value is null
    Returns:
      `TourStep` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the underlying component has been created

  - ### getDropTarget

    public String getDropTarget()
    Target component on which a `target` must be dropped to complete step. If `actionType` is not specified and this property is provided, `actionType` defaults to "drag".

    Target may be specified as a `GlobalId` for a Component or FormItem, or as a `AutoTestLocator` for an element.

    Returns:
      Current dropTarget value. Default value is null

  - ### setExpectedValue

    public TourStep setExpectedValue(String expectedValue) throws IllegalStateException
    The expected value for `actionType`:"change". The value must be matched exactly ignoring case for string values. A string value can also be matched case-sensitive by setting `expectedValueCaseSensitive` to `true`.

    A regular expression can be used to match the entered value by providing the expected value as a string with leading and trailing slashes (ex. "/get.*/").

    Parameters:
      `expectedValue` - New expectedValue value. Default value is null
    Returns:
      `TourStep` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the underlying component has been created
    See Also:
      - `setInputValidation(com.smartgwt.client.types.TourInputValidationMode)`

  - ### getExpectedValue

    public String getExpectedValue()
    The expected value for `actionType`:"change". The value must be matched exactly ignoring case for string values. A string value can also be matched case-sensitive by setting `expectedValueCaseSensitive` to `true`.

    A regular expression can be used to match the entered value by providing the expected value as a string with leading and trailing slashes (ex. "/get.*/").

    Returns:
      Current expectedValue value. Default value is null
    See Also:
      - `getInputValidation()`

  - ### setExpectedValue

    public TourStep setExpectedValue(Boolean expectedValue) throws IllegalStateException
    The expected value for `actionType`:"change". The value must be matched exactly ignoring case for string values. A string value can also be matched case-sensitive by setting `expectedValueCaseSensitive` to `true`.

    A regular expression can be used to match the entered value by providing the expected value as a string with leading and trailing slashes (ex. "/get.*/").

    Parameters:
      `expectedValue` - New expectedValue value. Default value is null
    Returns:
      `TourStep` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the underlying component has been created
    See Also:
      - `setInputValidation(com.smartgwt.client.types.TourInputValidationMode)`

  - ### getExpectedValueAsBoolean

    public Boolean getExpectedValueAsBoolean()
    The expected value for `actionType`:"change". The value must be matched exactly ignoring case for string values. A string value can also be matched case-sensitive by setting `expectedValueCaseSensitive` to `true`.

    A regular expression can be used to match the entered value by providing the expected value as a string with leading and trailing slashes (ex. "/get.*/").

    Returns:
      Current expectedValue value. Default value is null
    See Also:
      - `getInputValidation()`

  - ### setExpectedValue

    public TourStep setExpectedValue(Integer expectedValue) throws IllegalStateException
    The expected value for `actionType`:"change". The value must be matched exactly ignoring case for string values. A string value can also be matched case-sensitive by setting `expectedValueCaseSensitive` to `true`.

    A regular expression can be used to match the entered value by providing the expected value as a string with leading and trailing slashes (ex. "/get.*/").

    Parameters:
      `expectedValue` - New expectedValue value. Default value is null
    Returns:
      `TourStep` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the underlying component has been created
    See Also:
      - `setInputValidation(com.smartgwt.client.types.TourInputValidationMode)`

  - ### getExpectedValueAsInt

    public Integer getExpectedValueAsInt()
    The expected value for `actionType`:"change". The value must be matched exactly ignoring case for string values. A string value can also be matched case-sensitive by setting `expectedValueCaseSensitive` to `true`.

    A regular expression can be used to match the entered value by providing the expected value as a string with leading and trailing slashes (ex. "/get.*/").

    Returns:
      Current expectedValue value. Default value is null
    See Also:
      - `getInputValidation()`

  - ### setExpectedValue

    public TourStep setExpectedValue(Date expectedValue) throws IllegalStateException
    The expected value for `actionType`:"change". The value must be matched exactly ignoring case for string values. A string value can also be matched case-sensitive by setting `expectedValueCaseSensitive` to `true`.

    A regular expression can be used to match the entered value by providing the expected value as a string with leading and trailing slashes (ex. "/get.*/").

    Parameters:
      `expectedValue` - New expectedValue value. Default value is null
    Returns:
      `TourStep` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the underlying component has been created
    See Also:
      - `setInputValidation(com.smartgwt.client.types.TourInputValidationMode)`

  - ### getExpectedValueAsDate

    public Date getExpectedValueAsDate()
    The expected value for `actionType`:"change". The value must be matched exactly ignoring case for string values. A string value can also be matched case-sensitive by setting `expectedValueCaseSensitive` to `true`.

    A regular expression can be used to match the entered value by providing the expected value as a string with leading and trailing slashes (ex. "/get.*/").

    Returns:
      Current expectedValue value. Default value is null
    See Also:
      - `getInputValidation()`

  - ### setExpectedValueCaseSensitive

    public TourStep setExpectedValueCaseSensitive(Boolean expectedValueCaseSensitive) throws IllegalStateException
    Should the `expectedValue` be matched as case-sensitive?
    Parameters:
      `expectedValueCaseSensitive` - New expectedValueCaseSensitive value. Default value is null
    Returns:
      `TourStep` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the underlying component has been created

  - ### getExpectedValueCaseSensitive

    public Boolean getExpectedValueCaseSensitive()
    Should the `expectedValue` be matched as case-sensitive?
    Returns:
      Current expectedValueCaseSensitive value. Default value is null

  - ### setInputValidation

    public TourStep setInputValidation(TourInputValidationMode inputValidation) throws IllegalStateException
    How should the `expectedValue` be validated and notified to the user?

    Defaults to "onExit" if `afterInputTarget` is specified. Otherwise the default is "notify".

    Parameters:
      `inputValidation` - New inputValidation value. Default value is null
    Returns:
      `TourStep` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the underlying component has been created

  - ### getInputValidation

    public TourInputValidationMode getInputValidation()
    How should the `expectedValue` be validated and notified to the user?

    Defaults to "onExit" if `afterInputTarget` is specified. Otherwise the default is "notify".

    Returns:
      Current inputValidation value. Default value is null

  - ### setInputValidationNotifyDelay

    public TourStep setInputValidationNotifyDelay(Integer inputValidationNotifyDelay) throws IllegalStateException
    The time between keypresses that is used during `inputValidation` before showing the expected text notification. Does not apply to `inputValidation="onExit"`.
    Parameters:
      `inputValidationNotifyDelay` - New inputValidationNotifyDelay value. Default value is 500
    Returns:
      `TourStep` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the underlying component has been created

  - ### getInputValidationNotifyDelay

    public Integer getInputValidationNotifyDelay()
    The time between keypresses that is used during `inputValidation` before showing the expected text notification. Does not apply to `inputValidation="onExit"`.
    Returns:
      Current inputValidationNotifyDelay value. Default value is 500

  - ### setInputValidationNotifyMessage

    public TourStep setInputValidationNotifyMessage(String inputValidationNotifyMessage) throws IllegalStateException
    Message to be displayed by `Tour.notifyValidationMessage()`.

    This is a dynamic string - text within `${...}` are dynamic variables and will be evaluated as JS code when the message is displayed.

    Only two dynamic variables, value and expectedValue, are available and represent the currently entered and expected values.

    Parameters:
      `inputValidationNotifyMessage` - New inputValidationNotifyMessage value. Default value is "Please enter '${expectedValue}'"
    Returns:
      `TourStep` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the underlying component has been created

  - ### getInputValidationNotifyMessage

    public String getInputValidationNotifyMessage()
    Message to be displayed by `Tour.notifyValidationMessage()`.

    This is a dynamic string - text within `${...}` are dynamic variables and will be evaluated as JS code when the message is displayed.

    Only two dynamic variables, value and expectedValue, are available and represent the currently entered and expected values.

    Returns:
      Current inputValidationNotifyMessage value. Default value is "Please enter '${expectedValue}'"

  - ### setInstructions

    public TourStep setInstructions(String instructions) throws IllegalStateException
    Text to show in body of window.
    Parameters:
      `instructions` - New instructions value. Default value is null
    Returns:
      `TourStep` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the underlying component has been created
    See Also:
      - `HTMLString`
      - `Appearance overview and related methods`

  - ### getInstructions

    public String getInstructions()
    Text to show in body of window.
    Returns:
      Current instructions value. Default value is null
    See Also:
      - `HTMLString`
      - `Appearance overview and related methods`

  - ### setPointerSnapTo

    public TourStep setPointerSnapTo(String pointerSnapTo) throws IllegalStateException
    Applied directly to `targetView` `pointerSettings`.
    Parameters:
      `pointerSnapTo` - New pointerSnapTo value. Default value is null
    Returns:
      `TourStep` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the underlying component has been created
    See Also:
      - `SnapPositioning overview and related methods`

  - ### getPointerSnapTo

    public String getPointerSnapTo()
    Applied directly to `targetView` `pointerSettings`.
    Returns:
      Current pointerSnapTo value. Default value is null
    See Also:
      - `SnapPositioning overview and related methods`

  - ### setShowActionButton

    public TourStep setShowActionButton(Boolean showActionButton) throws IllegalStateException
    Should the `targetView` `action button` be shown for this step?

    If no value is provided it will be defaulted to `true` when `autoComplete` is `not false` and any of the following are true:

    - `actionType` is "click"
    - actionType is "mouseDown"
    - actionType is "doubleClick"
    - actionType is "rightClick"
    - actionType is "menuItemOpen"
    - actionType is "menuItemSelect"
    - actionType is "change" and an `expectedValue` is provided
    - a `dropTarget` is provided

    If no value is provided and autoComplete is `false` but auto completion would normally occur (i.e. actionType "click", "change" with expectedValue, etc.) then the action button is shown but is disabled until the expected action is completed at which time the button is enabled so the user can continue.

    Parameters:
      `showActionButton` - New showActionButton value. Default value is null
    Returns:
      `TourStep` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the underlying component has been created

  - ### getShowActionButton

    public Boolean getShowActionButton()
    Should the `targetView` `action button` be shown for this step?

    If no value is provided it will be defaulted to `true` when `autoComplete` is `not false` and any of the following are true:

    - `actionType` is "click"
    - actionType is "mouseDown"
    - actionType is "doubleClick"
    - actionType is "rightClick"
    - actionType is "menuItemOpen"
    - actionType is "menuItemSelect"
    - actionType is "change" and an `expectedValue` is provided
    - a `dropTarget` is provided

    If no value is provided and autoComplete is `false` but auto completion would normally occur (i.e. actionType "click", "change" with expectedValue, etc.) then the action button is shown but is disabled until the expected action is completed at which time the button is enabled so the user can continue.

    Returns:
      Current showActionButton value. Default value is null

  - ### setShowArrow

    public TourStep setShowArrow(Boolean showArrow) throws IllegalStateException
    For a step with an `action` a large arrow shows to indicate the target or direction of required action. Setting `showArrow` to `false` suppresses the display of the arrow. Note that the tour window is shown as if the arrow were there.

    `ShowPointer` takes precedence over `showArrow:true`.

    Parameters:
      `showArrow` - New showArrow value. Default value is null
    Returns:
      `TourStep` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the underlying component has been created
    See Also:
      - `setShowPointer(java.lang.Boolean)`
      - `setShowOutline(java.lang.Boolean)`

  - ### getShowArrow

    public Boolean getShowArrow()
    For a step with an `action` a large arrow shows to indicate the target or direction of required action. Setting `showArrow` to `false` suppresses the display of the arrow. Note that the tour window is shown as if the arrow were there.

    `ShowPointer` takes precedence over `showArrow:true`.

    Returns:
      Current showArrow value. Default value is null
    See Also:
      - `getShowPointer()`
      - `getShowOutline()`

  - ### setShowCancelButton

    public TourStep setShowCancelButton(Boolean showCancelButton) throws IllegalStateException
    Should the `targetView` `cancel button` be shown for this step?

    If no value is provided it will be defaulted to `true` unless this step is the last step in the tour.

    Parameters:
      `showCancelButton` - New showCancelButton value. Default value is null
    Returns:
      `TourStep` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the underlying component has been created

  - ### getShowCancelButton

    public Boolean getShowCancelButton()
    Should the `targetView` `cancel button` be shown for this step?

    If no value is provided it will be defaulted to `true` unless this step is the last step in the tour.

    Returns:
      Current showCancelButton value. Default value is null

  - ### setShowInputValidationMessage

    public TourStep setShowInputValidationMessage(Boolean showInputValidationMessage) throws IllegalStateException
    Should `inputValidationNotifyMessage` be shown as detailed in `TourInputValidationMode`? Defaults from `Tour.showInputValidationMessage` if not set.

    If set to `false` reporting messages to the user are suppressed and therefore `Tour.notifyValidationMessage()` will not be called.

    Parameters:
      `showInputValidationMessage` - New showInputValidationMessage value. Default value is null
    Returns:
      `TourStep` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the underlying component has been created

  - ### getShowInputValidationMessage

    public Boolean getShowInputValidationMessage()
    Should `inputValidationNotifyMessage` be shown as detailed in `TourInputValidationMode`? Defaults from `Tour.showInputValidationMessage` if not set.

    If set to `false` reporting messages to the user are suppressed and therefore `Tour.notifyValidationMessage()` will not be called.

    Returns:
      Current showInputValidationMessage value. Default value is null

  - ### setShowOutline

    public TourStep setShowOutline(Boolean showOutline) throws IllegalStateException
    Should the target(s) be outlined? Defaults to `true` in `Tour.mode`:"tutorial".
    Parameters:
      `showOutline` - New showOutline value. Default value is null
    Returns:
      `TourStep` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the underlying component has been created
    See Also:
      - `setShowPointer(java.lang.Boolean)`
      - `setShowArrow(java.lang.Boolean)`

  - ### getShowOutline

    public Boolean getShowOutline()
    Should the target(s) be outlined? Defaults to `true` in `Tour.mode`:"tutorial".
    Returns:
      Current showOutline value. Default value is null
    See Also:
      - `getShowPointer()`
      - `getShowArrow()`

  - ### setShowPointer

    public TourStep setShowPointer(Boolean showPointer) throws IllegalStateException
    Should a `canvas pointer` be shown pointing to the target? Defaults to `true` in `Tour.mode`:"tour".
    Parameters:
      `showPointer` - New showPointer value. Default value is null
    Returns:
      `TourStep` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the underlying component has been created
    See Also:
      - `setShowOutline(java.lang.Boolean)`
      - `setShowArrow(java.lang.Boolean)`

  - ### getShowPointer

    public Boolean getShowPointer()
    Should a `canvas pointer` be shown pointing to the target? Defaults to `true` in `Tour.mode`:"tour".
    Returns:
      Current showPointer value. Default value is null
    See Also:
      - `getShowOutline()`
      - `getShowArrow()`

  - ### setTarget

    public TourStep setTarget(String target) throws IllegalStateException
    Component that is the target of this step. The interaction for this step is indicated in `actionType`. For actions that need multiple targets, this target is the primary one.

    Target may be specified as a `GlobalId` for a Component or FormItem, or as a `AutoTestLocator` for an element.

    Parameters:
      `target` - New target value. Default value is null
    Returns:
      `TourStep` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the underlying component has been created

  - ### getTarget

    public String getTarget()
    Component that is the target of this step. The interaction for this step is indicated in `actionType`. For actions that need multiple targets, this target is the primary one.

    Target may be specified as a `GlobalId` for a Component or FormItem, or as a `AutoTestLocator` for an element.

    Returns:
      Current target value. Default value is null

  - ### getTargetView

    public TourWindow getTargetView() throws IllegalStateException
    Automatically generated view (typically a TourWindow) to show for tour step.

    The following `passthroughs` apply:

    - `pointerSnapTo` for the `Canvas.pointerSettings`
    - `showCancelButton` for the `TourWindow.showCancelButton`
    - `cancelButtonTitle` for the `TourWindow.cancelButtonTitle`
    - `actionButtonTitle` for the `TourWindow.actionButtonTitle`

    This component is an AutoChild named "targetView". For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

    Overrides:
      `getTargetView` in class `UserTask`
    Returns:
      Current targetView value. Default value is null
    Throws:
      `IllegalStateException` - if the underlying component has not yet been created.

  - ### setTargetViewConstructor

    public TourStep setTargetViewConstructor(String targetViewConstructor) throws IllegalStateException
    The name of the widget class (as a string) to use for the target view.
    Parameters:
      `targetViewConstructor` - New targetViewConstructor value. Default value is "TourWindow"
    Returns:
      `TourStep` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the underlying component has been created

  - ### getTargetViewConstructor

    public String getTargetViewConstructor()
    The name of the widget class (as a string) to use for the target view.
    Returns:
      Current targetViewConstructor value. Default value is "TourWindow"

  - ### setTargetViewDefaults

    public TourStep setTargetViewDefaults(Canvas targetViewDefaults) throws IllegalStateException
    Defaults for the `targetView` autoChild.
    Parameters:
      `targetViewDefaults` - New targetViewDefaults value. Default value is {...}
    Returns:
      `TourStep` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the underlying component has been created
    See Also:
      - `SGWTProperties`

  - ### getTargetViewDefaults

    public Canvas getTargetViewDefaults()
    Defaults for the `targetView` autoChild.
    Returns:
      Current targetViewDefaults value. Default value is {...}

  - ### setTitle

    public TourStep setTitle(String title) throws IllegalStateException
    Title for the Window.
    Parameters:
      `title` - New title value. Default value is null
    Returns:
      `TourStep` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the underlying component has been created
    See Also:
      - `HTMLString`
      - `Appearance overview and related methods`

  - ### getTitle

    public String getTitle()
    Title for the Window.
    Returns:
      Current title value. Default value is null
    See Also:
      - `HTMLString`
      - `Appearance overview and related methods`

  - ### setWindowDefaults

    public TourStep setWindowDefaults(Canvas windowDefaults) throws IllegalStateException
    Defaults for the `targetView` autoChild. These defaults are applied after `Tour.windowDefaults` if any.
    Parameters:
      `windowDefaults` - New windowDefaults value. Default value is {...}
    Returns:
      `TourStep` instance, for chaining setter calls
    Throws:
      `IllegalStateException` - this property cannot be changed after the underlying component has been created
    See Also:
      - `SGWTProperties`

  - ### getWindowDefaults

    public Canvas getWindowDefaults()
    Defaults for the `targetView` autoChild. These defaults are applied after `Tour.windowDefaults` if any.
    Returns:
      Current windowDefaults value. Default value is {...}