Class GTreeState


  • public class GTreeState
    extends java.lang.Object
    A class to remember the current state of the tree, for things like expanded paths, selected paths and the view location.

    This class is used to restore state for uses so that updates to the tree do not cause the user to lose their spot.

    Issues:

    • If the number of expanded items is too large, then the tree will spend a large amount of time restoring, thus we limit the size of the expanded paths
    • If we have to trim the number of items we remember, we need to do so intelligently so that the user experience seems natural (for example, when trimming what to keep, be sure to first keep what is visible to the user, versus expanded/selected items that are scrolled off the top of the view.
    • Constructor Detail

      • GTreeState

        public GTreeState​(GTree tree)
    • Method Detail

      • getExpandedPaths

        public java.util.List<javax.swing.tree.TreePath> getExpandedPaths()
      • getSelectedPaths

        public java.util.List<javax.swing.tree.TreePath> getSelectedPaths()
      • getViewPaths

        public javax.swing.tree.TreePath[] getViewPaths()
        Returns the top few paths that are visible in the view.
        Returns:
        the top few paths that are visible in the view.
      • updateStateForMovedNodes

        public void updateStateForMovedNodes()
      • isEmpty

        public boolean isEmpty()
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object