Class AbstractFileViewPanel<T>

  • Type Parameters:
    T - Type tag of the underlying data.
    All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.swing.Scrollable

    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 class  AbstractFileViewPanel.Leaf
      Information on the specific file.
      • Nested classes/interfaces inherited from class javax.swing.JComponent

        javax.swing.JComponent.AccessibleJComponent
      • Nested classes/interfaces inherited from class java.awt.Container

        java.awt.Container.AccessibleAWTContainer
      • 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 
      Modifier and Type Field Description
      private java.util.Set<Command> loadedSet
      Contains the commands with completely loaded images.
      private javax.swing.SwingWorker<java.lang.Void,​AbstractFileViewPanel.Leaf> mainWorker
      The main worker that loads the images off EDT.
      private ProgressListener progressListener
      Progress listener to report back on loaded images.
      • 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
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      void cancelMainWorker()
      Cancels the pending processing.
      protected void configureCommand​(AbstractFileViewPanel.Leaf leaf, Command command, RadianceIcon icon)
      Configures the specified command.
      protected abstract java.io.InputStream getLeafContent​(T leaf)
      Returns the input stream with the file contents.
      int getLoadedIconCount()
      Returns the number of loaded icons.
      ProgressListener getProgressListener()  
      protected abstract RadianceIcon getRadianceIcon​(AbstractFileViewPanel.Leaf leaf, java.io.InputStream stream, CommandButtonPresentationState state, java.awt.Dimension dimension)
      Returns the icon for the specified parameters.
      void setFolder​(java.util.List<BreadcrumbItem<T>> leaves)
      Sets the current entries to show.
      void setProgressListener​(ProgressListener progressListener)  
      protected abstract boolean toShowFile​(BreadcrumbItem<T> item)
      Returns indication whether the specified file should be shown on this panel.
      • 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
      • 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, 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.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • progressListener

        private ProgressListener progressListener
        Progress listener to report back on loaded images.
      • loadedSet

        private java.util.Set<Command> loadedSet
        Contains the commands with completely loaded images.
      • mainWorker

        private javax.swing.SwingWorker<java.lang.Void,​AbstractFileViewPanel.Leaf> mainWorker
        The main worker that loads the images off EDT.
    • Constructor Detail

      • AbstractFileViewPanel

        public AbstractFileViewPanel​(java.awt.Dimension 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)
      • 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​(BreadcrumbItem<T> item)
        Returns indication whether the specified file should be shown on this panel.
        Parameters:
        item - Information on the file.
        Returns:
        true if the specified file should be shown on this panel, false otherwise.
      • getRadianceIcon

        protected abstract RadianceIcon getRadianceIcon​(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,
                                        RadianceIcon 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.