From b369447eadbada00a546399a4dae3ae735bb6c4f Mon Sep 17 00:00:00 2001
From: "Leigh B. Stoller" <stoller@flux.utah.edu>
Date: Mon, 7 Mar 2005 15:43:05 +0000
Subject: [PATCH] Change to the UI. Add a right click context menu (right click
 over a node) brings up a context menu that allows you to 1) Cancel the
 current drag operation for that robot, 2) bring up the Emulab shownode page
 in another window, and 3) set the orientation for the robot using a popup
 dialog input box. This allowed me to clean up some of the table handling
 code, and fix a glitch whereby a value left inside a cell being edited caused
 the a cancel drag operation to immediately start a new one.

---
 robots/tracker/RoboTrack.java | 280 ++++++++++++++++++++++------------
 www/robotrack/tracker.jar     | Bin 19275 -> 20049 bytes
 2 files changed, 183 insertions(+), 97 deletions(-)

diff --git a/robots/tracker/RoboTrack.java b/robots/tracker/RoboTrack.java
index 3fd283092f..6e859b7001 100644
--- a/robots/tracker/RoboTrack.java
+++ b/robots/tracker/RoboTrack.java
@@ -28,8 +28,9 @@ import java.text.DecimalFormat;
 public class RoboTrack extends JApplet {
     Map map;
     JTable maptable;
-    JPopupMenu MenuPopup;
-    JMenuItem CancelMenuItem, SubmitMenuItem;
+    JPopupMenu LeftMenuPopup, RightMenuPopup;
+    JMenuItem CancelMovesMenuItem, SubmitMenuItem;
+    JMenuItem CancelDragMenuItem, ShowNodeMenuItem, SetOrientationMenuItem;
     Image floorimage;
     double pixels_per_meter = 1.0;
     boolean frozen = false;
@@ -92,13 +93,6 @@ public class RoboTrack extends JApplet {
 	    th.printStackTrace();
 	}
 
-	/*
-	 * Mouse listener. See below.
-	 */
-	MyMouseAdaptor mymouser = new MyMouseAdaptor();
-	addMouseListener(mymouser);
-	addMouseMotionListener(mymouser);
-
 	/*
 	 * Make sure the redraw stops when the window is iconified.
 	 * Hmm, not sure how to do this yet. How do I get a handle
@@ -108,6 +102,9 @@ public class RoboTrack extends JApplet {
 		public void windowDeiconified(WindowEvent e) { start(); }
 	    });	
 	 */
+
+	// This is used below for the listeners. 
+	MyMouseAdaptor mymouser = new MyMouseAdaptor();
 	
 	/*
 	 * Vertical placement of Components in the pane. 
@@ -128,20 +125,47 @@ public class RoboTrack extends JApplet {
 	 * Create the popup menu that will be used to fire off
 	 * robot moves. We use the mouseadaptor for this too. 
 	 */
-        MenuPopup = new JPopupMenu("Tracker");
+        LeftMenuPopup = new JPopupMenu("Tracker");
         JMenuItem menuitem = new JMenuItem("   Motion Menu   ");
-        menuitem.addActionListener(mymouser);
-        MenuPopup.add(menuitem);
+        LeftMenuPopup.add(menuitem);
+	LeftMenuPopup.addSeparator();
         SubmitMenuItem = new JMenuItem("Submit All Moves");
         SubmitMenuItem.addActionListener(mymouser);
-        MenuPopup.add(SubmitMenuItem);
-        CancelMenuItem = new JMenuItem("Cancel All Moves");
-        CancelMenuItem.addActionListener(mymouser);
-        MenuPopup.add(CancelMenuItem);
+        LeftMenuPopup.add(SubmitMenuItem);
+        CancelMovesMenuItem = new JMenuItem("Cancel All Moves");
+        CancelMovesMenuItem.addActionListener(mymouser);
+        LeftMenuPopup.add(CancelMovesMenuItem);
         menuitem = new JMenuItem("Close This Menu");
         menuitem.addActionListener(mymouser);
-        MenuPopup.add(menuitem);
-	MenuPopup.setBorder(BorderFactory.createLineBorder(Color.black));
+        LeftMenuPopup.add(menuitem);
+	LeftMenuPopup.setBorder(BorderFactory.createLineBorder(Color.black));
+
+	/*
+	 * And a right button popup that is active over a node.
+	 */
+        RightMenuPopup = new JPopupMenu("Tracker");
+        menuitem = new JMenuItem("   Context Menu   ");
+        RightMenuPopup.add(menuitem);
+	RightMenuPopup.addSeparator();
+        ShowNodeMenuItem = new JMenuItem("Emulab ShowNode");
+        ShowNodeMenuItem.addActionListener(mymouser);
+        RightMenuPopup.add(ShowNodeMenuItem);
+        CancelDragMenuItem = new JMenuItem("Cancel Drag");
+        CancelDragMenuItem.addActionListener(mymouser);
+        RightMenuPopup.add(CancelDragMenuItem);
+        SetOrientationMenuItem = new JMenuItem("Set Orientation");
+        SetOrientationMenuItem.addActionListener(mymouser);
+        RightMenuPopup.add(SetOrientationMenuItem);
+        menuitem = new JMenuItem("Close This Menu");
+        menuitem.addActionListener(mymouser);
+        RightMenuPopup.add(menuitem);
+	RightMenuPopup.setBorder(BorderFactory.createLineBorder(Color.black));
+
+	/*
+	 * Mouse listener. See below.
+	 */
+	addMouseListener(mymouser);
+	addMouseMotionListener(mymouser);
     }
 
     public void start() {
@@ -412,9 +436,6 @@ public class RoboTrack extends JApplet {
 	    while (e.hasMoreElements()) {
 		Robot robbie  = (Robot)e.nextElement();
 
-		if (! robbie.mobile)
-		    continue;
-
 		if ((Math.abs(robbie.y - y) < robbie.size/2 &&
 		     Math.abs(robbie.x - x) < robbie.size/2) ||
 		    (robbie.dragging &&
@@ -447,6 +468,7 @@ public class RoboTrack extends JApplet {
 		if (!robbie.dragging)
 		    continue;
 
+		// Bounding box.
 		int rx1 = robbie.drag_x - (robbie.radius);
 		int ry1 = robbie.drag_y - (robbie.radius);
 		int rx2 = robbie.drag_x + (robbie.radius);
@@ -555,6 +577,7 @@ public class RoboTrack extends JApplet {
 		if (!robbie.dragging)
 		    continue;
 
+		// Bounding box.
 		int rx1 = robbie.drag_x - (robbie.radius + OBSTACLE_BUFFER);
 		int ry1 = robbie.drag_y - (robbie.radius + OBSTACLE_BUFFER);
 		int rx2 = robbie.drag_x + (robbie.radius + OBSTACLE_BUFFER);
@@ -774,7 +797,6 @@ public class RoboTrack extends JApplet {
     
         public void run() {
             Thread me = Thread.currentThread();
-	    byte buffer[] = new byte[6];
 	    BufferedReader input
 		= new BufferedReader(new InputStreamReader(is));
 	    String str;
@@ -845,7 +867,7 @@ public class RoboTrack extends JApplet {
 	    //	    System.out.println("foo");
 	    /*
 	     * Hmm, if I return 0 (as before there are any robots) the
-	     * table is never resized up. I ma sure there is a way to
+	     * table is never resized up. I am sure there is a way to
 	     * deal with this ... not sure what it is yet. So hardwire
 	     * table size for now.
 	     */
@@ -906,8 +928,7 @@ public class RoboTrack extends JApplet {
 	    
 	    Robot robbie = (Robot) robotmap.elementAt(row);
 
-	    if ((robbie.dragging && (col >= 6 && col <= 8)) ||
-		(!robbie.gotdest && col == 8))
+	    if (robbie.dragging && (col >= 6 && col <= 8))
 		return true;
 	    return false;
         }
@@ -921,8 +942,7 @@ public class RoboTrack extends JApplet {
 	    
 	    Robot robbie = (Robot) robotmap.elementAt(row);
 
-	    if ((robbie.dragging && (col >= 6 && col <= 8)) ||
-		(!robbie.gotdest && col == 8)) {
+	    if (robbie.dragging && (col >= 6 && col <= 8)) {
 		String stmp = value.toString().trim();
 		double dtmp;
 
@@ -970,18 +990,6 @@ public class RoboTrack extends JApplet {
 		    robbie.drag_or == robbie.or) {
 		    robbie.dragging = false;
 		}
-		else if (!robbie.dragging) {
-		    /*
-		     * User changed the orientation, but the robot was not
-		     * currenly being dragged, so make sure things are
-		     * initialized properly for a drag.
-		     */
-		    robbie.drag_x   = robbie.x;
-		    robbie.drag_y   = robbie.y;
-		    robbie.dragx_meters = robbie.x_meters;
-		    robbie.dragy_meters = robbie.y_meters;
-		    robbie.dragging = true;
-		}
 		fireTableCellUpdated(row, col);
 		repaint();
 		return;
@@ -989,15 +997,29 @@ public class RoboTrack extends JApplet {
 	}
     }
 
+    /*
+     * Utility function. When canceling a drag operation, we need to
+     * clear the values in the table for that row. If we do not do this,
+     * the next time the user tries to drag that node, the old value in
+     * cell that was being edited is picked up (and I do not know how
+     * to turn off editing of the cell being edited). 
+     */
+    private void cancelDrag(Robot robbie) {
+	int row = robbie.index;
+	
+	robbie.dragging = false;
+	maptable.clearSelection();
+	// Just force the editor out of the cell, if any. This will end up
+	maptable.editCellAt(100, 100);
+	maptable.repaint();
+    }
+
     /*
      * Mouse button event handler.
      */
     public class MyMouseAdaptor implements MouseInputListener, ActionListener {
 	String node_id   = null;
-	int click_x      = 0;
-	int click_y      = 0;
 	boolean dragging = false;
-	boolean clicked  = false;
 	
 	public void mousePressed(MouseEvent e) {
 	    int button = e.getButton();
@@ -1006,15 +1028,32 @@ public class RoboTrack extends JApplet {
 		/*
 		 * Left button pressed. This starts a drag operation.
 		 */
-		if (!dragging && !clicked) {
+		if (!dragging) {
 		    node_id = map.pickRobot(e.getX(), e.getY());
 
 		    if (node_id == "") {
 			node_id = null;
-			MaybeShowMenu(e);
+			MaybeLeftShowMenu(e);
 			return;
 		    }
 		    Robot robbie = (Robot) robots.get(node_id);
+
+		    /*
+		     * Fixed nodes cannot be dragged.
+		     */
+		    if (! robbie.mobile) {
+			node_id = null;
+			return;
+		    }
+
+		    /*
+		     * Do not allow robots with current destinations
+		     * to be dragged. Not yet, maybe later.
+		     */
+		    if (robbie.gotdest) {
+			node_id = null;
+			return;
+		    }
 		    
 		    robbie.drag_x   = e.getX();
 		    robbie.drag_y   = e.getY();
@@ -1042,7 +1081,6 @@ public class RoboTrack extends JApplet {
 
 		    maptable.setRowSelectionInterval(robbie.index,
 						     robbie.index);
-		    maptable.editCellAt(robbie.index, 8);
 		}
 	    }
 	    else if (button == e.BUTTON2) {
@@ -1062,8 +1100,7 @@ public class RoboTrack extends JApplet {
 	    }
 	    else if (button == e.BUTTON3) {
 		/*
-		 * Right mouse button will bring up a showpage on release.
-		 * Eventually this will be a context menu.
+		 * Right mouse button will bring up a context menu.
 		 */
 		if (! dragging) {
 		    node_id = map.pickRobot(e.getX(), e.getY());
@@ -1072,12 +1109,25 @@ public class RoboTrack extends JApplet {
 			node_id = null;
 			return;
 		    }
-		    
 		    Robot robbie = (Robot) robots.get(node_id);
+		    
+		    /*
+		     * Set whether the cancel move button is enabled.
+		     */
+		    if (robbie.dragging)
+			CancelDragMenuItem.setEnabled(true);
+		    else
+			CancelDragMenuItem.setEnabled(false);
+
+		    /*
+		     * And set whether the orientation option is enabled.
+		     */
+		    if (robbie.mobile)
+			SetOrientationMenuItem.setEnabled(true);
+		    else
+			SetOrientationMenuItem.setEnabled(false);
 
-		    click_x = e.getX();
-		    click_y = e.getY();
-		    clicked = true;
+		    RightMenuPopup.show(map, e.getX(), e.getY());
 		}
 	    }
 	}
@@ -1093,7 +1143,7 @@ public class RoboTrack extends JApplet {
 		     */
 		    // Make sure we received the down event.
 		    if (node_id == null) {
-			clicked = false;
+			dragging = false;
 			return;
 		    }
 		    System.out.println("Drag finished: " + node_id);
@@ -1121,49 +1171,22 @@ public class RoboTrack extends JApplet {
 		    if (Math.abs(e.getX() - robbie.x) <= 2 &&
 			Math.abs(e.getY() - robbie.y) <= 2 &&
 			robbie.drag_or == robbie.or) {
-			robbie.dragging = false;
+			cancelDrag(robbie);
 		    }
 		    repaint();
 		}
 	    }
 	    else if (button == e.BUTTON3) {
 		/*
-		 * Right mouse button release brings up a showpage.
-		 * Eventually this will be a context menu.
+		 * Right mouse button brought up the context menu.
+		 * It seems that this event will fire before the menu popup
+		 * event fires, so nothing to do since we need to maintain
+		 * the state (the selected node) for the popup event below.
 		 */
-		if (clicked) {
-		    // Make sure we received the down event.
-		    if (node_id == null) {
-			clicked = false;
-			return;
-		    }
-		    System.out.println("Click finished: " + node_id);
-
-		    Robot robbie = (Robot) robots.get(node_id);
-		    node_id      = null;
-
-		    if (! shelled) {
-			// This will fail when I run it from the shell
-			try
-			{
-			    URL url = new URL(getCodeBase(),
-					      "/shownode.php3?node_id=" +
-					        robbie.pname
-					      + "&nocookieuid="
-					      + URLEncoder.encode(uid)
-					      + "&nocookieauth="
-					      + URLEncoder.encode(auth));
-			    System.out.println(url.toString());
-			    getAppletContext().showDocument(url, "_robbie");
-			}
-			catch(Throwable th)
-			{
-			    th.printStackTrace();
-			}
-		    }
+		if (node_id == null) {
+		    return;
 		}
-		// Clear the click.
-		clicked = false;
+		System.out.println("Click finished: " + node_id);
 	    }
 	}
 
@@ -1181,10 +1204,9 @@ public class RoboTrack extends JApplet {
 	    if (dragging) {
 		Robot robbie = (Robot) robots.get(node_id);
 
-		clicked = dragging = false;
-		robbie.dragging    = false;
+		cancelDrag(robbie);
+		robbie.dragging = false;
 		repaint();
-		maptable.repaint(10);
 	    }
 	}
 
@@ -1238,7 +1260,7 @@ public class RoboTrack extends JApplet {
 	 * Decide if we want to actually show the popupmenu; only if
 	 * there are robots involved in a drag. Scan the list.
 	 */
-	public void MaybeShowMenu(MouseEvent e) {
+	public void MaybeLeftShowMenu(MouseEvent e) {
 	    Enumeration enum = robots.elements();
 
 	    while (enum.hasMoreElements()) {
@@ -1251,7 +1273,7 @@ public class RoboTrack extends JApplet {
 		     * the "Java Applet Window" warning so that tells people
 		     * a window has just been popped up.
 		     */
-		    MenuPopup.show(map, e.getX(), e.getY());
+		    LeftMenuPopup.show(map, e.getX(), e.getY());
 		    return;
 		}
 	    }
@@ -1269,18 +1291,15 @@ public class RoboTrack extends JApplet {
 	    /*
 	     * Figuring out which item was selected is silly.
 	     */
-	    if (source == CancelMenuItem) {
+	    if (source == CancelMovesMenuItem) {
 		/*
 		 * Clear all the dragging bits.
 		 */
 		Enumeration enum = robots.elements();
 
 		while (enum.hasMoreElements()) {
-		    Robot robbie  = (Robot)enum.nextElement();
-
-		    robbie.dragging = false;
+		    cancelDrag((Robot) enum.nextElement());
 		}
-		maptable.clearSelection();
 	    }
 	    else if (source == SubmitMenuItem) {
 		/*
@@ -1291,6 +1310,73 @@ public class RoboTrack extends JApplet {
 		    ! map.CheckOutOfBounds())
 		    SendInDestinations();
 	    }
+	    else if (source == ShowNodeMenuItem && node_id != null) {
+		if (! shelled) {
+		    Robot robbie = (Robot) robots.get(node_id);
+		    
+		    // This will fail when I run it from the shell
+		    try
+		    {
+			URL url = new URL(getCodeBase(),
+					  "/shownode.php3?node_id=" +
+					  robbie.pname
+					  + "&nocookieuid="
+					  + URLEncoder.encode(uid)
+					  + "&nocookieauth="
+					  + URLEncoder.encode(auth));
+			System.out.println(url.toString());
+			getAppletContext().showDocument(url, "_robbie");
+		    }
+		    catch(Throwable th)
+		    {
+			th.printStackTrace();
+		    }
+		}
+	    }
+	    else if (source == CancelDragMenuItem && node_id != null) {
+		cancelDrag((Robot) robots.get(node_id));
+	    }
+	    else if (source == SetOrientationMenuItem && node_id != null) {
+		String saved_node_id = node_id;
+		String str = (String)
+		    JOptionPane.showInputDialog(map,
+						"Enter new Orientation for "
+						+ node_id,
+						null,
+						JOptionPane.PLAIN_MESSAGE);
+		str = str.trim();
+		System.out.println("Orientation: " + str);
+
+		if (str.length() > 0) {
+		    double dtmp;
+
+		    try
+		    {
+			dtmp = Double.parseDouble(str);
+		    }
+		    catch(Throwable th)
+		    {
+			// Must not be a float.
+			repaint();
+			return;
+		    }
+		    Robot robbie = (Robot) robots.get(saved_node_id);
+
+		    robbie.drag_or = dtmp;
+		    robbie.dragor_string = str;
+		    
+		    /*
+		     * Set things up so that the robot is now being dragged.
+		     */
+		    if (! robbie.dragging) {
+			robbie.drag_x   = robbie.x;
+			robbie.drag_y   = robbie.y;
+			robbie.dragx_meters = robbie.x_meters;
+			robbie.dragy_meters = robbie.y_meters;
+			robbie.dragging = true;
+		    }
+		}
+	    }
 	    repaint();
 	    maptable.repaint(10);
 	}
diff --git a/www/robotrack/tracker.jar b/www/robotrack/tracker.jar
index a90e6e569745a57a5ef12f157b8bc000bfde89aa..57aba24a2a2176a32a938ecc30cc5a0ccc27c5eb 100644
GIT binary patch
delta 19291
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
UkTCtrS`vl^=?Iczbk4Q^17V(#h5!Hn

literal 19275
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
GeEKiozf#%&

-- 
GitLab