From d8cf0d1349d2c253dc44df5e0f444280a7ff856c Mon Sep 17 00:00:00 2001 From: Enrico Joerns Date: Tue, 10 Jun 2014 15:59:33 +0200 Subject: [PATCH] [cooja] plugins/Visualizer: Deselect motes when removing This also fixes visualization issues such as remaining transmission range underlays for removed motes --- .../org/contikios/cooja/plugins/Visualizer.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/tools/cooja/java/org/contikios/cooja/plugins/Visualizer.java b/tools/cooja/java/org/contikios/cooja/plugins/Visualizer.java index 885668526..5b6c513ba 100644 --- a/tools/cooja/java/org/contikios/cooja/plugins/Visualizer.java +++ b/tools/cooja/java/org/contikios/cooja/plugins/Visualizer.java @@ -67,6 +67,7 @@ import java.util.Arrays; import java.util.Collection; import java.util.HashMap; import java.util.HashSet; +import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.Map; @@ -456,8 +457,11 @@ public class Visualizer extends VisPlugin implements HasQuickHelp { @Override public void actionPerformed(ActionEvent e) { - for (Mote m : Visualizer.this.getSelectedMotes()) { + Iterator iter = Visualizer.this.getSelectedMotes().iterator(); + while (iter.hasNext()) { + Mote m = iter.next(); m.getSimulation().removeMote(m); + iter.remove(); } } }); @@ -1654,16 +1658,15 @@ public class Visualizer extends VisPlugin implements HasQuickHelp { @Override public void doAction(Visualizer visualizer, Mote mote) { - /* If the currently clicked mote is note in the current mote selection, + /* If the currently clicked mote is not in the current mote selection, * select it exclusively */ if (!visualizer.getSelectedMotes().contains(mote)) { visualizer.getSelectedMotes().clear(); visualizer.getSelectedMotes().add(mote); } - for (Mote m : visualizer.getSelectedMotes()) { - mote.getSimulation().removeMote(m); - } + /* Invoke 'delete_motes' action */ + visualizer.canvas.getActionMap().get("delete_motes").actionPerformed(null); } };