JAL-3905 Fix: wait for response when sending mouseovers. Combined remove old label...
[jalview.git] / src / jalview / ext / rbvi / chimera / JalviewChimeraBinding.java
index 66420b0..7169fa2 100644 (file)
@@ -342,6 +342,13 @@ public abstract class JalviewChimeraBinding extends AAStructureBindingModel
               "Response from command ('" + cmd + "') was:\n" + lastReply); 
       }
     }
+    else
+    {
+      if (Cache.log.isDebugEnabled())
+      {
+        Cache.log.debug("Command executed: " + cmd);
+      }
+    }
 
     return reply;
   }
@@ -418,19 +425,29 @@ public abstract class JalviewChimeraBinding extends AAStructureBindingModel
     {
       return;
     }
-
+    if (!found)
+    {
+      // not a valid residue label command, so clear
+      cmd.setLength(0);
+    }
     /*
-     * unshow the label for the previous residue
+     * prepend with command
+     * to unshow the label for the previous residue
      */
     if (lastHighlightCommand != null)
     {
-      executeCommand(false,  null,  new StructureCommand("~" + lastHighlightCommand));
+      cmd.insert(0, ";");
+      cmd.insert(0,lastHighlightCommand);
+      cmd.insert(0,"~");
+      
     }
-    if (found)
-    {
-      executeCommand(false,  null,  new StructureCommand(command));
+    if (cmd.length()>0) {
+      executeCommand(true,  null,  new StructureCommand(cmd.toString()));
+    }
+    
+    if (found) {
+      this.lastHighlightCommand = command;
     }
-    this.lastHighlightCommand = command;
   }
 
   /**