Package com.orchestranetworks.userservice

# Interface UserServiceTab

public interface UserServiceTab
A tab in a tabbed pane. The tab has a title text represented by a `UIFormLabelSpec` and thus can have a `UIFormLabelSpec.DocumentationPane`.

It is designed to be created and added by a `UserServiceTabbedPane`.

The `id` can be get, and be used to `hide` or `show` a tab via JavaScript. The initial hiding state `can be set`.

Since:
  5.8.0
See Also:
  - `UserServiceTabbedPane.newTab(UIFormLabelSpec, UserServicePane)`
  - `UserServiceTabbedPane.addTab(UserServiceTab)`
  - `UIFormWriter.addJS_hideTab(String)`
  - `UIFormWriter.addJS_showTab(String)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `getId()`
  Returns the id previously defined, or `null`.
  `UserServicePane`
  `getPane()`
  Returns the pane associated with this tab.
  `UIFormLabelSpec`
  `getTitle()`
  Returns the label specification for title of the tab.
  `boolean`
  `isInitiallyHidden()`
  Returns the initially hidden mode for this tab.
  `void`
  `setId(String anId)`
  Sets an id for the tab.
  `void`
  `setInitiallyHidden(boolean isHidden)`
  Sets the initially hidden mode for this tab.
  `void`
  `setPane(UserServicePane aPane)`
  Returns the pane associated with this tab.
  `void`
  `setTitle(UserMessage aTitle)`
  Sets the tab's localized title.
  `void`
  `setTitle(UIFormLabelSpec aTitle)`
  Sets the tab's localized title.
  `void`
  `setTitle(String aTitle)`
  Sets the tab's title.

- ## Method Details

  - ### getId

    String getId()
    Returns the id previously defined, or `null`.
    Returns:
      The id previously defined, or `null`

  - ### setId

    void setId(String anId)
    Sets an id for the tab.

    When tabs in a tabbed pane are dynamic (that is, their display depends on the record state), it is recommended to invoke this method with a stable identifier, to ensure the tab selection remains the same if the page is redisplayed after a page submit.

    Parameters:
      `anId` - the id to set for the tab. The id attribute must respect the W3C Recommendation (in particular, by being unique in the page).
    See Also:
      - https://www.w3.org/TR/REC-html40/struct/global.html#adef-id

  - ### getTitle

    UIFormLabelSpec getTitle()
    Returns the label specification for title of the tab.
    Returns:
      the title of the or `null` if not defined.

  - ### setTitle

    void setTitle(String aTitle)
    Sets the tab's title.
    Parameters:
      `aTitle` - the title.

  - ### setTitle

    void setTitle(UserMessage aTitle)
    Sets the tab's localized title.
    Parameters:
      `aTitle` - the title.

  - ### setTitle

    void setTitle(UIFormLabelSpec aTitle)
    Sets the tab's localized title.
    Parameters:
      `aTitle` - the title.

  - ### isInitiallyHidden

    boolean isInitiallyHidden()
    Returns the initially hidden mode for this tab.
    Returns:
      `true` if this tab is initially hidden or `false` if this tab is initially displayed.
    See Also:
      - `setInitiallyHidden(boolean)`

  - ### setInitiallyHidden

    void setInitiallyHidden(boolean isHidden)
    Sets the initially hidden mode for this tab.

    The tab can be shown or hidden by a JavaScript function using the tab id.

    Parameters:
      `isHidden` - true if the tab is initially hidden.
    See Also:
      - `UIFormWriter.addJS_hideTab(String)`
      - `UIFormWriter.addJS_showTab(String)`

  - ### getPane

    UserServicePane getPane()
    Returns the pane associated with this tab.
    Returns:
      the pane.

  - ### setPane

    void setPane(UserServicePane aPane)
    Returns the pane associated with this tab.
    Parameters:
      `aPane` - the new pane for this tab, cannot be null.