Package docking

# Class DialogComponentProvider

java.lang.Object
docking.DialogComponentProvider

All Implemented Interfaces:
  `ActionContextProvider`, `StatusListener`, `TaskListener`

Direct Known Subclasses:
  `AboutDialog`, `AbstractNumberInputDialog`, `AbstractPathsDialog`, `AskAddrDialog`, `AskDialog`, `BatchImportDialog`, `ChangedFilesDialog`, `CheckoutDialog`, `CheckoutDialog`, `CheckoutsDialog`, `ChooseColumnsDialog`, `ColumnFilterArchiveDialog`, `CreateThemeDialog`, `DataTreeDialog`, `DataTypeSelectionDialog`, `EditFieldNameDialog`, `ExportThemeDialog`, `ExtensionTableProvider`, `FilterOptionsEditorDialog`, `FindCheckoutsDialog`, `ImageDialogProvider`, `ImporterDialog`, `ImporterLanguageDialog`, `InputDialog`, `InputWithChoicesDialog`, `KeyEntryDialog`, `ListSelectionDialog`, `ListSelectionTableDialog`, `MultiActionDialog`, `MultiLineInputDialog`, `MultiLineMessageDialog`, `MultipleOptionsDialog`, `NumberRangeInputDialog`, `ObjectChooserDialog`, `OptionDialog`, `OptionsDialog`, `PasswordChangeDialog`, `PasswordDialog`, `PickToolDialog`, `PluginInstallerDialog`, `ProjectInfoDialog`, `ReadTextDialog`, `ReusableDialogComponentProvider`, `SaveDataDialog`, `SaveToolConfigDialog`, `SelectChangedToolDialog`, `SelectColumnsDialog`, `SelectFromListDialog`, `SelectLanguageDialog`, `SetEquateDialog`, `SettingsDialog`, `TableChooserDialog`, `TableChooserDialog`, `TableSelectionDialog`, `TaskDialog`, `ThemeChooserDialog`, `ThemeEditorDialog`, `UndoActionDialog`, `UserAgreementDialog`, `ValuesMapDialog`, `VersionControlDialog`, `VersionHistoryDialog`

