Logo
Distributed Genetic Programming Framework
print print

File org.dgpf.gui.components.Tree.java

Here you can find all the information about the file org.dgpf.gui.components.Tree.java. You may explore it here or download it onto your local disk.
/*
 * Copyright (c) 2006 Alexander Podlich
 * 
 * E-Mail           : podlich@student.uni-kassel.de
 * Creation Date    : 31.07.2006 21:35:14
 * Original Filename: org.dgpf.gui.components.DGPFTree.java
 * Version          : 1.0
 * Last modification: 31.07.2006
 * Last modified by : Alexander Podlich
 * 
 * License          : GNU LESSER GENERAL PUBLIC LICENSE
 *                    Version 2.1, February 1999
 *                    You should have received a copy of this license along
 *                    with this library; if not, write to the Free Software
 *                    Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 *                    MA 02111-1307, USA or download the license under
 *                    http://www.gnu.org/copyleft/lesser.html.
 *                    
 * Warranty         : This software is provided "as is" without any
 *                    warranty; without even the implied warranty of
 *                    merchantability or fitness for a particular purpose.
 *                    See the Gnu Lesser General Public License for more
 *                    details.
 */


package org.dgpf.gui.components;

import java.util.Enumeration;

import javax.swing.JTree;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.TreeNode;
import javax.swing.tree.TreePath;

/**
 * This class represents a tree.
 * 
 * @author Alexander Podlich.
 */

public class Tree extends JTree
  {

  /**
   * The serial version UID.
   */

  private static final long serialVersionUID = 1L;

  /**
   * The root node.
   */

  DefaultMutableTreeNode    m_root;

  /**
   * Default constructor.
   */

  public Tree()
    {
    super();
    }

  /**
   * Constructor.
   * 
   * @param p_treeSlctMode
   *          The tree selection mode.
   * @param p_rootVsb
   *          The status of visibility of the root node.
   * @param p_vsb
   *          The status of visibility.
   * @param p_listener
   *          The tree selection listener.
   * @param p_node
   *          The root node.
   */

  public Tree(int p_treeSlctMode, boolean p_rootVsb, boolean p_vsb,
      TreeSelectionListener p_listener, DefaultMutableTreeNode p_node)
    {
    super(p_node);
    this.m_root = p_node;
    this.getSelectionModel().setSelectionMode(p_treeSlctMode);
    this.setRootVisible(p_rootVsb);
    this.setVisible(p_vsb);
    this.addTreeSelectionListener(p_listener);
    }

  /**
   * @return The root node.
   */

  public DefaultMutableTreeNode getRoot()
    {
    return this.m_root;
    }

  /**
   * If expand is true, expands all nodes in the tree. Otherwise, collapses
   * all nodes in the tree.
   * 
   * @param p_expand
   *          The status of expansion.
   */

  public void expandTree(boolean p_expand)
    {

    TreeNode l_rootNode = (TreeNode) this.getModel().getRoot();

    // Traverse tree from root
    expandTree(new TreePath(l_rootNode), p_expand);

    }

  /**
   * @param p_parent
   *          The parent tree path.
   * @param p_expand
   *          The status of expansion
   */

  private void expandTree(TreePath p_parent, boolean p_expand)
    {
    
    // Traverse children
    TreeNode l_node = (TreeNode) p_parent.getLastPathComponent();

    if(l_node.getChildCount() >= 0)
      {
      for(Enumeration e = l_node.children(); e.hasMoreElements();)
        {
        TreeNode l_n = (TreeNode) e.nextElement();
        TreePath l_path = p_parent.pathByAddingChild(l_n);
        expandTree(l_path, p_expand);
        }
      }

    // Expansion or collapse
    if(p_expand)
      {
      this.expandPath(p_parent);
      }
    else
      {
      this.collapsePath(p_parent);
      }

    }

  }

File Information:

file name:Tree.java
package:org.dgpf.gui.components
qualified name:org.dgpf.gui.components.Tree.java
file type:Java Source File
download location:download http://dgpf.sourceforge.net/source/org/dgpf/gui/components/Tree.java
size:3.618 KB (3705 B)
uploaded: 2015-07-22 04:10:58 GMT+0000
last update: 2006-09-24 23:47:04 GMT+0000
last access: 2017-11-19 03:05:51 GMT+0000

statistics online since 2006-01-02.   RSS Feed
Contact us by sending an email to tweise@gmx.de to receive further information, to report errors, or to join our project.
All content on this site (http://dgpf.sourceforge.net/) is LGPL-licensed.
http://dgpf.sourceforge.net/scripts/source/source.php last modified at 2015-07-22 04:10:53 GMT+0000 served at 2017-11-19 03:05:51 GMT+0000.
Valid CSS Valid XHTML 1.1
Valid RSS SourceForge.net Logo