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 classPluginListPanel.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 PluginPreferencesModelmodelprivate booleanpluginListInitializedWhether 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 newPluginListPanelwith a default model.PluginListPanel(PluginPreferencesModel model)Constructs a newPluginListPanelwith a given model.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddisplayEmptyPluginListInformation()Displays a message when the plugin list is empty.voiddisplayPluginList(java.util.List<PluginInformation> displayedPlugins)Displays a list of plugins.protected static java.lang.StringformatCheckboxTooltipText(PluginInformation pi)protected static java.lang.StringformatPluginLocalVersion(PluginInformation pi)protected static java.lang.StringformatPluginRemoteVersion(PluginInformation pi)intgetScrollableBlockIncrement(java.awt.Rectangle visibleRect, int orientation, int direction)intgetScrollableUnitIncrement(java.awt.Rectangle visibleRect, int orientation, int direction)private voidhidePluginsNotInList(java.util.Set<PluginInformation> displayedPlugins)Hides components in the list for plugins that are currently filtered away.voidrefreshView()Refreshes the list.voidresetDisplayedComponents()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 newPluginListPanelwith a default model.
-
PluginListPanel
public PluginListPanel(PluginPreferencesModel model)
Constructs a newPluginListPanelwith 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:
getScrollableUnitIncrementin interfacejavax.swing.Scrollable- Overrides:
getScrollableUnitIncrementin classVerticallyScrollablePanel
-
getScrollableBlockIncrement
public int getScrollableBlockIncrement(java.awt.Rectangle visibleRect, int orientation, int direction)
- Specified by:
getScrollableBlockIncrementin interfacejavax.swing.Scrollable- Overrides:
getScrollableBlockIncrementin classVerticallyScrollablePanel
-
-