Thread: [Bprocessor-commit] gl/src/net/sourceforge/bprocessor/gl/tool MoveTool.java,1.52,1.53
Status: Pre-Alpha
Brought to you by:
henryml
From: Nordholt <nor...@us...> - 2006-04-13 13:43:38
|
Update of /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1718 Modified Files: MoveTool.java Log Message: remembering to clean up (should remove flickering target). Making move specified by lengthfield work. Small change to getaffected method to make movement of spaces work. Now works both as drag and click-click tool. Index: MoveTool.java =================================================================== RCS file: /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool/MoveTool.java,v retrieving revision 1.52 retrieving revision 1.53 diff -C2 -d -r1.52 -r1.53 *** MoveTool.java 5 Apr 2006 10:24:56 -0000 1.52 --- MoveTool.java 13 Apr 2006 13:43:26 -0000 1.53 *************** *** 54,57 **** --- 54,60 ---- protected Edge moveConstructor; + /** Dragging flag */ + protected boolean dragFlag = false; + /** * The Constructor *************** *** 132,139 **** protected void released(MouseEvent e) { if (strategy != null) { ! strategy.released(e); } else { - findTarget(e); - number = ""; Project.getInstance().checkpoint(); } --- 135,143 ---- protected void released(MouseEvent e) { if (strategy != null) { ! if (dragFlag) { ! dragFlag = false; ! strategy.pressed(e); ! } } else { Project.getInstance().checkpoint(); } *************** *** 150,161 **** Intersection oldCurrent = current; current = findIntersection(e); ! if (current != null && ! from != null && ! moveEntities != null) { ! move(vertices, current.vertex().minus(from)); } updateConstructors(); } } --- 154,169 ---- Intersection oldCurrent = current; current = findIntersection(e); ! if (current != null) { ! makeTarget(current); ! if (from != null && ! moveEntities != null) { ! move(vertices, current.vertex().minus(from)); ! } } updateConstructors(); } } + + *************** *** 166,170 **** protected void dragged(MouseEvent e) { if (strategy != null) { ! strategy.dragged(e); } } --- 174,179 ---- protected void dragged(MouseEvent e) { if (strategy != null) { ! dragFlag = true; ! strategy.moved(e); } } *************** *** 199,269 **** */ public void keyPressed(KeyEvent e) { - /* if (strategy != null) { strategy.keyPressed(e); } else { ! if (e.getKeyCode() == KeyEvent.VK_ESCAPE) { ! move(vertices, initial.minus(from)); ! } else if (lastMoveDirection != null && ! initial != null && ! from != null && ! vertices != null && ! number != null) { ! if (e.getKeyCode() == KeyEvent.VK_1) { ! number += "1"; ! } else if (e.getKeyCode() == KeyEvent.VK_2) { ! number += "2"; ! } else if (e.getKeyCode() == KeyEvent.VK_3) { ! number += "3"; ! } else if (e.getKeyCode() == KeyEvent.VK_4) { ! number += "4"; ! } else if (e.getKeyCode() == KeyEvent.VK_5) { ! number += "5"; ! } else if (e.getKeyCode() == KeyEvent.VK_6) { ! number += "6"; ! } else if (e.getKeyCode() == KeyEvent.VK_7) { ! number += "7"; ! } else if (e.getKeyCode() == KeyEvent.VK_8) { ! number += "8"; ! } else if (e.getKeyCode() == KeyEvent.VK_9) { ! number += "9"; ! } else if (e.getKeyCode() == KeyEvent.VK_0) { ! number += "0"; ! } else if (e.getKeyCode() == KeyEvent.VK_ENTER) { ! if (!number.equals("")) { ! double length = glv.getLength(); ! Vertex delta = initial.minus(from); ! if (delta.length( 0) { ! delta.scale((delta.length() - length) / delta.length()); ! } else { ! delta = lastMoveDirection.copy(); ! delta.scale(length / delta.length()); ! } ! move(vertices, delta); ! update(); ! glv.repaint(); ! } ! } else if (e.getKeyCode() == KeyEvent.VK_BACK_SPACE) { ! int length = number.length(); ! if (length > 0) { ! number = number.substring(0, length - 1); ! } ! } ! if (number.equals("") || number.equals("-")) { ! glv.setLength(0); ! } else { ! try { ! double d = Double.parseDouble(number); ! glv.setLength(d / 1000); ! } catch (NumberFormatException exp) { ! System.out.println(exp); ! } ! } ! } else { ! super.keyPressed(e); } - glv.repaint(true); } - */ } --- 208,230 ---- */ public void keyPressed(KeyEvent e) { if (strategy != null) { strategy.keyPressed(e); } else { ! super.keyPressed(e); ! if (current != null && ! moveEntities != null && ! from != null && ! (from.getX() != current.vertex().getX() || ! from.getY() != current.vertex().getY() || ! from.getZ() != current.vertex().getZ())) { ! move(vertices, current.vertex().minus(from)); ! start = null; ! moveEntities = null; ! incident = null; ! vertices = null; ! excluded(new HashSet()); ! glv.repaint(true); } } } *************** *** 273,276 **** --- 234,238 ---- */ public void setStrategy(MoveTool strategy) { + timer.stop(); this.strategy = strategy; } *************** *** 293,302 **** excopy.addAll(excluded); excluded(excopy); - glv.setLength(moveConstructor.getLength()); } else { constructors(new LinkedList()); feedback(new LinkedList()); } - makeTarget(current); } --- 255,262 ---- *************** *** 311,315 **** HashSet affectedEdges = new HashSet(); HashSet affectedSurfaces = new HashSet(); ! collect(moveElements, affected); Iterator it = affected.iterator(); while (it.hasNext()) { --- 271,275 ---- HashSet affectedEdges = new HashSet(); HashSet affectedSurfaces = new HashSet(); ! affected.addAll(collect(moveElements)); Iterator it = affected.iterator(); while (it.hasNext()) { *************** *** 322,324 **** --- 282,296 ---- return affected; } + + /** + * Clean up + */ + public void cleanUp() { + if (strategy != null) { + strategy.cleanUp(); + } else { + super.cleanUp(); + } + } + } |