public class DialogComponentProvider extends Object implements ActionContextProvider, StatusListener, TaskListener
Base class used for creating dialogs in Ghidra. Subclass this to create a dialog provider that has all the gui elements to appear in the dialog, then use tool.showDialog() to display your dialog.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected JButton`
  `applyButton`
  `protected JPanel`
  `buttonPanel`
  `protected JButton`
  `cancelButton`
  `protected JButton`
  `dismissButton`
  `protected JButton`
  `okButton`
  `protected JPanel`
  `rootPanel`

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `DialogComponentProvider(String title)`
  Constructor for a DialogComponentProvider that will be modal and will include a status line and a button panel.
  `protected`
  `DialogComponentProvider(String title, boolean modal)`
  Constructor for a DialogComponentProvider that will include a status line and a button panel.
  `protected`
  `DialogComponentProvider(String title, boolean modal, boolean includeStatus, boolean includeButtons, boolean canRunTasks)`
  Constructs a new DialogComponentProvider.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addAction(DockingActionIf action)`
  Add an action to this dialog.
  `protected void`
  `addApplyButton()`
  Adds an "Apply" button to the button panel.
  `protected void`
  `addButton(JButton button)`
  Adds a button to the button panel at the bottom of the dialog.
  `protected void`
  `addCancelButton()`
  Adds a "Cancel" button to the button panel.
  `protected void`
  `addDismissButton()`
  Adds a "Dismiss" button to the button panel.
  `protected void`
  `addOKButton()`
  Adds an "OK" button to the button panel.
  `protected void`
  `addWorkPanel(JComponent comp)`
  Used by derived classes to add dialog specific gui elements
  `protected void`
  `alertMessage()`
  Signals for this dialog to visually draw the user's attention to the status text
  `protected void`
  `alertMessage(Callback alertFinishedCallback)`
  Signals for this dialog to visually draw the user's attention to the status text
  `protected void`
  `applyCallback()`
  The callback method for when the "Apply" button is pressed.
  `protected void`
  `cancelCallback()`
  The callback method for when the "Cancel" button is pressed.
  `protected void`
  `cancelCurrentTask()`
  Cancel the task that is running.
  `protected void`
  `clearScheduledTask()`
  `void`
  `clearStatusText()`
  Clears the text from the dialog's status line.
  `void`
  `close()`
  `protected void`
  `closeDialog()`
  `protected void`
  `dialogClosed()`
  Override this method if you want to do something when the dialog is made invisible
  `protected void`
  `dialogShown()`
  Override this method if you want to do something when the dialog is made visible
  `protected void`
  `dismissCallback()`
  The callback method for when the "Dismiss" button is pressed.
  `void`
  `dispose()`
  Disposes this dialog.
  `protected void`
  `doInitialize()`
  a callback mechanism for children to do work
  `protected void`
  `escapeCallback()`
  The callback method for when the escape key is pressed.
  `protected void`
  `executeProgressTask(Task task, int delay)`
  Execute a non-modal task that has progress and can be cancelled.
  `ActionContext`
  `getActionContext(MouseEvent event)`
  An optional extension point for subclasses to provider action context for the actions used by this provider.
  `Set<DockingActionIf>`
  `getActions()`
  `Color`
  `getBackground()`
  Gets the background color of this component.
  `protected Rectangle`
  `getBounds()`
  Gets the bound of this dialog component.
  `JComponent`
  `getComponent()`
  `JButton`
  `getDefaultButton()`
  Returns the default button for the dialog.
  `Dimension`
  `getDefaultSize()`
  `protected Dimension`
  `getDialogSize()`
  `Component`
  `getFocusComponent()`
  Returns the component that will receive focus when the dialog is shown
  `protected Component`
  `getGlassPane()`
  `HelpLocation`
  `getHelpLocation()`
  Returns the help location for this dialog
  `int`
  `getId()`
  `Point`
  `getInitialLocation()`
  Returns the initial location for the dialog or null if none was set
  `protected Point`
  `getLocationOnScreen()`
  Gets the location of this provider on the screen.
  `protected Component`
  `getParent()`
  `Dimension`
  `getPreferredSize()`
  Returns the preferred size of this component.
  `boolean`
  `getRememberLocation()`
  Returns true if this dialog remembers its location from one invocation to the next.
  `boolean`
  `getRememberSize()`
  Returns true if this dialog remembers its size from one invocation to the next.
  `protected Color`
  `getStatusColor(MessageType type)`
  `protected JLabel`
  `getStatusLabel()`
  `String`
  `getStatusText()`
  Returns the current status in the dialogs status line
  `protected TaskMonitorComponent`
  `getTaskMonitorComponent()`
  `protected TaskScheduler`
  `getTaskScheduler()`
  Get the task scheduler for the dialog
  `String`
  `getTitle()`
  Returns the title for this component
  `boolean`
  `getUseSharedLocation()`
  Returns true if this dialog uses shared location and size information.
  `void`
  `hideTaskMonitorComponent()`
  Will hide the progress panel if it was showing.
  `protected boolean`
  `isApplyEnabled()`
  Returns true if the apply button is enabled
  `protected boolean`
  `isCancelEnabled()`
  Returns true if the cancel button is enabled
  `boolean`
  `isModal()`
  Returns true if this component should be displayed in a modal dialog
  `protected boolean`
  `isOKEnabled()`
  Returns true if the OK button is enabled
  `boolean`
  `isResizeable()`
  `boolean`
  `isRunningTask()`
  Returns true if this dialog is running a task.
  `boolean`
  `isShowing()`
  `boolean`
  `isTransient()`
  Returns true if this dialog is intended to be shown and hidden relatively quickly.
  `boolean`
  `isVisible()`
  `protected void`
  `notifyContextChanged()`
  Signals to this provider that it needs to updated the enabled state of its managed actions.
  `protected void`
  `okCallback()`
  The callback method for when the "OK" button is pressed.
  `void`
  `removeAction(DockingActionIf action)`
  `protected void`
  `removeButton(JButton button)`
  Remove the given button from the dialog
  `protected void`
  `removeWorkPanel()`
  `protected void`
  `repack()`
  `protected void`
  `setApplyEnabled(boolean state)`
  Sets the enablement state of the "Apply" button.
  `protected void`
  `setApplyToolTip(String tooltip)`
  Sets the Tooltip for the Apply button
  `void`
  `setBackground(Color color)`
  Sets the background on this component.
  `protected void`
  `setCancelButtonText(String text)`
  `protected void`
  `setCancelEnabled(boolean state)`
  Sets the enablement state of the "CANCEL" button.
  `protected void`
  `setCancelToolTip(String tooltip)`
  Sets the Tooltip for the Cancel button
  `void`
  `setCursor(Cursor cursor)`
  Sets the cursor on the root panel for the dialog component.
  `void`
  `setDefaultButton(JButton button)`
  Sets the button to make "Default" when the dialog is shown.
  `void`
  `setDefaultSize(int width, int height)`
  `protected void`
  `setDialogSize(Dimension d)`
  `protected void`
  `setDismissToolTip(String tooltip)`
  Sets the Tooltip for the Dismiss button
  `void`
  `setFocusComponent(Component focusComponent)`
  Sets the component that should be given focus when the dialog is activated.
  `protected void`
  `setGlassPane(Component component)`
  `void`
  `setHelpLocation(HelpLocation helpLocation)`
  Set the help Location for this dialog.
  `void`
  `setInitialLocation(int x, int y)`
  Sets the initial location for the dialog
  `void`
  `setMinimumSize(int width, int height)`
  `void`
  `setMinimumSize(Dimension minSize)`
  Sets the minimum size of the dialog
  `protected void`
  `setOkButtonText(String text)`
  `protected void`
  `setOkEnabled(boolean state)`
  Sets the enablement state of the "OK" button.
  `protected void`
  `setOkToolTip(String tooltip)`
  Sets the Tooltip for the OK button
  `void`
  `setPreferredSize(int width, int height)`
  Sets the preferred size of the dialog.
  `void`
  `setRememberLocation(boolean rememberLocation)`
  Sets this dialog to remember its location from one invocation to the next.
  `void`
  `setRememberSize(boolean rememberSize)`
  Sets this dialog to remember its size from one invocation to the next.
  `void`
  `setResizable(boolean resizeable)`
  Sets the resizable property for the corresponding dialog.
  `void`
  `setStatusJustification(int justification)`
  Sets the horizontal position of the status label.
  `void`
  `setStatusText(String text)`
  Sets the text in the dialog's status line using the default color
  `void`
  `setStatusText(String message, MessageType type)`
  Sets the text in the dialog's status line using the specified message type to control the color.
  `void`
  `setStatusText(String message, MessageType type, boolean alert)`
  Set the current status as the specified type
  `void`
  `setTitle(String title)`
  Sets the title to be displayed in the dialogs title bar
  `void`
  `setTransient(boolean isTransient)`
  Sets this dialog to be transient (see `isTransient()`
  `void`
  `setUseSharedLocation(boolean useSharedLocation)`
  Specifies whether or not this dialog component should use the same remembered location (and size) no matter which window this dialog is launched from.
  `protected void`
  `showProgressBar(String localTitle, boolean hasProgress, boolean canCancel, int delay)`
  `TaskMonitor`
  `showTaskMonitorComponent(String localTitle, boolean hasProgress, boolean canCancel)`
  Shows the progress bar for this dialog.
  `protected void`
  `stopProgressTimer()`
  Stop the timer if one was started to delay showing the progress bar.
  `void`
  `taskCancelled(Task task)`
  Notification that the task was canceled; the progress panel is removed.
  `void`
  `taskCompleted(Task task)`
  Notification that the given task completed so that the progress panel can be removed.
  `void`
  `toFront()`
  Moves the dialog associated with this provider to the front.
  `String`
  `toString()`
  `void`
  `waitForCurrentTask()`
  Blocks the calling thread until the current task has completed; used by JUnit tests.

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

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

- ## Field Details

  - ### rootPanel

    protected JPanel rootPanel

  - ### buttonPanel

    protected JPanel buttonPanel

  - ### okButton

    protected JButton okButton

  - ### applyButton

    protected JButton applyButton

  - ### cancelButton

    protected JButton cancelButton

  - ### dismissButton

    protected JButton dismissButton

- ## Constructor Details

  - ### DialogComponentProvider

    protected DialogComponentProvider(String title)
    Constructor for a DialogComponentProvider that will be modal and will include a status line and a button panel. Its title will be the same as its name.
    Parameters:
      `title` - the dialog title.

  - ### DialogComponentProvider

    protected DialogComponentProvider(String title, boolean modal)
    Constructor for a DialogComponentProvider that will include a status line and a button panel.
    Parameters:
      `title` - the title for this dialog.
      `modal` - true if this dialog should be modal.

  - ### DialogComponentProvider

    protected DialogComponentProvider(String title, boolean modal, boolean includeStatus, boolean includeButtons, boolean canRunTasks)
    Constructs a new DialogComponentProvider.
    Parameters:
      `title` - the title for this dialog.
      `modal` - true if this dialog should be modal.
      `includeStatus` - true if this dialog should include a status line.
      `includeButtons` - true if this dialog will have a button panel at the bottom.
      `canRunTasks` - true means this dialog can execute tasks (`executeProgressTask(Task, int)` and it will show a progress monitor when doing so.

- ## Method Details

  - ### doInitialize

    protected void doInitialize()
    a callback mechanism for children to do work

  - ### getId

    public int getId()

  - ### getComponent

    public JComponent getComponent()

  - ### repack

    protected void repack()

  - ### setDialogSize

    protected void setDialogSize(Dimension d)

  - ### getDialogSize

    protected Dimension getDialogSize()

  - ### setBackground

    public void setBackground(Color color)
    Sets the background on this component.
    Parameters:
      `color` - The color to set.

  - ### getBackground

    public Color getBackground()
    Gets the background color of this component.
    Returns:
      The background color of this component.

  - ### setPreferredSize

    public void setPreferredSize(int width, int height)
    Sets the preferred size of the dialog. Note that if you set the preferred size, the dialog will ignore any natural preferred size of your components.
    Parameters:
      `width` - the preferred width
      `height` - the preferred height;

  - ### setDefaultSize

    public void setDefaultSize(int width, int height)

  - ### getDefaultSize

    public Dimension getDefaultSize()

  - ### setMinimumSize

    public void setMinimumSize(int width, int height)

  - ### setMinimumSize

    public void setMinimumSize(Dimension minSize)
    Sets the minimum size of the dialog
    Parameters:
      `minSize` - the min size of the dialog

  - ### getBounds

    protected Rectangle getBounds()
    Gets the bound of this dialog component. This is relative the parent of this provider.
    Returns:
      the bound of this dialog component.
    See Also:
      - `Component.getBounds()`

  - ### getLocationOnScreen

    protected Point getLocationOnScreen()
    Gets the location of this provider on the screen. Calling `getBounds()` provides a relative location. This method provides a location absolute on the screen.
    Returns:
      the location of this provider on the screen.
    See Also:
      - `Component.getLocationOnScreen()`

  - ### getPreferredSize

    public Dimension getPreferredSize()
    Returns the preferred size of this component.
    Returns:
      the preferred size of this component.

  - ### setCursor

    public void setCursor(Cursor cursor)
    Sets the cursor on the root panel for the dialog component.
    Parameters:
      `cursor` - the cursor to use.

  - ### addWorkPanel

    protected void addWorkPanel(JComponent comp)
    Used by derived classes to add dialog specific gui elements
    Parameters:
      `comp` - the Component containing the derived class's components.

  - ### removeWorkPanel

    protected void removeWorkPanel()

  - ### addButton

    protected void addButton(JButton button)
    Adds a button to the button panel at the bottom of the dialog. Buttons will be added from left to right.

    Implementation Note: Calling this method will set the given button as the default button on this dialog when:

    - No button has yet been added, and
    - No default button has been assigned
    To change this behavior, call `setDefaultButton(JButton)` with the desired default button.
    Parameters:
      `button` - the button

  - ### removeButton

    protected void removeButton(JButton button)
    Remove the given button from the dialog
    Parameters:
      `button` - the button

  - ### executeProgressTask

    protected void executeProgressTask(Task task, int delay)
    Execute a non-modal task that has progress and can be cancelled.
    Parameters:
      `task` - task to execute; a progress bar is displayed next to the status field in this dialog if the task has progress; for indeterminate tasks, a "spinning globe" is displayed to indicate that something is happening.
      `delay` - number of milliseconds to delay until progress bar is displayed; a value less than or equal to 0 means to show the progress bar immediately
    Throws:
      `IllegalArgumentException` - if the given task is modal

  - ### clearScheduledTask

    protected void clearScheduledTask()

  - ### cancelCurrentTask

    protected void cancelCurrentTask()
    Cancel the task that is running.

  - ### waitForCurrentTask

    public void waitForCurrentTask()
    Blocks the calling thread until the current task has completed; used by JUnit tests.

  - ### isRunningTask

    public boolean isRunningTask()
    Returns true if this dialog is running a task.
    Returns:
      true if this dialog is running a task.

  - ### addOKButton

    protected void addOKButton()
    Adds an "OK" button to the button panel. The protected method okCallback() will be invoked whenever the "OK" button is pressed.

  - ### addCancelButton

    protected void addCancelButton()
    Adds a "Cancel" button to the button panel. The protected method CancelCallback() will be invoked whenever the "Cancel" button is pressed.

  - ### addDismissButton

    protected void addDismissButton()
    Adds a "Dismiss" button to the button panel. The protected method dismissCallback() will be invoked whenever the "Dismiss" button is pressed.

  - ### addApplyButton

    protected void addApplyButton()
    Adds an "Apply" button to the button panel. The protected method applyCallback() will be invoked whenever the "Apply" button is pressed.

  - ### setApplyToolTip

    protected void setApplyToolTip(String tooltip)
    Sets the Tooltip for the Apply button
    Parameters:
      `tooltip` - the tooltip

  - ### setOkButtonText

    protected void setOkButtonText(String text)

  - ### setOkToolTip

    protected void setOkToolTip(String tooltip)
    Sets the Tooltip for the OK button
    Parameters:
      `tooltip` - the tooltip

  - ### setCancelToolTip

    protected void setCancelToolTip(String tooltip)
    Sets the Tooltip for the Cancel button
    Parameters:
      `tooltip` - the tooltip

  - ### setCancelButtonText

    protected void setCancelButtonText(String text)

  - ### setDismissToolTip

    protected void setDismissToolTip(String tooltip)
    Sets the Tooltip for the Dismiss button
    Parameters:
      `tooltip` - the tooltip

  - ### setOkEnabled

    protected void setOkEnabled(boolean state)
    Sets the enablement state of the "OK" button.
    Parameters:
      `state` - true to enable the button, false to disable the button.

  - ### setCancelEnabled

    protected void setCancelEnabled(boolean state)
    Sets the enablement state of the "CANCEL" button.
    Parameters:
      `state` - true to enable the button, false to disable the button.

  - ### setApplyEnabled

    protected void setApplyEnabled(boolean state)
    Sets the enablement state of the "Apply" button.
    Parameters:
      `state` - true to enable the button, false to disable the button.

  - ### isCancelEnabled

    protected boolean isCancelEnabled()
    Returns true if the cancel button is enabled
    Returns:
      true if the cancel button is enabled

  - ### isOKEnabled

    protected boolean isOKEnabled()
    Returns true if the OK button is enabled
    Returns:
      true if the OK button is enabled

  - ### isApplyEnabled

    protected boolean isApplyEnabled()
    Returns true if the apply button is enabled
    Returns:
      true if the apply button is enabled

  - ### setStatusText

    public void setStatusText(String text)
    Sets the text in the dialog's status line using the default color
    Specified by:
      `setStatusText` in interface `StatusListener`
    Parameters:
      `text` - the text to display in the status line

  - ### setStatusText

    public void setStatusText(String message, MessageType type)
    Sets the text in the dialog's status line using the specified message type to control the color.
    Specified by:
      `setStatusText` in interface `StatusListener`
    Parameters:
      `message` - the message
      `type` - the message type

  - ### setStatusText

    public void setStatusText(String message, MessageType type, boolean alert)
    Description copied from interface: `StatusListener`
    Set the current status as the specified type
    Specified by:
      `setStatusText` in interface `StatusListener`
    Parameters:
      `message` - status text
      `type` - status type
      `alert` - true to grab the user's attention

  - ### alertMessage

    protected void alertMessage()
    Signals for this dialog to visually draw the user's attention to the status text

  - ### alertMessage

    protected void alertMessage(Callback alertFinishedCallback)
    Signals for this dialog to visually draw the user's attention to the status text
    Parameters:
      `alertFinishedCallback` - this will be called when the alert is finished. This allows clients to perform work, like re-enabling buttons that were disabled before calling this method

  - ### getStatusColor

    protected Color getStatusColor(MessageType type)

  - ### stopProgressTimer

    protected void stopProgressTimer()
    Stop the timer if one was started to delay showing the progress bar.

  - ### hideTaskMonitorComponent

    public void hideTaskMonitorComponent()
    Will hide the progress panel if it was showing.
    See Also:
      - `showTaskMonitorComponent(String, boolean, boolean)`

  - ### showProgressBar

    protected void showProgressBar(String localTitle, boolean hasProgress, boolean canCancel, int delay)

  - ### clearStatusText

    public void clearStatusText()
    Clears the text from the dialog's status line.
    Specified by:
      `clearStatusText` in interface `StatusListener`

  - ### getStatusText

    public String getStatusText()
    Returns the current status in the dialogs status line
    Returns:
      the status text

  - ### getStatusLabel

    protected JLabel getStatusLabel()

  - ### getTaskScheduler

    protected TaskScheduler getTaskScheduler()
    Get the task scheduler for the dialog
    Returns:
      the task scheduler

  - ### getTaskMonitorComponent

    protected TaskMonitorComponent getTaskMonitorComponent()

  - ### showTaskMonitorComponent

    public TaskMonitor showTaskMonitorComponent(String localTitle, boolean hasProgress, boolean canCancel)
    Shows the progress bar for this dialog.
    Parameters:
      `localTitle` - the name of the task
      `hasProgress` - true if the progress bar should show progress; false to be indeterminate
      `canCancel` - true if the task can be cancelled
    Returns:
      the `TaskMonitor` used by to communicate progress
    See Also:
      - `hideTaskMonitorComponent()`

  - ### applyCallback

    protected void applyCallback()
    The callback method for when the "Apply" button is pressed.

  - ### okCallback

    protected void okCallback()
    The callback method for when the "OK" button is pressed.

  - ### cancelCallback

    protected void cancelCallback()
    The callback method for when the "Cancel" button is pressed. The default behavior is to call setVisible(false) and dispose() on the dialog.

  - ### close

    public void close()

  - ### closeDialog

    protected void closeDialog()

  - ### dispose

    public void dispose()
    Disposes this dialog. Only call this when the dialog is no longer used. Calling this method will close the dialog if it is open.

  - ### dismissCallback

    protected void dismissCallback()
    The callback method for when the "Dismiss" button is pressed. The default behavior is to call the cancel Callback.

  - ### escapeCallback

    protected void escapeCallback()
    The callback method for when the escape key is pressed. The default behavior is the call setVisible(false) on the dialog.

  - ### isModal

    public boolean isModal()
    Returns true if this component should be displayed in a modal dialog
    Returns:
      true if this component should be displayed in a modal dialog

  - ### setStatusJustification

    public void setStatusJustification(int justification)
    Sets the horizontal position of the status label.
    Parameters:
      `justification` - One of the following constants defined in `SwingConstants`: `LEFT`, `CENTER` (the default for image-only labels), `RIGHT`,

  - ### taskCancelled

    public void taskCancelled(Task task)
    Notification that the task was canceled; the progress panel is removed.
    Specified by:
      `taskCancelled` in interface `TaskListener`
    Parameters:
      `task` - task that was canceled

  - ### taskCompleted

    public void taskCompleted(Task task)
    Notification that the given task completed so that the progress panel can be removed.
    Specified by:
      `taskCompleted` in interface `TaskListener`
    Parameters:
      `task` - task that completed

  - ### setFocusComponent

    public void setFocusComponent(Component focusComponent)
    Sets the component that should be given focus when the dialog is activated.

    Implementation Note: If the given component is a JButton, then that component will be made the default button.

    Parameters:
      `focusComponent` - the component that should receive default focus.
    See Also:
      - `setFocusComponent(Component)`

  - ### getFocusComponent

    public Component getFocusComponent()
    Returns the component that will receive focus when the dialog is shown
    Returns:
      the component

  - ### setHelpLocation

    public void setHelpLocation(HelpLocation helpLocation)
    Set the help Location for this dialog.
    Parameters:
      `helpLocation` - the helpLocation for this dialog.

  - ### getHelpLocation

    public HelpLocation getHelpLocation()
    Returns the help location for this dialog
    Returns:
      the help location

  - ### setDefaultButton

    public void setDefaultButton(JButton button)
    Sets the button to make "Default" when the dialog is shown. If no default button is desired, then pass `null` as the `button` value.
    Parameters:
      `button` - the button to make default enabled.

  - ### getDefaultButton

    public JButton getDefaultButton()
    Returns the default button for the dialog.
    Returns:
      the button

  - ### setTitle

    public void setTitle(String title)
    Sets the title to be displayed in the dialogs title bar
    Parameters:
      `title` - the title

  - ### getGlassPane

    protected Component getGlassPane()

  - ### setGlassPane

    protected void setGlassPane(Component component)

  - ### getTitle

    public String getTitle()
    Returns the title for this component
    Returns:
      the title

  - ### toFront

    public void toFront()
    Moves the dialog associated with this provider to the front.

  - ### getParent

    protected Component getParent()

  - ### isVisible

    public boolean isVisible()

  - ### isShowing

    public boolean isShowing()

  - ### dialogShown

    protected void dialogShown()
    Override this method if you want to do something when the dialog is made visible

  - ### dialogClosed

    protected void dialogClosed()
    Override this method if you want to do something when the dialog is made invisible

  - ### setInitialLocation

    public void setInitialLocation(int x, int y)
    Sets the initial location for the dialog
    Parameters:
      `x` - the x coordinate
      `y` - the y coordinate

  - ### getInitialLocation

    public Point getInitialLocation()
    Returns the initial location for the dialog or null if none was set
    Returns:
      the point

  - ### setResizable

    public void setResizable(boolean resizeable)
    Sets the resizable property for the corresponding dialog.
    Parameters:
      `resizeable` - if false the user will not be able to resize the dialog.

  - ### isResizeable

    public boolean isResizeable()

  - ### getActionContext

    public ActionContext getActionContext(MouseEvent event)
    An optional extension point for subclasses to provider action context for the actions used by this provider.
    Specified by:
      `getActionContext` in interface `ActionContextProvider`
    Parameters:
      `event` - The mouse event used (may be null) to generate a popup menu

  - ### notifyContextChanged

    protected void notifyContextChanged()
    Signals to this provider that it needs to updated the enabled state of its managed actions.

  - ### getActions

    public Set<DockingActionIf> getActions()

  - ### addAction

    public void addAction(DockingActionIf action)
    Add an action to this dialog. Only actions with icons are added to the toolbar. Note, if you add an action to this dialog, do not also add the action to the tool, as this dialog will do that for you.
    Parameters:
      `action` - the action

  - ### removeAction

    public void removeAction(DockingActionIf action)

  - ### setRememberLocation

    public void setRememberLocation(boolean rememberLocation)
    Sets this dialog to remember its location from one invocation to the next. The default is to remember location.
    Parameters:
      `rememberLocation` - true to remember, false otherwise.

  - ### getRememberLocation

    public boolean getRememberLocation()
    Returns true if this dialog remembers its location from one invocation to the next.
    Returns:
      true if this dialog remembers its location from one invocation to the next.

  - ### setRememberSize

    public void setRememberSize(boolean rememberSize)
    Sets this dialog to remember its size from one invocation to the next. The default is to remember size.
    Parameters:
      `rememberSize` - true to remember, false otherwise.

  - ### getRememberSize

    public boolean getRememberSize()
    Returns true if this dialog remembers its size from one invocation to the next.
    Returns:
      true if this dialog remembers its size from one invocation to the next.

  - ### getUseSharedLocation

    public boolean getUseSharedLocation()
    Returns true if this dialog uses shared location and size information.
    Returns:
      true if this dialog uses shared location and size information.
    See Also:
      - `setUseSharedLocation(boolean)`

  - ### setUseSharedLocation

    public void setUseSharedLocation(boolean useSharedLocation)
    Specifies whether or not this dialog component should use the same remembered location (and size) no matter which window this dialog is launched from. The default is not to use shared location and size, which means that there is a remembered location and size for this dialog for each window that has launched it (i.e. the window is the parent of the dialog).
    Parameters:
      `useSharedLocation` - true to share locations

  - ### isTransient

    public boolean isTransient()
    Returns true if this dialog is intended to be shown and hidden relatively quickly. This is used to determine if this dialog should be allowed to parent other components. The default is false.
    Returns:
      true if this dialog is transient

  - ### setTransient

    public void setTransient(boolean isTransient)
    Sets this dialog to be transient (see `isTransient()`
    Parameters:
      `isTransient` - true for transient; false is the default

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `Object`