Thread: [Bprocessor-commit] gl/src/net/sourceforge/bprocessor/gl/view PopupMenu.java, 1.1, 1.2
Status: Pre-Alpha
Brought to you by:
henryml
From: rimestad <rim...@us...> - 2007-12-19 11:40:52
|
Update of /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/view In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv4373/src/net/sourceforge/bprocessor/gl/view Modified Files: PopupMenu.java Log Message: changed menuFactory interface to entity instead of geometric... and made popupMenu reflect that Index: PopupMenu.java =================================================================== RCS file: /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/view/PopupMenu.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** PopupMenu.java 18 Dec 2007 23:15:01 -0000 1.1 --- PopupMenu.java 19 Dec 2007 11:40:54 -0000 1.2 *************** *** 20,23 **** --- 20,25 ---- import javax.swing.JPopupMenu; + import net.sourceforge.bprocessor.gl.Editor; + import net.sourceforge.bprocessor.gl.tool.Tool; import net.sourceforge.bprocessor.gui.GUI; import net.sourceforge.bprocessor.gui.MenuFactory; *************** *** 40,43 **** --- 42,46 ---- import net.sourceforge.bprocessor.model.Geometric; import net.sourceforge.bprocessor.model.Geometry; + import net.sourceforge.bprocessor.model.Instance; import net.sourceforge.bprocessor.model.Mesh; import net.sourceforge.bprocessor.model.Project; *************** *** 58,67 **** private static final boolean CHECKS = false; /** ! * ! * */ ! public PopupMenu() { } --- 61,73 ---- private static final boolean CHECKS = false; + + private Editor editor; /** ! * The popupMenu constructor ! * @param editor the editor constructing the menu creator */ ! public PopupMenu(Editor editor) { ! this.editor = editor; } *************** *** 71,75 **** * @return the popupmenu */ ! private static JPopupMenu getSurfaceMenu(Collection surfaces) { JPopupMenu menu = getGeometricMenu(surfaces); if (surfaces.size() == 1) { --- 77,81 ---- * @return the popupmenu */ ! private JPopupMenu getSurfaceMenu(Collection surfaces) { JPopupMenu menu = getGeometricMenu(surfaces); if (surfaces.size() == 1) { *************** *** 155,159 **** * @return Menu for edges */ ! private static JPopupMenu getEdgeMenu(Collection edges) { JPopupMenu menu = getGeometricMenu(edges); { --- 161,165 ---- * @return Menu for edges */ ! private JPopupMenu getEdgeMenu(Collection edges) { JPopupMenu menu = getGeometricMenu(edges); { *************** *** 193,202 **** * @return Menu for coordinate systems */ ! private static JPopupMenu getCoordinateSystemMenu(Collection systems) { JPopupMenu menu = getGeometricMenu(systems); return menu; } ! private abstract static class ModellorAction extends AbstractAction { protected Modellor modellor; protected Container space; --- 199,208 ---- * @return Menu for coordinate systems */ ! private JPopupMenu getCoordinateSystemMenu(Collection systems) { JPopupMenu menu = getGeometricMenu(systems); return menu; } ! private abstract class ModellorAction extends AbstractAction { protected Modellor modellor; protected Container space; *************** *** 214,219 **** * @return the popup menu */ ! private static JPopupMenu getSpaceMenu(Collection s) { ! JPopupMenu menu = PopupMenu.getGeometricMenu(s); menu.addSeparator(); --- 220,225 ---- * @return the popup menu */ ! private JPopupMenu getSpaceMenu(Collection s) { ! JPopupMenu menu = getGeometricMenu(s); menu.addSeparator(); *************** *** 376,390 **** return menu; } - - /** - * a popup generator for a single entity - * @param e The entity - * @return the popup menu - */ - private static JPopupMenu getEntityMenu(Entity e) { - Collection c = new LinkedList(); - c.add(e); - return getGeometricMenu(c); - } /** --- 382,385 ---- *************** *** 393,397 **** * @return The popupmenu */ ! private static JPopupMenu getAttributeMenu(Attribute attribute) { JPopupMenu pm = new JPopupMenu(); AbstractAction delete = new AttributeMenuAction(attribute, "Delete") { --- 388,392 ---- * @return The popupmenu */ ! private JPopupMenu getAttributeMenu(Attribute attribute) { JPopupMenu pm = new JPopupMenu(); AbstractAction delete = new AttributeMenuAction(attribute, "Delete") { *************** *** 407,411 **** } ! private static CoordinateSystem systemFor(Geometric geometric) { if (geometric instanceof Vertex) { return systemFor((Vertex) geometric); --- 402,406 ---- } ! private CoordinateSystem systemFor(Geometric geometric) { if (geometric instanceof Vertex) { return systemFor((Vertex) geometric); *************** *** 420,424 **** } ! private static CoordinateSystem systemFor(Vertex vertex) { Collection<Edge> edges = vertex.getEdges(); if (edges.size() == 0) { --- 415,419 ---- } ! private CoordinateSystem systemFor(Vertex vertex) { Collection<Edge> edges = vertex.getEdges(); if (edges.size() == 0) { *************** *** 451,455 **** } ! private static CoordinateSystem systemFor(Surface surface) { Vertex normal = surface.normal(); Vertex origin = surface.center(); --- 446,450 ---- } ! private CoordinateSystem systemFor(Surface surface) { Vertex normal = surface.normal(); Vertex origin = surface.center(); *************** *** 462,466 **** * @return the popupmenu */ ! private static JPopupMenu getGeometricMenu(Collection<Geometric> arguments) { JPopupMenu menu = new JPopupMenu(); AbstractAction delete = new GeometricMenuAction(arguments, "Delete") { --- 457,461 ---- * @return the popupmenu */ ! private JPopupMenu getGeometricMenu(Collection<Geometric> arguments) { JPopupMenu menu = new JPopupMenu(); AbstractAction delete = new GeometricMenuAction(arguments, "Delete") { *************** *** 668,672 **** * @return Background menu */ ! private static JPopupMenu getBackgroundMenu() { JPopupMenu menu = new JPopupMenu(); { --- 663,667 ---- * @return Background menu */ ! private JPopupMenu getBackgroundMenu() { JPopupMenu menu = new JPopupMenu(); { *************** *** 715,750 **** return menu; } - - /** - * Create a popupMenu for the selection - * @return The popupmenu or null if the selection is empty - */ - private static JPopupMenu makeSelectionMenu() { - if (Selection.primary().isEmpty()) { - return null; - } else { - Iterator sel = Selection.primary().iterator(); - Object type = null; - while (sel.hasNext()) { - Object next = sel.next(); - if (type == null) { - type = next; - } else if (!next.getClass().isInstance(type)) { - return PopupMenu.getGeometricMenu(new LinkedList<Geometric>(Selection.primary())); - } - } - if (type instanceof Container) { - return PopupMenu.getSpaceMenu(new LinkedList<Geometric>(Selection.primary())); - } else if (type instanceof Surface) { - return PopupMenu.getSurfaceMenu(new LinkedList<Geometric>(Selection.primary())); - } else if (type instanceof Edge) { - return getEdgeMenu(new LinkedList<Geometric>(Selection.primary())); - } else if (type instanceof CoordinateSystem) { - return getCoordinateSystemMenu(new LinkedList<Geometric>(Selection.primary())); - } else { - return PopupMenu.getGeometricMenu(new LinkedList<Geometric>(Selection.primary())); - } - } - } /** --- 710,713 ---- *************** *** 803,819 **** } ! /** {@inheritDoc} */ ! public JPopupMenu menuFor(Geometric geometric) { ! return null; } ! /** {@inheritDoc} */ ! public JPopupMenu menuFor(Collection<Geometric> geometrics) { ! if (geometrics == Selection.primary()) { ! return makeSelectionMenu(); ! } else if (geometrics.isEmpty()) { ! return PopupMenu.getBackgroundMenu(); } else { ! return PopupMenu.getGeometricMenu(geometrics); } } --- 766,825 ---- } ! /** ! * Generate menu for components ! * @param components The components ! * @return The menu ! */ ! private JPopupMenu getComponentMenu(Collection<Component> components) { ! JPopupMenu menu = new JPopupMenu(); ! menu.add(new CollectionMenuAction(components, "Make Instance") { ! public void actionPerformed(ActionEvent e) { ! Project proj = Project.getInstance(); ! Container world = proj.getActiveSpace(); ! for (Object o : col) { ! Component lo = (Component)o; ! Container space = lo.getSpace(); ! Instance instance = new Instance(space.getName() + " instance "); ! proj.addCalalogObject(lo); ! instance.setProto(space); ! world.add(instance); ! editor.changeTool(Tool.FINAL_MOVE_TOOL); ! } ! proj.changed(world); ! proj.checkpoint(); ! }; ! }); ! return menu; } ! /** {@inheritDoc} */ ! public JPopupMenu menuFor(Collection<? extends Entity> geometrics) { ! if (geometrics.isEmpty()) { ! return getBackgroundMenu(); } else { ! Object type = null; ! for (Entity current : geometrics) { ! if (type == null) { ! type = current; ! } else if (!current.getClass().isInstance(type)) { ! return getGeometricMenu(new LinkedList<Geometric>((Collection<Geometric>)geometrics)); ! } ! } ! if (type instanceof Container) { ! return getSpaceMenu(new LinkedList<Container>((Collection<Container>)geometrics)); ! } else if (type instanceof Surface) { ! return getSurfaceMenu(new LinkedList<Surface>((Collection<Surface>)geometrics)); ! } else if (type instanceof Edge) { ! return getEdgeMenu(new LinkedList<Edge>((Collection<Edge>)geometrics)); ! } else if (type instanceof CoordinateSystem) { ! return getCoordinateSystemMenu( ! new LinkedList<CoordinateSystem>((Collection<CoordinateSystem>)geometrics)); ! } else if (type instanceof Attribute) { ! return getAttributeMenu((Attribute)type); ! } else if (type instanceof Component) { ! return getComponentMenu(new LinkedList<Component>((Collection<Component>)geometrics)); ! } else { ! return getGeometricMenu(new LinkedList<Geometric>((Collection<Geometric>)geometrics)); ! } } } *************** *** 821,827 **** /** {@inheritDoc} */ public JPopupMenu menuFor(Entity entity) { ! return getEntityMenu(entity); } /** {@inheritDoc} */ public JPopupMenu menuFor(Attribute attribute) { --- 827,837 ---- /** {@inheritDoc} */ public JPopupMenu menuFor(Entity entity) { ! Collection<Entity> c = new LinkedList<Entity>(); ! c.add(entity); ! return menuFor(c); } + + /** {@inheritDoc} */ public JPopupMenu menuFor(Attribute attribute) { |