Class AbstractFileViewPanel<T>
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- org.pushingpixels.flamingo.api.common.JCommandButtonPanel
-
- org.pushingpixels.flamingo.api.common.AbstractFileViewPanel<T>
-
- Type Parameters:
T- Type tag of the underlying data.
public abstract class AbstractFileViewPanel<T> extends JCommandButtonPanel
Panel that hosts file-related command buttons with progress indication and cancellation capabilities.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classAbstractFileViewPanel.LeafInformation on the specific file.-
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
-
-
Field Summary
-
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
-
Fields inherited from class org.pushingpixels.flamingo.api.common.JCommandButtonPanel
uiClassID
-
-
Constructor Summary
Constructors Constructor Description AbstractFileViewPanel(int startingDimension)Creates a new panel.AbstractFileViewPanel(CommandButtonPresentationState startingState)Creates a new panel.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidcancelMainWorker()Cancels the pending processing.protected voidconfigureCommand(AbstractFileViewPanel.Leaf leaf, Command command, org.pushingpixels.neon.api.icon.ResizableIcon icon)Configures the specified command.protected abstract java.io.InputStreamgetLeafContent(T leaf)Returns the input stream with the file contents.intgetLoadedIconCount()Returns the number of loaded icons.ProgressListenergetProgressListener()protected abstract org.pushingpixels.neon.api.icon.ResizableIcongetResizableIcon(AbstractFileViewPanel.Leaf leaf, java.io.InputStream stream, CommandButtonPresentationState state, java.awt.Dimension dimension)Returns the icon for the specified parameters.voidsetFolder(java.util.List<StringValuePair<T>> leafs)Sets the current entries to show.voidsetProgressListener(ProgressListener progressListener)protected abstract booleantoShowFile(StringValuePair<T> pair)Returns indication whether the specified file should be shown on this panel.-
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, getAccessibleContext, 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
-
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 org.pushingpixels.flamingo.api.common.JCommandButtonPanel
getGroupButtons, getGroupCount, getGroupTitleAt, getPreferredScrollableViewportSize, getProjection, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getSelectedCommand, getUI, getUIClassID, scrollToSelectedCommand, 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, paramString, 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
-
-
-
-
Constructor Detail
-
AbstractFileViewPanel
public AbstractFileViewPanel(int startingDimension)
Creates a new panel.- Parameters:
startingDimension- Initial dimension for icons.
-
AbstractFileViewPanel
public AbstractFileViewPanel(CommandButtonPresentationState startingState)
Creates a new panel.- Parameters:
startingState- Initial state for icons.
-
-
Method Detail
-
setProgressListener
public void setProgressListener(ProgressListener progressListener)
-
getProgressListener
public ProgressListener getProgressListener()
-
setFolder
public void setFolder(java.util.List<StringValuePair<T>> leafs)
Sets the current entries to show. The current contents of the panel are discarded. For each matching entry determined by thetoShowFile(StringValuePair)call, a newJCommandButtonwith matching implementation ofResizableIconfromgetResizableIcon(Leaf, InputStream, CommandButtonPresentationState, Dimension)is added to the panel.- Parameters:
leafs- Information on the entries to show in the panel.
-
getLoadedIconCount
public int getLoadedIconCount()
Returns the number of loaded icons.- Returns:
- The number of loaded icons.
-
cancelMainWorker
public void cancelMainWorker()
Cancels the pending processing.
-
toShowFile
protected abstract boolean toShowFile(StringValuePair<T> pair)
Returns indication whether the specified file should be shown on this panel.- Parameters:
pair- Information on the file.- Returns:
trueif the specified file should be shown on this panel,falseotherwise.
-
getResizableIcon
protected abstract org.pushingpixels.neon.api.icon.ResizableIcon getResizableIcon(AbstractFileViewPanel.Leaf leaf, java.io.InputStream stream, CommandButtonPresentationState state, java.awt.Dimension dimension)
Returns the icon for the specified parameters.- Parameters:
leaf- Information on the file.stream- Input stream with the file contents.state- Icon state.dimension- Icon dimension.- Returns:
- File icon.
-
configureCommand
protected void configureCommand(AbstractFileViewPanel.Leaf leaf, Command command, org.pushingpixels.neon.api.icon.ResizableIcon icon)
Configures the specified command. Can be used to wire additional behavior, such as tooltips or action listeners if the specific panel implementation requires it.- Parameters:
leaf- Information on the file "behind" the command.command- Command to configure.icon- Command icon.
-
getLeafContent
protected abstract java.io.InputStream getLeafContent(T leaf)
Returns the input stream with the file contents.- Parameters:
leaf- Leaf (file behind a command on this panel).- Returns:
- Input stream with the file contents.
-
-