Class FileTreePanel

  • All Implemented Interfaces:
    IPropertiesProvider, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible
    Direct Known Subclasses:
    ModelTreePanel

    public class FileTreePanel
    extends javax.swing.JPanel
    implements IPropertiesProvider
    A panel displaying components on the platform as tree.
    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  FileTreePanel.DelegationFilter
      Delegation filter class.
      static class  FileTreePanel.DelegationIconCache
      The delegation icon cache.
      • 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
      • 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
      protected ExpansionHandler expansionhandler
      Tree expansion handler remembers open tree nodes.
      protected IExternalAccess exta
      The external access.
      protected INodeFactory factory
      The node factory.
      protected FileTreePanel.DelegationIconCache iconcache
      The iconcache.
      protected boolean keeproots
      The keep roots flag (if added top-level nodes should be used instead of nodes from loaded properties).
      protected IMenuItemConstructor mic
      The filter popup.
      protected AsyncSwingTreeModel model
      The component tree model.
      protected PopupBuilder pubuilder
      Popup rightclick.
      protected boolean remote
      The remote flag.
      protected javax.swing.JTree tree
      The component tree.
      • 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 Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void addNode​(ISwingTreeNode node)
      Add a root node to the tree panel.
      void addNodeHandler​(ISwingNodeHandler handler)
      Add a node handler.
      void addTopLevelNode​(FileData file)
      Add a top level node.
      void addTopLevelNode​(java.io.File file)
      Add a top level node.
      void dispose()
      Dispose the tree.
      IExternalAccess getExternalAccess()
      Get the external access.
      INodeFactory getFactory()
      Get the node factory.
      IMenuItemConstructor getMenuItemConstructor()
      Get the menu item constructor.
      AsyncSwingTreeModel getModel()
      Get the tree model.
      PopupBuilder getPopupBuilder()
      Get the popup builder.
      IFuture<Properties> getProperties()
      Write current state into properties.
      java.lang.String[] getSelectionPaths()
      Get selected file paths.
      javax.swing.JTree getTree()
      Get the tree.
      boolean isRemote()
      Get the remote.
      static void main​(java.lang.String[] args)
      Main for testing.
      void removeTopLevelNode​(ISwingTreeNode node)
      Add a top level node.
      void setIconCache​(IIconCache iconcache)
      Set the iconcache.
      void setMenuItemConstructor​(IMenuItemConstructor mic)
      Set the menu item constructor.
      void setNodeFactory​(INodeFactory factory)
      Set the factory.
      void setPopupBuilder​(PopupBuilder pubuilder)
      Set the popup builder.
      IFuture<java.lang.Void> setProperties​(Properties props)
      Update tool from given properties.
      protected void showPopUp​(int x, int y)
      Show the popup.
      • 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
      • Methods inherited from class java.lang.Object

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

      • remote

        protected final boolean remote
        The remote flag.
      • keeproots

        protected final boolean keeproots
        The keep roots flag (if added top-level nodes should be used instead of nodes from loaded properties).
      • tree

        protected final javax.swing.JTree tree
        The component tree.
      • expansionhandler

        protected ExpansionHandler expansionhandler
        Tree expansion handler remembers open tree nodes.
      • pubuilder

        protected PopupBuilder pubuilder
        Popup rightclick.
    • Constructor Detail

      • FileTreePanel

        public FileTreePanel​(IExternalAccess exta)
        Create a new component tree panel.
      • FileTreePanel

        public FileTreePanel​(IExternalAccess exta,
                             boolean remote,
                             boolean keeproots)
        Create a new component tree panel.
    • Method Detail

      • addNodeHandler

        public void addNodeHandler​(ISwingNodeHandler handler)
        Add a node handler.
      • getTree

        public javax.swing.JTree getTree()
        Get the tree.
      • getExternalAccess

        public IExternalAccess getExternalAccess()
        Get the external access.
        Returns:
        the external access.
      • isRemote

        public boolean isRemote()
        Get the remote.
        Returns:
        the remote.
      • setMenuItemConstructor

        public void setMenuItemConstructor​(IMenuItemConstructor mic)
        Set the menu item constructor.
        Parameters:
        mic - The menu item constructor.
      • getMenuItemConstructor

        public IMenuItemConstructor getMenuItemConstructor()
        Get the menu item constructor.
        Returns:
        The menu item constructor.
      • setPopupBuilder

        public void setPopupBuilder​(PopupBuilder pubuilder)
        Set the popup builder.
        Parameters:
        pubuilder - The popup builder.
      • getPopupBuilder

        public PopupBuilder getPopupBuilder()
        Get the popup builder.
        Returns:
        The popup builder.
      • setIconCache

        public void setIconCache​(IIconCache iconcache)
        Set the iconcache.
        Parameters:
        iconcache - The iconcache to set.
      • getFactory

        public INodeFactory getFactory()
        Get the node factory.
        Returns:
        The node factory.
      • setNodeFactory

        public void setNodeFactory​(INodeFactory factory)
        Set the factory.
        Parameters:
        factory - The factory to set.
      • dispose

        public void dispose()
        Dispose the tree. Should be called to remove listeners etc.
      • showPopUp

        protected void showPopUp​(int x,
                                 int y)
        Show the popup.
        Parameters:
        x - The x position.
        y - The y position.
      • removeTopLevelNode

        public void removeTopLevelNode​(ISwingTreeNode node)
        Add a top level node.
      • addTopLevelNode

        public void addTopLevelNode​(java.io.File file)
        Add a top level node.
      • addTopLevelNode

        public void addTopLevelNode​(FileData file)
        Add a top level node.
      • addNode

        protected void addNode​(ISwingTreeNode node)
        Add a root node to the tree panel.
      • getSelectionPaths

        public java.lang.String[] getSelectionPaths()
        Get selected file paths.
      • main

        public static void main​(java.lang.String[] args)
        Main for testing.