Package docking.widgets.pathmanager

# Class PathManager

java.lang.Object
docking.widgets.pathmanager.PathManager

public class PathManager extends Object
Component that has a table to show pathnames; the panel includes buttons to control the order of the paths, and to add and remove paths. The add button brings up a file chooser. Call the setFileChooser() method to control how the file chooser should behave. If the table entries should not be edited, call setEditingEnabled(false).

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `PathManager(boolean addToTop, boolean allowOrdering)`
  `PathManager(List<Path> paths, boolean addToTop, boolean allowOrdering)`
  Construct a new PathnameTablePanel.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addListener(PathManagerListener listener)`
  `boolean`
  `addPath(ResourceFile file, boolean enabled)`
  Add a new file path and set its enablement
  `void`
  `clear()`
  Clear the paths in the table.
  `void`
  `dispose()`
  `JComponent`
  `getComponent()`
  Returns the GUI component for the path manager.
  `List<PathManagerListener>`
  `getListeners()`
  `static Path[]`
  `getPathsFromPreferences(String enablePathKey, Path[] defaultEnablePaths, String disabledPathKey)`
  Restore paths from user Preferences using the specified keys.
  `void`
  `removeListener(PathManagerListener listener)`
  `void`
  `restoreFromPreferences(String enablePathKey, Path[] defaultEnablePaths, String disabledPathKey)`
  Restore paths from user Preferences using the specified keys.
  `void`
  `restoreState(SaveState ss)`
  Restores the paths from the specified SaveState object.
  `static boolean`
  `savePathsToPreferences(String enablePathKey, String disabledPathKey, Path[] paths)`
  Save the specified paths to the user Preferences using the specified keys.
  `void`
  `saveState(SaveState ss)`
  Saves the paths to the specified SaveState object.
  `boolean`
  `saveToPreferences(String enablePathKey, String disabledPathKey)`
  `void`
  `setFileChooserProperties(String title, String preferenceForLastSelectedDir, GhidraFileChooserMode selectionMode, boolean allowMultiSelection, GhidraFileFilter filter)`
  Set properties on the file chooser that is displayed when the "Add" button is pressed.
  `void`
  `setPaths(List<Path> paths)`

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

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

- ## Constructor Details

  - ### PathManager

    public PathManager(List<Path> paths, boolean addToTop, boolean allowOrdering)
    Construct a new PathnameTablePanel.
    Parameters:
      `paths` - list of paths to show; may be null
      `addToTop` - true if new paths are to be added to the top of the table, false
      `allowOrdering` - if true the ability to move path items up/down will be provided if new paths are to be added to the end of the table

  - ### PathManager

    public PathManager(boolean addToTop, boolean allowOrdering)

- ## Method Details

  - ### setFileChooserProperties

    public void setFileChooserProperties(String title, String preferenceForLastSelectedDir, GhidraFileChooserMode selectionMode, boolean allowMultiSelection, GhidraFileFilter filter)
    Set properties on the file chooser that is displayed when the "Add" button is pressed.
    Parameters:
      `title` - title of the file chooser
      `preferenceForLastSelectedDir` - Preference to use as the current directory in the file chooser
      `selectionMode` - mode defined in GhidraFileChooser, e.g., GhidraFileChooser.FILES_ONLY
      `allowMultiSelection` - true if multiple files can be selected
      `filter` - filter to use; may be null if no filtering is required

  - ### addPath

    public boolean addPath(ResourceFile file, boolean enabled)
    Add a new file path and set its enablement
    Parameters:
      `file` - the file whose path to use
      `enabled` - true if enabled
    Returns:
      true if the enabled path did not already exist

  - ### setPaths

    public void setPaths(List<Path> paths)

  - ### clear

    public void clear()
    Clear the paths in the table.

  - ### addListener

    public void addListener(PathManagerListener listener)

  - ### removeListener

    public void removeListener(PathManagerListener listener)

  - ### getListeners

    public List<PathManagerListener> getListeners()

  - ### getComponent

    public JComponent getComponent()
    Returns the GUI component for the path manager.
    Returns:
      the GUI component for the path manager

  - ### saveState

    public void saveState(SaveState ss)
    Saves the paths to the specified SaveState object.
    Parameters:
      `ss` - the SaveState object

  - ### restoreFromPreferences

    public void restoreFromPreferences(String enablePathKey, Path[] defaultEnablePaths, String disabledPathKey)
    Restore paths from user Preferences using the specified keys. If preferences have never been saved, the specified `defaultEnablePaths` will be used. Note: the encoded path list must have been stored using the same keys using the `savePathsToPreferences(String, String, Path[])` or `saveToPreferences(String, String)` methods.
    Parameters:
      `enablePathKey` - preference key for storing enabled paths
      `defaultEnablePaths` - default paths
      `disabledPathKey` - preference key for storing disabled paths

  - ### getPathsFromPreferences

    public static Path[] getPathsFromPreferences(String enablePathKey, Path[] defaultEnablePaths, String disabledPathKey)
    Restore paths from user Preferences using the specified keys. If preferences have never been saved, the specified `defaultEnablePaths` will be returned. Note: the encoded path list must have been stored using the same keys using the `savePathsToPreferences(String, String, Path[])` or `saveToPreferences(String, String)` methods.
    Parameters:
      `enablePathKey` - preference key for storing enabled paths
      `defaultEnablePaths` - default paths
      `disabledPathKey` - preference key for storing disabled paths
    Returns:
      ordered paths from Preferences

  - ### saveToPreferences

    public boolean saveToPreferences(String enablePathKey, String disabledPathKey)

  - ### savePathsToPreferences

    public static boolean savePathsToPreferences(String enablePathKey, String disabledPathKey, Path[] paths)
    Save the specified paths to the user Preferences using the specified keys. Note: The encoded path Preferences are intended to be decoded by the `restoreFromPreferences(String, Path[], String)` and `getPathsFromPreferences(String, Path[], String)` methods.
    Parameters:
      `enablePathKey` - preference key for storing enabled paths
      `disabledPathKey` - preference key for storing disabled paths
      `paths` - paths to be saved
    Returns:
      true if Preference saved properly

  - ### restoreState

    public void restoreState(SaveState ss)
    Restores the paths from the specified SaveState object.
    Parameters:
      `ss` - the SaveState object

  - ### dispose

    public void dispose()