Class 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.

  • 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:
    • getActionButtonTitle

      public String getActionButtonTitle()
      Applied directly to targetView. Defaults from Tour.stepActionButtonTitle.
      Returns:
      Current actionButtonTitle value. Default value is null
      See Also:
    • 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:
    • getCancelButtonTitle

      public String getCancelButtonTitle()
      Applied directly to targetView. Defaults from Tour.stepCancelButtonTitle.
      Returns:
      Current cancelButtonTitle value. Default value is null
      See Also:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • getInstructions

      public String getInstructions()
      Text to show in body of window.
      Returns:
      Current instructions value. Default value is null
      See Also:
    • 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:
    • getPointerSnapTo

      public String getPointerSnapTo()
      Applied directly to targetView pointerSettings.
      Returns:
      Current pointerSnapTo value. Default value is null
      See Also:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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:

      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:
    • 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:
    • getTitle

      public String getTitle()
      Title for the Window.
      Returns:
      Current title value. Default value is null
      See Also:
    • 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:
    • 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 {...}