Clover coverage report - AdWT - 1.0.0
Coverage timestamp: sam. déc. 27 2003 15:14:10 CET
file stats: LOC: 166   Methods: 9
NCLOC: 101   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
BeanContextTreePanel.java 0% 0% 0% 0%
coverage
 1   
 /*
 2   
  * EJTools, the Enterprise Java Tools
 3   
  *
 4   
  * Distributable under LGPL license.
 5   
  * See terms of license at www.gnu.org.
 6   
  */
 7   
 package org.ejtools.adwt;
 8   
 
 9   
 import java.awt.Dimension;
 10   
 import java.beans.beancontext.BeanContext;
 11   
 import java.beans.beancontext.BeanContextChildComponentProxy;
 12   
 import java.beans.beancontext.BeanContextContainerProxy;
 13   
 
 14   
 import javax.swing.BorderFactory;
 15   
 import javax.swing.JLabel;
 16   
 import javax.swing.JPanel;
 17   
 import javax.swing.JScrollPane;
 18   
 import javax.swing.JSplitPane;
 19   
 import javax.swing.SwingUtilities;
 20   
 import javax.swing.event.TreeModelEvent;
 21   
 import javax.swing.event.TreeSelectionEvent;
 22   
 import javax.swing.event.TreeSelectionListener;
 23   
 import javax.swing.tree.TreePath;
 24   
 
 25   
 import org.apache.log4j.lf5.viewer.categoryexplorer.TreeModelAdapter;
 26   
 import org.ejtools.adwt.util.ObjectIndexer;
 27   
 import org.ejtools.adwt.util.ObjectRenderer;
 28   
 import org.ejtools.adwt.util.ObjectSearcher;
 29   
 
 30   
 /**
 31   
  * Description of the Class
 32   
  *
 33   
  * @author    Laurent Etiemble
 34   
  * @version   $Revision: 1.9 $
 35   
  * @todo      Javadoc to complete
 36   
  */
 37   
 public class BeanContextTreePanel extends JSplitPane implements ObjectSearcher
 38   
 {
 39   
    /** Description of the Field */
 40   
    protected BeanContextTree tree;
 41   
 
 42   
 
 43   
    /**
 44   
     * Constructor for the BeanContextPanel object
 45   
     *
 46   
     * @param beancontext  Description of Parameter
 47   
     */
 48  0
    public BeanContextTreePanel(BeanContext beancontext)
 49   
    {
 50  0
       this(beancontext, null);
 51   
    }
 52   
 
 53   
 
 54   
    /**
 55   
     * Constructor for the BeanContextPanel object
 56   
     *
 57   
     * @param beancontext  Description of Parameter
 58   
     * @param title        Description of the Parameter
 59   
     */
 60  0
    public BeanContextTreePanel(BeanContext beancontext, String title)
 61   
    {
 62  0
       super(JSplitPane.HORIZONTAL_SPLIT);
 63  0
       if (title != null)
 64   
       {
 65  0
          this.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), title));
 66   
       }
 67  0
       BeanContextTreeModel model = new BeanContextTreeModel(beancontext);
 68  0
       this.tree = new BeanContextTree(model);
 69   
 
 70  0
       JScrollPane jscrollpane = new JScrollPane(tree);
 71  0
       jscrollpane.setMinimumSize(new Dimension(200, 200));
 72  0
       jscrollpane.setPreferredSize(new Dimension(300, 400));
 73   
 
 74  0
       final JPanel dummyMsg = new JPanel();
 75  0
       dummyMsg.add(new JLabel(""));
 76   
 
 77  0
       this.setLeftComponent(jscrollpane);
 78  0
       this.setRightComponent(dummyMsg);
 79   
 
 80  0
       this.tree.addTreeSelectionListener(
 81   
          new TreeSelectionListener()
 82   
          {
 83  0
             public void valueChanged(TreeSelectionEvent treeselectionevent)
 84   
             {
 85  0
                final TreePath selPath = treeselectionevent.getNewLeadSelectionPath();
 86  0
                SwingUtilities.invokeLater(
 87   
                   new Runnable()
 88   
                   {
 89  0
                      public void run()
 90   
                      {
 91  0
                         try
 92   
                         {
 93  0
                            Object obj = selPath.getLastPathComponent();
 94  0
                            if (obj instanceof BeanContextChildComponentProxy)
 95   
                            {
 96  0
                               BeanContextChildComponentProxy beancontextchildcomponentproxy = (BeanContextChildComponentProxy) obj;
 97  0
                               BeanContextTreePanel.this.setRightComponent(beancontextchildcomponentproxy.getComponent());
 98   
                            }
 99  0
                            else if (obj instanceof BeanContextContainerProxy)
 100   
                            {
 101  0
                               BeanContextContainerProxy beancontextcontainerproxy = (BeanContextContainerProxy) obj;
 102  0
                               BeanContextTreePanel.this.setRightComponent(beancontextcontainerproxy.getContainer());
 103   
                            }
 104  0
                            BeanContextTreePanel.this.validate();
 105   
                         }
 106   
                         catch (Exception e)
 107   
                         {
 108   
                            // Ignore it
 109   
                         }
 110   
                      }
 111   
                   });
 112   
             }
 113   
          });
 114   
 
 115  0
       this.tree.getModel().addTreeModelListener(
 116   
          new TreeModelAdapter()
 117   
          {
 118  0
             public void treeNodesRemoved(TreeModelEvent treemodelevent)
 119   
             {
 120  0
                BeanContextTreePanel.this.selectRoot();
 121   
             }
 122   
          });
 123   
    }
 124   
 
 125   
 
 126   
    /**
 127   
     * Description of the Method
 128   
     *
 129   
     * @param o  Description of the Parameter
 130   
     * @return   Description of the Return Value
 131   
     */
 132  0
    public Object find(Object o)
 133   
    {
 134  0
       return this.tree.find(o);
 135   
    }
 136   
 
 137   
 
 138   
    /** Description of the Method */
 139  0
    public void selectRoot()
 140   
    {
 141  0
       this.tree.selectRoot();
 142   
    }
 143   
 
 144   
 
 145   
    /**
 146   
     * Sets the indexer attribute of the BeanContextTreePanel2 object
 147   
     *
 148   
     * @param indexer  The new indexer value
 149   
     */
 150  0
    public void setIndexer(ObjectIndexer indexer)
 151   
    {
 152  0
       this.tree.setIndexer(indexer);
 153   
    }
 154   
 
 155   
 
 156   
    /**
 157   
     * Sets the renderer attribute of the BeanContextTreePanel object
 158   
     *
 159   
     * @param renderer  The new renderer value
 160   
     */
 161  0
    public void setRenderer(ObjectRenderer renderer)
 162   
    {
 163  0
       this.tree.setRenderer(renderer);
 164   
    }
 165   
 }
 166