Class PluginListPanel
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- org.openstreetmap.josm.gui.widgets.VerticallyScrollablePanel
-
- org.openstreetmap.josm.gui.preferences.plugin.PluginListPanel
-
- All Implemented Interfaces:
java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,javax.accessibility.Accessible
,javax.swing.Scrollable
public class PluginListPanel extends VerticallyScrollablePanel
A panel displaying the list of known plugins.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static class
PluginListPanel.PluginCheckBoxMouseAdapter
-
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 private PluginPreferencesModel
model
private boolean
pluginListInitialized
Whether the plugin list has been built up already in the UI.-
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 PluginListPanel()
Constructs a newPluginListPanel
with a default model.PluginListPanel(PluginPreferencesModel model)
Constructs a newPluginListPanel
with a given model.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
displayEmptyPluginListInformation()
Displays a message when the plugin list is empty.void
displayPluginList(java.util.List<PluginInformation> displayedPlugins)
Displays a list of plugins.protected static java.lang.String
formatCheckboxTooltipText(PluginInformation pi)
protected static java.lang.String
formatPluginLocalVersion(PluginInformation pi)
protected static java.lang.String
formatPluginRemoteVersion(PluginInformation pi)
int
getScrollableBlockIncrement(java.awt.Rectangle visibleRect, int orientation, int direction)
int
getScrollableUnitIncrement(java.awt.Rectangle visibleRect, int orientation, int direction)
private void
hidePluginsNotInList(java.util.Set<PluginInformation> displayedPlugins)
Hides components in the list for plugins that are currently filtered away.void
refreshView()
Refreshes the list.void
resetDisplayedComponents()
Causes the components for the list items to be rebuilt from scratch.-
Methods inherited from class org.openstreetmap.josm.gui.widgets.VerticallyScrollablePanel
getPreferredScrollableViewportSize, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getVerticalScrollPane
-
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
-
model
private final transient PluginPreferencesModel model
-
pluginListInitialized
private boolean pluginListInitialized
Whether the plugin list has been built up already in the UI.
-
-
Constructor Detail
-
PluginListPanel
public PluginListPanel()
Constructs a newPluginListPanel
with a default model.
-
PluginListPanel
public PluginListPanel(PluginPreferencesModel model)
Constructs a newPluginListPanel
with a given model.- Parameters:
model
- The plugin model
-
-
Method Detail
-
formatPluginRemoteVersion
protected static java.lang.String formatPluginRemoteVersion(PluginInformation pi)
-
formatPluginLocalVersion
protected static java.lang.String formatPluginLocalVersion(PluginInformation pi)
-
formatCheckboxTooltipText
protected static java.lang.String formatCheckboxTooltipText(PluginInformation pi)
-
displayEmptyPluginListInformation
public void displayEmptyPluginListInformation()
Displays a message when the plugin list is empty.
-
displayPluginList
public void displayPluginList(java.util.List<PluginInformation> displayedPlugins)
Displays a list of plugins.- Parameters:
displayedPlugins
- list of plugins- Since:
- 13799
-
refreshView
public void refreshView()
Refreshes the list. If the list has been changed completely (i.e. not just filtered), callresetDisplayedComponents()
prior to calling this method.
-
hidePluginsNotInList
private void hidePluginsNotInList(java.util.Set<PluginInformation> displayedPlugins)
Hides components in the list for plugins that are currently filtered away. Since those components are relatively heavyweight rebuilding them every time when the filter changes is fairly slow, so we build them once and just hide those that shouldn't be visible.- Parameters:
displayedPlugins
- A set of plugins that are currently visible.
-
resetDisplayedComponents
public void resetDisplayedComponents()
Causes the components for the list items to be rebuilt from scratch. Should be called before callingrefreshView()
whenever the underlying list changes to display a completely different set of plugins instead of merely hiding plugins by a filter.
-
getScrollableUnitIncrement
public int getScrollableUnitIncrement(java.awt.Rectangle visibleRect, int orientation, int direction)
- Specified by:
getScrollableUnitIncrement
in interfacejavax.swing.Scrollable
- Overrides:
getScrollableUnitIncrement
in classVerticallyScrollablePanel
-
getScrollableBlockIncrement
public int getScrollableBlockIncrement(java.awt.Rectangle visibleRect, int orientation, int direction)
- Specified by:
getScrollableBlockIncrement
in interfacejavax.swing.Scrollable
- Overrides:
getScrollableBlockIncrement
in classVerticallyScrollablePanel
-
-