Package ghidra.framework.main
Class ProjectAccessPanel
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- docking.wizard.AbstractWizardJPanel
-
- ghidra.framework.main.ProjectAccessPanel
-
- All Implemented Interfaces:
WizardPanel
,java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,javax.accessibility.Accessible
- Direct Known Subclasses:
ViewProjectAccessPanel
public class ProjectAccessPanel extends AbstractWizardJPanel
Panel that shows the users for a given repository and the users associated with the current shared project. There are 3 main sub-panels:- Known Users Panel: Displays all users in the repository
- Button Panel: Provides buttons for adding/removing users from the project
- User Access Panel: Displays all users on the project, and their access permissions
If the current user is an admin, he may change user permissions and add/remove them from the project. If not, only the User Access Panel will be visible and it will be read-only.
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
-
Field Summary
Fields Modifier and Type Field Description protected ghidra.framework.main.ProjectAccessPanel.ButtonPanel
addRemoveButtonPanel
protected javax.swing.JCheckBox
anonymousAccessCB
protected java.lang.String
currentUser
protected HelpLocation
helpLoc
protected ghidra.framework.main.ProjectAccessPanel.KnownUsersPanel
knownUsersPanel
protected boolean
origAnonymousAccessEnabled
protected java.util.List<User>
origProjectUserList
protected java.lang.String
repositoryName
protected java.awt.Color
SELECTION_BG_COLOR
protected java.awt.Color
SELECTION_FG_COLOR
protected PluginTool
tool
protected ghidra.framework.main.ProjectAccessPanel.UserAccessPanel
userAccessPanel
-
Fields inherited from class docking.wizard.AbstractWizardJPanel
listeners
-
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
-
-
Constructor Summary
Constructors Constructor Description ProjectAccessPanel(java.lang.String[] knownUsers, RepositoryAdapter repository, PluginTool tool)
Construct a new panel from aRepositoryAdapter
instance.ProjectAccessPanel(java.lang.String[] knownUsers, java.lang.String currentUser, java.util.List<User> allUsers, java.lang.String repositoryName, boolean anonymousServerAccessAllowed, boolean anonymousAccessEnabled, PluginTool tool)
Constructs a new panel from the given arguments.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
createMainPanel(java.lang.String[] knownUsers, boolean anonymousServerAccessAllowed)
Creates the main gui panel, containing the known users, button, and user access panels.HelpLocation
getHelpLocation()
Returns the help content location for this panel.java.lang.String
getTitle()
Get the title for this panel.void
initialize()
Initialize the panel as though this is the first time it is being displayed.boolean
isValidInformation()
Return true if the user entered valid information for this panel.-
Methods inherited from class docking.wizard.AbstractWizardJPanel
addWizardPanelListener, getDefaultFocusComponent, getPanel, notifyListenersOfStatusMessage, notifyListenersOfValidityChanged, removeWizardPanelListener
-
Methods 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
-
-
-
-
Field Detail
-
knownUsersPanel
protected ghidra.framework.main.ProjectAccessPanel.KnownUsersPanel knownUsersPanel
-
userAccessPanel
protected ghidra.framework.main.ProjectAccessPanel.UserAccessPanel userAccessPanel
-
addRemoveButtonPanel
protected ghidra.framework.main.ProjectAccessPanel.ButtonPanel addRemoveButtonPanel
-
anonymousAccessCB
protected javax.swing.JCheckBox anonymousAccessCB
-
currentUser
protected java.lang.String currentUser
-
origProjectUserList
protected java.util.List<User> origProjectUserList
-
origAnonymousAccessEnabled
protected boolean origAnonymousAccessEnabled
-
repositoryName
protected java.lang.String repositoryName
-
helpLoc
protected HelpLocation helpLoc
-
SELECTION_BG_COLOR
protected final java.awt.Color SELECTION_BG_COLOR
-
SELECTION_FG_COLOR
protected final java.awt.Color SELECTION_FG_COLOR
-
tool
protected PluginTool tool
-
-
Constructor Detail
-
ProjectAccessPanel
public ProjectAccessPanel(java.lang.String[] knownUsers, RepositoryAdapter repository, PluginTool tool) throws java.io.IOException
Construct a new panel from aRepositoryAdapter
instance.- Parameters:
knownUser
- names of the users that are known to the remote serverrepository
- the repository adapter instancetool
- the current tool- Throws:
java.io.IOException
- if there's an error processing the repository user list
-
ProjectAccessPanel
public ProjectAccessPanel(java.lang.String[] knownUsers, java.lang.String currentUser, java.util.List<User> allUsers, java.lang.String repositoryName, boolean anonymousServerAccessAllowed, boolean anonymousAccessEnabled, PluginTool tool)
Constructs a new panel from the given arguments.- Parameters:
knownUsers
- names of the users that are known to the remote servercurrentUser
- the current userallUsers
- all users known to the repositoryrepositoryName
- the name of the repositoryanonymousServerAccessAllowed
- true if the server allows anonymous accessanonymousAccessEnabled
- true if the repository allows anonymous access (ignored if anonymousServerAccessAllowed is false)tool
- the current tool
-
-
Method Detail
-
isValidInformation
public boolean isValidInformation()
Description copied from interface:WizardPanel
Return true if the user entered valid information for this panel.- Returns:
- boolean whether or not the info on the panel valid
-
getTitle
public java.lang.String getTitle()
Description copied from interface:WizardPanel
Get the title for this panel.- Returns:
- String title
-
initialize
public void initialize()
Description copied from interface:WizardPanel
Initialize the panel as though this is the first time it is being displayed.
-
getHelpLocation
public HelpLocation getHelpLocation()
Description copied from interface:WizardPanel
Returns the help content location for this panel.- Specified by:
getHelpLocation
in interfaceWizardPanel
- Overrides:
getHelpLocation
in classAbstractWizardJPanel
- Returns:
- String help location for this panel; return null if default help location should be used.
- See Also:
WizardPanel.getHelpLocation()
-
createMainPanel
protected void createMainPanel(java.lang.String[] knownUsers, boolean anonymousServerAccessAllowed)
Creates the main gui panel, containing the known users, button, and user access panels.
-
-