Package docking

# Class ReusableDialogComponentProvider

java.lang.Object
docking.DialogComponentProvider
docking.ReusableDialogComponentProvider

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

Direct Known Subclasses:
  `AbstractErrDialog`, `AddEditDialog`, `ColumnFilterDialog`, `FindDialog`, `GhidraFileChooser`, `GoToAddressLabelDialog`, `ManagePluginsDialog`, `OptionsDialog`

public class ReusableDialogComponentProvider extends DialogComponentProvider
A version of `DialogComponentProvider` for clients to extend when they intend for their dialog to be reused. Typically, dialogs are used once and then no longer referenced. Alternatively, some clients create a dialog and use it for the lifetime of their code. This is typical of non-modal plugins.

If you extend this class, then you must call the `dispose()` method when you are done with the dialog, such as in your plugin's `dispose()` method.

The primary benefit of using this dialog is that any updates to the current theme will update this dialog, even when the dialog is not visible. For dialogs that extend `DialogComponentProvider` directly, they only receive theme updates if they are visible.

See Also:
  - `DialogComponentProvider`

- ## Field Summary

  ### Fields inherited from class docking.DialogComponentProvider

  `applyButton, buttonPanel, cancelButton, dismissButton, okButton, rootPanel`

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `ReusableDialogComponentProvider(String title)`
  `protected`
  `ReusableDialogComponentProvider(String title, boolean modal, boolean includeStatus, boolean includeButtons, boolean canRunTasks)`
  Constructs a new ReusableDialogComponentProvider.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `close()`
  `void`
  `dispose()`
  Disposes this dialog.

  ### Methods inherited from class docking.DialogComponentProvider

  `addAction, addApplyButton, addButton, addCancelButton, addDismissButton, addOKButton, addWorkPanel, alertMessage, alertMessage, applyCallback, cancelCallback, cancelCurrentTask, clearScheduledTask, clearStatusText, closeDialog, createSharedActions, dialogClosed, dialogShown, dismissCallback, doInitialize, escapeCallback, executeProgressTask, getActionContext, getActions, getBackground, getBounds, getComponent, getDefaultButton, getDefaultSize, getDialogSize, getFocusComponent, getGlassPane, getHelpLocation, getId, getInitialLocation, getLocationOnScreen, getParent, getPreferredSize, getRememberLocation, getRememberSize, getStatusColor, getStatusLabel, getStatusText, getTaskMonitorComponent, getTaskScheduler, getTitle, getUseSharedLocation, hideTaskMonitorComponent, isApplyEnabled, isCancelEnabled, isDialogKeyBindingAction, isModal, isOKEnabled, isResizeable, isRunningTask, isShowing, isTransient, isVisible, notifyContextChanged, okCallback, removeAction, removeButton, removeWorkPanel, repack, setAccessibleDescription, setApplyEnabled, setApplyToolTip, setBackground, setCancelButtonText, setCancelEnabled, setCancelToolTip, setCursor, setDefaultButton, setDefaultSize, setDialogSize, setDismissToolTip, setFocusComponent, setGlassPane, setHelpLocation, setInitialLocation, setMinimumSize, setMinimumSize, setOkButtonText, setOkEnabled, setOkToolTip, setPreferredSize, setRememberLocation, setRememberSize, setResizable, setStatusJustification, setStatusText, setStatusText, setStatusText, setTitle, setTransient, setUseSharedLocation, showProgressBar, showTaskMonitorComponent, stopProgressTimer, taskCancelled, taskCompleted, toFront, toString, waitForCurrentTask`

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

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

- ## Constructor Details

  - ### ReusableDialogComponentProvider

    protected ReusableDialogComponentProvider(String title)

  - ### ReusableDialogComponentProvider

    protected ReusableDialogComponentProvider(String title, boolean modal, boolean includeStatus, boolean includeButtons, boolean canRunTasks)
    Constructs a new ReusableDialogComponentProvider.
    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 (`DialogComponentProvider.executeProgressTask(Task, int)` and it will show a progress monitor when doing so.

- ## Method Details

  - ### close

    public void close()
    Overrides:
      `close` in class `DialogComponentProvider`

  - ### dispose

    public void dispose()
    Description copied from class: `DialogComponentProvider`
    Disposes this dialog. Only call this when the dialog is no longer used. Calling this method will close the dialog if it is open.
    Overrides:
      `dispose` in class `DialogComponentProvider`