[Bprocessor-commit] gui/src/net/sourceforge/bprocessor/gui/treeview GenericTreeView.java, 1.52, 1.5
Status: Pre-Alpha
Brought to you by:
henryml
From: rimestad <rim...@us...> - 2006-10-03 10:04:18
|
Update of /cvsroot/bprocessor/gui/src/net/sourceforge/bprocessor/gui/treeview In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv11602/src/net/sourceforge/bprocessor/gui/treeview Modified Files: GenericTreeView.java SpaceTreeView.java Log Message: comit Index: GenericTreeView.java =================================================================== RCS file: /cvsroot/bprocessor/gui/src/net/sourceforge/bprocessor/gui/treeview/GenericTreeView.java,v retrieving revision 1.52 retrieving revision 1.53 diff -C2 -d -r1.52 -r1.53 *** GenericTreeView.java 2 Oct 2006 14:20:38 -0000 1.52 --- GenericTreeView.java 3 Oct 2006 10:04:08 -0000 1.53 *************** *** 35,38 **** --- 35,39 ---- import javax.swing.tree.DefaultTreeCellRenderer; import javax.swing.tree.DefaultTreeModel; + import javax.swing.tree.TreeNode; import javax.swing.tree.TreePath; *************** *** 48,51 **** --- 49,53 ---- import net.sourceforge.bprocessor.model.Observer; import net.sourceforge.bprocessor.model.ParameterBlock; + import net.sourceforge.bprocessor.model.Parametric; import net.sourceforge.bprocessor.model.Project; import net.sourceforge.bprocessor.model.Selection; *************** *** 64,70 **** /** The logger */ private static Logger log = Logger.getLogger(GenericTreeView.class); ! /** ! * ! */ private static final long serialVersionUID = 1L; --- 66,70 ---- /** The logger */ private static Logger log = Logger.getLogger(GenericTreeView.class); ! /** UID */ private static final long serialVersionUID = 1L; *************** *** 529,532 **** --- 529,546 ---- ((GenericNode)getChildAt(1)).update(s.getElements()); ((GenericNode)getChildAt(2)).update(s); + if (s.getModellor() != null) { + if (getChildCount() == 4) { + ((GenericNode)getChildAt(3)).update(s.getModellor()); + } else { + add(new ModellorNode(s.getModellor())); + model.nodesWereInserted(this, new int[]{3}); + } + } else { + if (getChildCount() == 4) { + TreeNode node = getChildAt(3); + remove(3); + model.nodesWereRemoved(this, new int[]{3}, new Object[]{node}); + } + } } } *************** *** 851,858 **** */ public void update(Object o) { ! Space s = (Space)o; ! ((SurfaceContainer)this.getChildAt(0)).update(s.getSurfaces()); ! ((EdgeContainer)this.getChildAt(1)).update(s.getEdges()); ! ((VertexContainer)this.getChildAt(2)).update(s.getVertices()); } } --- 865,876 ---- */ public void update(Object o) { ! if (o instanceof Space) { ! Space s = (Space)o; ! ((SurfaceContainer)this.getChildAt(0)).update(s.getSurfaces()); ! ((EdgeContainer)this.getChildAt(1)).update(s.getEdges()); ! ((VertexContainer)this.getChildAt(2)).update(s.getVertices()); ! } else { ! log.warn("Expected a Space but found a " + o); ! } } } *************** *** 958,961 **** --- 976,1025 ---- * CameraNode */ + public class ProjectNode extends ContainerNode { + /** */ + private static final long serialVersionUID = 1L; + + /** + * Constructor for EdgeContainer + * @param p The project + */ + public ProjectNode(Project p) { + super(p); + update(p); + } + + /** + * Update the node with the given object + * @param o The object + */ + public void update(Object o) { + if (o instanceof Project) { + super.update(((Project)o).getSpaces()); + } else { + log.warn("Were a " + o + " not a Project"); + } + } + + /** + * Insert the given object into the node + * @param elem the elements + */ + public void insertChildren(Collection elem) { + int[] ins = new int[elem.size()]; + int i = 0; + Iterator iter = elem.iterator(); + while (iter.hasNext()) { + Space s = (Space)iter.next(); + this.add(new SpaceNode(s)); + ins[i] = this.getChildCount() - 1; + i++; + } + model.nodesWereInserted(this, ins); + } + } + + /** + * CameraNode + */ public class CameraNode extends ContainerNode { /** */ *************** *** 1146,1162 **** public void valueChanged(TreeSelectionEvent event) { if (event.isAddedPath()) { - TreePath path = event.getPath(); GenericTreeView gtv = (GenericTreeView)event.getSource(); ! if (gtv.getSelectionPaths().length == 1) { ! Selection.primary().clear(); ! } ! Object object = path.getLastPathComponent(); ! if (object instanceof DefaultMutableTreeNode) { ! DefaultMutableTreeNode node = (DefaultMutableTreeNode) object; ! Object target = node.getUserObject(); ! select(target); } } else { TreePath[] path = event.getPaths(); for (int i = 0; i < path.length; i++) { Object object = path[i].getLastPathComponent(); --- 1210,1233 ---- public void valueChanged(TreeSelectionEvent event) { if (event.isAddedPath()) { GenericTreeView gtv = (GenericTreeView)event.getSource(); ! TreePath[] paths = gtv.getSelectionPaths(); ! LinkedList select = new LinkedList(); ! for (int i = 0; i < paths.length; i++) { ! Object o = paths[i].getLastPathComponent(); ! if (o instanceof DefaultMutableTreeNode) { ! DefaultMutableTreeNode node = (DefaultMutableTreeNode) o; ! Object target = node.getUserObject(); ! if (target instanceof Geometric) { ! select.add(target); ! } else if (paths.length == 1 && target instanceof Parametric) { ! AttributeView.instance().display(target); ! } ! ! } } + Selection.primary().retainAll(select); } else { TreePath[] path = event.getPaths(); + LinkedList deselect = new LinkedList(); for (int i = 0; i < path.length; i++) { Object object = path[i].getLastPathComponent(); *************** *** 1164,1170 **** DefaultMutableTreeNode node = (DefaultMutableTreeNode) object; Object target = node.getUserObject(); ! deselect(target); } } } } --- 1235,1244 ---- DefaultMutableTreeNode node = (DefaultMutableTreeNode) object; Object target = node.getUserObject(); ! if (target instanceof Geometric) { ! deselect.add(target); ! } } } + Selection.primary().removeAll(deselect); } } Index: SpaceTreeView.java =================================================================== RCS file: /cvsroot/bprocessor/gui/src/net/sourceforge/bprocessor/gui/treeview/SpaceTreeView.java,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** SpaceTreeView.java 29 Sep 2006 15:07:28 -0000 1.15 --- SpaceTreeView.java 3 Oct 2006 10:04:08 -0000 1.16 *************** *** 38,42 **** public void update() { if (root.getChildCount() == 5) { ! ((GenericNode)root.getChildAt(0)).update(Project.getInstance().getSpaces()); ((GenericNode)root.getChildAt(1)).update(Project.getInstance().getConstraints()); ((GenericNode)root.getChildAt(2)).update(Project.getInstance().getGlobals()); --- 38,42 ---- public void update() { if (root.getChildCount() == 5) { ! ((GenericNode)root.getChildAt(0)).update(Project.getInstance()); ((GenericNode)root.getChildAt(1)).update(Project.getInstance().getConstraints()); ((GenericNode)root.getChildAt(2)).update(Project.getInstance().getGlobals()); *************** *** 47,51 **** Object[] paths = findPaths(e); root.removeAllChildren(); ! root.add(new ElementContainer("Project", Project.getInstance().getSpaces())); root.add(new ConstraintContainer("Constraints", Project.getInstance().getConstraints())); root.add(new ParameterBlockNode("Globals", Project.getInstance().getGlobals())); --- 47,51 ---- Object[] paths = findPaths(e); root.removeAllChildren(); ! root.add(new ProjectNode(Project.getInstance())); root.add(new ConstraintContainer("Constraints", Project.getInstance().getConstraints())); root.add(new ParameterBlockNode("Globals", Project.getInstance().getGlobals())); |