Package ghidra.framework.main.datatree
Class ProjectDataTreePanel
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
ghidra.framework.main.datatree.ProjectDataTreePanel
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,Accessible
Panel that contains a DataTree for showing project data.
Controls whether the data tree supports drag and drop operations.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Field Summary
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Fields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
Constructor Summary
ConstructorDescriptionProjectDataTreePanel
(FrontEndPlugin plugin) Construct an empty panel that is going to be used as the active panelProjectDataTreePanel
(String projectName, boolean isActiveProject, FrontEndPlugin plugin, DomainFileFilter filter) Constructor -
Method Summary
Modifier and TypeMethodDescriptionvoid
void
Add the tree selection listener to the data tree.void
void
Close the root folder for this data tree.void
dispose()
void
Find a node that has the given name and select it.getActionContext
(ComponentProvider provider, MouseEvent e) Get the data tree node that is selectedString[]
Get the last selected domain file.Get the last selected domain folder.int
Get the number of selected items in the tree.void
projectRenamed
(String newName) Notification that the project was renamed; update the root node name and reload the nodevoid
void
Remove the tree selection listener from the data tree.void
selectDomainFile
(DomainFile domainFile) void
selectDomainFiles
(Set<DomainFile> files) void
selectDomainFolder
(DomainFolder domainFolder) void
Select the root data folder (not root node in the tree which shows the project name).void
setDomainFileFilter
(DomainFileFilter filter) Set the filter on this data tree.void
setExpandedPathsByNodeName
(String[] stringPaths) void
setHelpLocation
(HelpLocation helpLocation) void
void
setProjectData
(String projectName, ProjectData projectData) Set the project data for this data tree and populate it with nodes for the users in the project.void
setTreeFilterEnabled
(boolean enabled) Adds or removes the filter from the tree.void
updateProjectName
(String newName) Update the project nameMethods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Constructor Details
-
ProjectDataTreePanel
Construct an empty panel that is going to be used as the active panel- Parameters:
plugin
- front end plugin
-
ProjectDataTreePanel
public ProjectDataTreePanel(String projectName, boolean isActiveProject, FrontEndPlugin plugin, DomainFileFilter filter) Constructor- Parameters:
projectName
- name of projectisActiveProject
- true if the project is active, and the data tree may be modifiedplugin
- front end plugin; will be null if the panel is used in a dialogfilter
- optional filter that is used to hide programs from view
-
-
Method Details
-
getTreeSelectionModel
-
setProjectData
Set the project data for this data tree and populate it with nodes for the users in the project.- Parameters:
projectName
- name of projectprojectData
- data that has the root folder for the project
-
updateProjectName
Update the project name- Parameters:
newName
- the new name
-
closeRootFolder
public void closeRootFolder()Close the root folder for this data tree. -
selectRootDataFolder
public void selectRootDataFolder()Select the root data folder (not root node in the tree which shows the project name). -
selectDomainFolder
-
selectDomainFiles
-
selectDomainFile
-
setHelpLocation
-
setDomainFileFilter
Set the filter on this data tree.- Parameters:
filter
- determines what should be included in the data tree
-
getSelectedItemCount
public int getSelectedItemCount()Get the number of selected items in the tree. These could be either files or folders.- Returns:
- the number of selected items in the tree.
-
getSelectedDomainFolder
Get the last selected domain folder.- Returns:
- null if no domain folder is selected.
-
getSelectedDomainFile
Get the last selected domain file.- Returns:
- null if no domain file is selected.
-
addTreeSelectionListener
Add the tree selection listener to the data tree. When the listener is notified of the selection change, it should callgetSelectedDomainFolder()
andgetSelectedDomainFile()
to get the last selected object.- Parameters:
l
- listener to add
-
removeTreeSelectionListener
Remove the tree selection listener from the data tree.- Parameters:
l
- listener to remove
-
addTreeMouseListener
-
removeTreeMouseListener
-
setPreferredTreePanelSize
-
getProjectData
-
projectRenamed
Notification that the project was renamed; update the root node name and reload the node- Parameters:
newName
- the new project name
-
dispose
public void dispose() -
getActionContext
Get the data tree node that is selected- Parameters:
provider
- the provider with which to construct the new contexte
- mouse event for the popup; may be null if this is being called as a result of the key binding pressed- Returns:
- the new context; null if there is no selection
-
getDataTree
-
setTreeFilterEnabled
public void setTreeFilterEnabled(boolean enabled) Adds or removes the filter from the tree.- Parameters:
enabled
- Tree adds the filter; false removes it
-
getFilterField
-
getExpandedPathsByNodeName
-
setExpandedPathsByNodeName
-
checkOpen
-
findAndSelect
Find a node that has the given name and select it.- Parameters:
s
- node name
-