metasim     01/01/12 11:02:48

  Modified:    src/antidote/org/apache/tools/ant/gui/modules/edit
                        ElementNavigator.java
  Log:
  Added ability to add new targets.
  
  Revision  Changes    Path
  1.5       +16 -11    
jakarta-ant/src/antidote/org/apache/tools/ant/gui/modules/edit/ElementNavigator.java
  
  Index: ElementNavigator.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-ant/src/antidote/org/apache/tools/ant/gui/modules/edit/ElementNavigator.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- ElementNavigator.java     2001/01/11 19:26:49     1.4
  +++ ElementNavigator.java     2001/01/12 19:02:46     1.5
  @@ -54,13 +54,10 @@
   package org.apache.tools.ant.gui.modules.edit;
   import org.apache.tools.ant.gui.core.*;
   import org.apache.tools.ant.gui.event.*;
  -import org.apache.tools.ant.gui.acs.ElementTreeSelectionModel;
  -import org.apache.tools.ant.gui.acs.ElementTreeModel;
  -import org.apache.tools.ant.gui.acs.ACSProjectElement;
  +import org.apache.tools.ant.gui.acs.*;
   import javax.swing.*;
   import javax.swing.tree.*;
  -import javax.swing.event.TreeSelectionListener;
  -import javax.swing.event.TreeSelectionEvent;
  +import javax.swing.event.*;
   import java.awt.GridLayout;
   import java.awt.Dimension;
   import java.awt.event.MouseAdapter;
  @@ -71,7 +68,7 @@
   /**
    * Module for navigating build file elemenets.
    * 
  - * @version $Revision: 1.4 $ 
  + * @version $Revision: 1.5 $ 
    * @author Simeon Fitch 
    */
   public class ElementNavigator extends AntModule {
  @@ -104,10 +101,11 @@
           _tree.setCellRenderer(new ElementTreeCellRenderer());
           _tree.addMouseListener(new PopupHandler());
           _tree.putClientProperty("JTree.lineStyle", "Angled");
  +        _tree.setShowsRootHandles(true);
           JScrollPane scroller = new JScrollPane(_tree);
           add(scroller);
   
  -        setPreferredSize(new Dimension(200, 100));
  +        setPreferredSize(new Dimension(250, 100));
           setMinimumSize(new Dimension(200, 100));
   
        }
  @@ -134,12 +132,18 @@
            * it should be cancelled.
            */
           public boolean eventPosted(EventObject event) {
  +            ElementTreeModel model = (ElementTreeModel)_tree.getModel();
  +            // XXX This crap needs cleaning up. Type switching is lazy...
               if(event instanceof PropertyChangeEvent) {
                   // The project node has changed.
  -// XXX This won't work until ACSTreeNodeElement.getParent() is fixed
  -//                ElementTreeModel model = 
(ElementTreeModel)_tree.getModel();
  -//                model.nodeChanged((TreeNode)model.getRoot());
  -                
  +                model.fireNodeChanged((ACSElement)event.getSource());
  +            }
  +            else if(event instanceof NewElementEvent && model != null) {
  +                ACSElement element = 
((NewElementEvent)event).getNewElement();
  +                model.fireNodeAdded(element);
  +                TreePath path = new TreePath(model.getPathToRoot(element));
  +                _selections.setSelectionPath(path);
  +                _tree.scrollPathToVisible(path);
               }
               else {
                   ACSProjectElement project = null;
  @@ -190,6 +194,7 @@
           public boolean accept(EventObject event) {
               return event instanceof ProjectSelectedEvent ||
                   event instanceof ProjectClosedEvent ||
  +                event instanceof NewElementEvent ||
                   event instanceof PropertyChangeEvent;
           }
       }
  
  
  

Reply via email to