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:
    com.google.gwt.event.shared.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 and Description
    `TourStep()`
    `TourStep(com.google.gwt.core.client.JavaScriptObject jsObj)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `com.google.gwt.core.client.JavaScriptObject` | `create()`
    `java.lang.String` | `getActionButtonTitle()` Applied directly to `targetView`.
    `TourActionType` | `getActionType()` Indicates the type of action that is expected with the `target component`.
    `java.lang.String` | `getAfterInputTarget()` Target component which must clicked to process `expectedValue` entered into `target` with `actionType` of "change".
    `java.lang.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?
    `java.lang.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`.
    `java.lang.String` | `getCancelButtonTitle()` Applied directly to `targetView`.
    `java.lang.String` | `getDropTarget()` Target component on which a `target` must be dropped to complete step.
    `java.lang.String` | `getExpectedValue()` The expected value for `actionType`:"change".
    `java.lang.Boolean` | `getExpectedValueAsBoolean()` The expected value for `actionType`:"change".
    `java.util.Date` | `getExpectedValueAsDate()` The expected value for `actionType`:"change".
    `java.lang.Integer` | `getExpectedValueAsInt()` The expected value for `actionType`:"change".
    `java.lang.Boolean` | `getExpectedValueCaseSensitive()` Should the `expectedValue` be matched as case-sensitive?
    `TourInputValidationMode` | `getInputValidation()` How should the `expectedValue` be validated and notified to the user?
    `java.lang.Integer` | `getInputValidationNotifyDelay()` The time between keypresses that is used during `inputValidation` before showing the expected text notification.
    `java.lang.String` | `getInputValidationNotifyMessage()` Message to be displayed by `Tour.notifyValidationMessage()`.
    `java.lang.String` | `getInstructions()` Text to show in body of window.
    `static TourStep` | `getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj)`
    `java.lang.String` | `getPointerSnapTo()` Applied directly to `targetView` `pointerSettings`.
    `java.lang.Boolean` | `getShowActionButton()` Should the `targetView` `action button` be shown for this step?
    `java.lang.Boolean` | `getShowArrow()` For a step with an `action` a large arrow shows to indicate the target or direction of required action.
    `java.lang.Boolean` | `getShowCancelButton()` Should the `targetView` `cancel button` be shown for this step?
    `java.lang.Boolean` | `getShowInputValidationMessage()` Should `inputValidationNotifyMessage` be shown as detailed in `TourInputValidationMode`? Defaults from `Tour.showInputValidationMessage` if not set.
    `java.lang.Boolean` | `getShowOutline()` Should the target(s) be outlined? Defaults to `true` in `Tour.mode`:"tutorial".
    `java.lang.Boolean` | `getShowPointer()` Should a `canvas pointer` be shown pointing to the target? Defaults to `true` in `Tour.mode`:"tour".
    `java.lang.String` | `getTarget()` Component that is the target of this step.
    `TourWindow` | `getTargetView()` Automatically generated view (typically a TourWindow) to show for tour step.
    `java.lang.String` | `getTargetViewConstructor()` The name of the widget class (as a string) to use for the target view.
    `Canvas` | `getTargetViewDefaults()` Defaults for the `targetView` autoChild.
    `java.lang.String` | `getTitle()` Title for the Window.
    `Canvas` | `getWindowDefaults()` Defaults for the `targetView` autoChild.
    `TourStep` | `setActionButtonTitle(java.lang.String actionButtonTitle)` Applied directly to `targetView`.
    `TourStep` | `setActionType(TourActionType actionType)` Indicates the type of action that is expected with the `target component`.
    `TourStep` | `setAfterInputTarget(java.lang.String afterInputTarget)` Target component which must clicked to process `expectedValue` entered into `target` with `actionType` of "change".
    `TourStep` | `setAllowDropOnDescendants(java.lang.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(java.lang.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(java.lang.String cancelButtonTitle)` Applied directly to `targetView`.
    `TourStep` | `setDropTarget(java.lang.String dropTarget)` Target component on which a `target` must be dropped to complete step.
    `TourStep` | `setExpectedValue(java.lang.Boolean expectedValue)` The expected value for `actionType`:"change".
    `TourStep` | `setExpectedValue(java.util.Date expectedValue)` The expected value for `actionType`:"change".
    `TourStep` | `setExpectedValue(java.lang.Integer expectedValue)` The expected value for `actionType`:"change".
    `TourStep` | `setExpectedValue(java.lang.String expectedValue)` The expected value for `actionType`:"change".
    `TourStep` | `setExpectedValueCaseSensitive(java.lang.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(java.lang.Integer inputValidationNotifyDelay)` The time between keypresses that is used during `inputValidation` before showing the expected text notification.
    `TourStep` | `setInputValidationNotifyMessage(java.lang.String inputValidationNotifyMessage)` Message to be displayed by `Tour.notifyValidationMessage()`.
    `TourStep` | `setInstructions(java.lang.String instructions)` Text to show in body of window.
    `TourStep` | `setPointerSnapTo(java.lang.String pointerSnapTo)` Applied directly to `targetView` `pointerSettings`.
    `TourStep` | `setShowActionButton(java.lang.Boolean showActionButton)` Should the `targetView` `action button` be shown for this step?
    `TourStep` | `setShowArrow(java.lang.Boolean showArrow)` For a step with an `action` a large arrow shows to indicate the target or direction of required action.
    `TourStep` | `setShowCancelButton(java.lang.Boolean showCancelButton)` Should the `targetView` `cancel button` be shown for this step?
    `TourStep` | `setShowInputValidationMessage(java.lang.Boolean showInputValidationMessage)` Should `inputValidationNotifyMessage` be shown as detailed in `TourInputValidationMode`? Defaults from `Tour.showInputValidationMessage` if not set.
    `TourStep` | `setShowOutline(java.lang.Boolean showOutline)` Should the target(s) be outlined? Defaults to `true` in `Tour.mode`:"tutorial".
    `TourStep` | `setShowPointer(java.lang.Boolean showPointer)` Should a `canvas pointer` be shown pointing to the target? Defaults to `true` in `Tour.mode`:"tour".
    `TourStep` | `setTarget(java.lang.String target)` Component that is the target of this step.
    `TourStep` | `setTargetViewConstructor(java.lang.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(java.lang.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 Detail

    - #### TourStep

          public TourStep()

    - #### TourStep

          public TourStep(com.google.gwt.core.client.JavaScriptObject jsObj)

  - ### Method Detail

    - #### getOrCreateRef

          public static TourStep getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj)

    - #### create

          public com.google.gwt.core.client.JavaScriptObject create()

      Overrides:
        `create` in class `UserTask`

    - #### setActionButtonTitle

          public TourStep setActionButtonTitle(java.lang.String actionButtonTitle)
                                        throws java.lang.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:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created
      See Also:
        `HTMLString`

    - #### getActionButtonTitle

          public java.lang.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 java.lang.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:
        `java.lang.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(java.lang.String afterInputTarget)
                                       throws java.lang.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:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created

    - #### getAfterInputTarget

          public java.lang.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(java.lang.Boolean allowDropOnDescendants)
                                             throws java.lang.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:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created

    - #### getAllowDropOnDescendants

          public java.lang.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 java.lang.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:
        `java.lang.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(java.lang.String bindEnteredText)
                                      throws java.lang.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:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created

    - #### getBindEnteredText

          public java.lang.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(java.lang.String cancelButtonTitle)
                                        throws java.lang.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:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created
      See Also:
        `HTMLString`

    - #### getCancelButtonTitle

          public java.lang.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(java.lang.String dropTarget)
                                 throws java.lang.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:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created

    - #### getDropTarget

          public java.lang.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(java.lang.String expectedValue)
                                    throws java.lang.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:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created
      See Also:
        `setInputValidation(com.smartgwt.client.types.TourInputValidationMode)`

    - #### getExpectedValue

          public java.lang.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(java.lang.Boolean expectedValue)
                                    throws java.lang.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:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created
      See Also:
        `setInputValidation(com.smartgwt.client.types.TourInputValidationMode)`

    - #### getExpectedValueAsBoolean

          public java.lang.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(java.lang.Integer expectedValue)
                                    throws java.lang.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:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created
      See Also:
        `setInputValidation(com.smartgwt.client.types.TourInputValidationMode)`

    - #### getExpectedValueAsInt

          public java.lang.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(java.util.Date expectedValue)
                                    throws java.lang.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:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created
      See Also:
        `setInputValidation(com.smartgwt.client.types.TourInputValidationMode)`

    - #### getExpectedValueAsDate

          public java.util.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(java.lang.Boolean expectedValueCaseSensitive)
                                                 throws java.lang.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:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created

    - #### getExpectedValueCaseSensitive

          public java.lang.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 java.lang.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:
        `java.lang.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(java.lang.Integer inputValidationNotifyDelay)
                                                 throws java.lang.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:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created

    - #### getInputValidationNotifyDelay

          public java.lang.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(java.lang.String inputValidationNotifyMessage)
                                                   throws java.lang.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:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created

    - #### getInputValidationNotifyMessage

          public java.lang.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(java.lang.String instructions)
                                   throws java.lang.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:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created
      See Also:
        `HTMLString`, `Appearance overview and related methods`

    - #### getInstructions

          public java.lang.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(java.lang.String pointerSnapTo)
                                    throws java.lang.IllegalStateException

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

    - #### getPointerSnapTo

          public java.lang.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(java.lang.Boolean showActionButton)
                                       throws java.lang.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:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created

    - #### getShowActionButton

          public java.lang.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(java.lang.Boolean showArrow)
                                throws java.lang.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:
        `java.lang.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 java.lang.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(java.lang.Boolean showCancelButton)
                                       throws java.lang.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:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created

    - #### getShowCancelButton

          public java.lang.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(java.lang.Boolean showInputValidationMessage)
                                                 throws java.lang.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:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created

    - #### getShowInputValidationMessage

          public java.lang.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(java.lang.Boolean showOutline)
                                  throws java.lang.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:
        `java.lang.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 java.lang.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(java.lang.Boolean showPointer)
                                  throws java.lang.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:
        `java.lang.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 java.lang.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(java.lang.String target)
                             throws java.lang.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:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created

    - #### getTarget

          public java.lang.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 java.lang.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:
        `java.lang.IllegalStateException` - if the underlying component has not yet been created.

    - #### setTargetViewConstructor

          public TourStep setTargetViewConstructor(java.lang.String targetViewConstructor)
                                            throws java.lang.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:
        `java.lang.IllegalStateException` - this property cannot be changed after the underlying component has been created

    - #### getTargetViewConstructor

          public java.lang.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 java.lang.IllegalStateException

      Defaults for the `targetView` autoChild.
      Parameters:
        `targetViewDefaults` - New targetViewDefaults value. Default value is {...}
      Returns:
        `TourStep` instance, for chaining setter calls
      Throws:
        `java.lang.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(java.lang.String title)
                            throws java.lang.IllegalStateException

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

    - #### getTitle

          public java.lang.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 java.lang.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:
        `java.lang.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 {...}