[Bprocessor-commit] gl/src/net/sourceforge/bprocessor/gl/tool FourTool.java, NONE, 1.1 ToolFactory.
Status: Pre-Alpha
Brought to you by:
henryml
From: Michael L. <he...@us...> - 2010-11-26 14:20:36
|
Update of /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv26258/src/net/sourceforge/bprocessor/gl/tool Modified Files: ToolFactory.java Tool.java SpaceSelectTool.java Added Files: FourTool.java Log Message: Index: ToolFactory.java =================================================================== RCS file: /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool/ToolFactory.java,v retrieving revision 1.108 retrieving revision 1.109 diff -C2 -d -r1.108 -r1.109 *** ToolFactory.java 20 May 2010 12:02:06 -0000 1.108 --- ToolFactory.java 26 Nov 2010 14:20:27 -0000 1.109 *************** *** 69,73 **** private AbstractTool assign; private AbstractTool spaceselect; ! private Pencil pencil; private EraserTool eraser; --- 69,74 ---- private AbstractTool assign; private AbstractTool spaceselect; ! private AbstractTool four; ! private Pencil pencil; private EraserTool eraser; *************** *** 143,146 **** --- 144,149 ---- assign = new SpaceTool(editor, null); spaceselect = new SpaceSelectTool(editor, null); + four = new FourTool(editor, null); + pencil = new Pencil(editor, pencilcursor); eraser = new EraserTool(editor, pencilcursor); *************** *** 165,168 **** --- 168,174 ---- "Biconselecttool2.gif", "Sensor Select")); + viewingset.add(registerTool(Tool.FOUR, four, + "four.png", "Mold ~ Four Weeks")); + modellingset.add(registerTool(Tool.SELECT_TOOL, select, "Biconselecttool.gif", "Select")); modellingset.add(registerTool(Tool.ASSIGN_TOOL, assign, "assign-icon-3.png", "Assign")); Index: Tool.java =================================================================== RCS file: /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool/Tool.java,v retrieving revision 1.42 retrieving revision 1.43 diff -C2 -d -r1.42 -r1.43 *** Tool.java 19 Jun 2009 13:32:29 -0000 1.42 --- Tool.java 26 Nov 2010 14:20:27 -0000 1.43 *************** *** 83,86 **** --- 83,89 ---- public static final int SPACE_SELECT = 28; + /** the FOUR tool */ + public static final int FOUR = 29; + /** * Return the current selection Index: SpaceSelectTool.java =================================================================== RCS file: /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool/SpaceSelectTool.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** SpaceSelectTool.java 14 Sep 2009 16:22:59 -0000 1.5 --- SpaceSelectTool.java 26 Nov 2010 14:20:27 -0000 1.6 *************** *** 8,13 **** --- 8,17 ---- import net.sourceforge.bprocessor.gl.Editor; + import net.sourceforge.bprocessor.gl.view.View; import net.sourceforge.bprocessor.gui.GUI; import net.sourceforge.bprocessor.model.Geometric; + import net.sourceforge.bprocessor.model.Instance; + import net.sourceforge.bprocessor.model.Item; + import net.sourceforge.bprocessor.model.Project; import net.sourceforge.bprocessor.model.Selection; import net.sourceforge.bprocessor.model.Space; *************** *** 20,23 **** --- 24,28 ---- import javax.swing.JPopupMenu; + /** * The Space Select Tool *************** *** 46,49 **** --- 51,55 ---- public void prepare() { Selection.primary().clear(); + Project.getInstance().clearHistoriuc(); } *************** *** 57,72 **** double x = e.getX(); double y = e.getY(); ! ! Surface surface = editor.getView().getSelectedSurface(x, y); ! if (surface != null) { ! Space front = surface.getFrontDomain(); ! Space back = surface.getBackDomain(); ! if (front.isConstructionSpace()) { ! Selection.primary().set(front); ! } else if (back.isConstructionSpace()) { ! Selection.primary().set(back); ! } } else { ! Selection.primary().clear(); } } else { --- 63,90 ---- double x = e.getX(); double y = e.getY(); ! ! Item item = editor.getView().getSelectedItem(x, y); ! if (item != null) { ! Selection.primary().set(item); } else { ! Object found = editor.getView().getObjectAtPoint(e.getX(), e.getY(), View.OBJECTS); ! if (found instanceof Instance) { ! Selection.primary().set((Instance) found); ! } else { ! Surface surface = editor.getView().getSelectedSurface(x, y); ! System.out.println("selected surface: " + surface); ! if (surface != null) { ! Space front = surface.getFrontDomain(); ! Space back = surface.getBackDomain(); ! if (front.isConstructionSpace()) { ! Selection.primary().set(front); ! } else if (back.isConstructionSpace()) { ! Selection.primary().set(back); ! } ! } else { ! Selection.primary().clear(); ! } ! } ! } } else { --- NEW FILE: FourTool.java --- //--------------------------------------------------------------------------------- // $Id: FourTool.java,v 1.1 2010/11/26 14:20:27 henryml Exp $ // // Copyright (c) 2005 The BProcessor Team (http://bprocessor.sourceforge.net) // Released under the Lesser GNU Public License v2.1 //--------------------------------------------------------------------------------- package net.sourceforge.bprocessor.gl.tool; import net.sourceforge.bprocessor.gl.Editor; import net.sourceforge.bprocessor.gl.view.View; import net.sourceforge.bprocessor.gui.GUI; import net.sourceforge.bprocessor.model.Geometric; import net.sourceforge.bprocessor.model.Instance; import net.sourceforge.bprocessor.model.Item; import net.sourceforge.bprocessor.model.Project; import net.sourceforge.bprocessor.model.Selection; import net.sourceforge.bprocessor.model.Space; import net.sourceforge.bprocessor.model.Surface; import java.awt.Cursor; import java.awt.event.MouseEvent; import java.util.LinkedList; import javax.swing.JPopupMenu; /** * The Space Select Tool */ public class FourTool extends AbstractTool { /** * The constructor * @param editor The 3D canvas * @param cursor The cursor */ public FourTool(Editor editor, Cursor cursor) { super(editor, cursor); } /** * Invoked when the mouse cursor has been moved * @param e The MouseEvent object */ protected void moved(MouseEvent e) { } /** * {@inheritDoc} */ public void prepare() { Selection.primary().clear(); Project.getInstance().fetchHistoric(); } /** * Invoked when a mouse button has been pressed on a component. * @param e The MouseEvent object */ protected void pressed(MouseEvent e) { if (e.getButton() == MouseEvent.BUTTON1) { double x = e.getX(); double y = e.getY(); Item item = editor.getView().getSelectedItem(x, y); if (item != null) { Selection.primary().set(item); } else { Object found = editor.getView().getObjectAtPoint(e.getX(), e.getY(), View.OBJECTS); if (found instanceof Instance) { Selection.primary().set((Instance) found); } else { Surface surface = editor.getView().getSelectedSurface(x, y); System.out.println("selected surface: " + surface); if (surface != null) { Space front = surface.getFrontDomain(); Space back = surface.getBackDomain(); if (front.isConstructionSpace()) { Selection.primary().set(front); } else if (back.isConstructionSpace()) { Selection.primary().set(back); } } else { Selection.primary().clear(); } } } } else { Selection.primary().clear(); } } /** * Invoked when the mouse is held pressed and moved * @param e The MouseEvent object */ protected void dragged(MouseEvent e) { if ((e.getModifiersEx() & MouseEvent.BUTTON1_DOWN_MASK) == MouseEvent.BUTTON1_DOWN_MASK) { // Empty if block } } /** * Invoked when a mouse button has been released on a component. * @param e The MouseEvent */ protected void released(MouseEvent e) { if (e.getButton() == MouseEvent.BUTTON1) { // Empty if block } } /** * {@inheritDoc} */ public String initialTip() { return "Click objects to select." + " Hold shift to add to selection." + " Drag to multi-select."; } /** * {@inheritDoc} */ public void handleMenu(MouseEvent event) { Selection selection = Selection.primary(); JPopupMenu menu = null; if (target == null) { selection.clear(); menu = GUI.getInstance().menuFactory().menuFor(new LinkedList<Geometric>()); } else { if (target instanceof Geometric) { if (!selection.contains(target)) { selection.set((Geometric) target); } menu = GUI.getInstance().menuFactory().menuFor(selection); } } if (menu != null && menu.getComponentCount() > 0) { editor.popup(menu, event.getX(), event.getY()); } } } |