JAL-674 typo
[jalview.git] / src / jalview / gui / AnnotationLabels.java
index b553f56..fdb3975 100755 (executable)
@@ -43,21 +43,21 @@ import jalview.util.MessageManager;
 public class AnnotationLabels extends JPanel implements MouseListener,
         MouseMotionListener, ActionListener
 {
-  static String TOGGLE_LABELSCALE = "Scale Label to Column";
+  String TOGGLE_LABELSCALE = MessageManager.getString("label.scale_label_to_column");
 
-  static String ADDNEW = "Add New Row";
+  String ADDNEW = MessageManager.getString("label.add_new_row");
 
-  static String EDITNAME = "Edit Label/Description";
+  String EDITNAME = MessageManager.getString("label.edit_label_description");
 
-  static String HIDE = "Hide This Row";
+  String HIDE = MessageManager.getString("label.hide_row");
 
-  static String DELETE = "Delete This Row";
+  String DELETE = MessageManager.getString("label.delete_row");
 
-  static String SHOWALL = "Show All Hidden Rows";
+  String SHOWALL = MessageManager.getString("label.show_all_hidden_rows");
 
-  static String OUTPUT_TEXT = "Export Annotation";
+  String OUTPUT_TEXT = MessageManager.getString("label.export_annotation");
 
-  static String COPYCONS_SEQ = "Copy Consensus Sequence";
+  String COPYCONS_SEQ = MessageManager.getString("label.copy_consensus_sequence");
 
   boolean resizePanel = false;
 
@@ -509,17 +509,40 @@ public class AnnotationLabels extends JPanel implements MouseListener,
         }
         else if (aa[selectedRow].sequenceRef != null)
         {
-          Vector sr = new Vector();
-          sr.addElement(aa[selectedRow].sequenceRef);
           if (evt.getClickCount() == 1)
           {
-            ap.seqPanel.ap.idPanel.highlightSearchResults(sr);
+            ap.seqPanel.ap.idPanel.highlightSearchResults(Arrays
+                    .asList(new SequenceI[]
+                    { aa[selectedRow].sequenceRef }));
           }
           else if (evt.getClickCount() >= 2)
           {
             ap.seqPanel.ap.idPanel.highlightSearchResults(null);
-            SequenceGroup sg = new SequenceGroup();
-            sg.addSequence(aa[selectedRow].sequenceRef, false);
+            SequenceGroup sg = ap.av.getSelectionGroup();
+            if (sg!=null)
+            {
+              // we make a copy rather than edit the current selection if no modifiers pressed
+              // see Enhancement JAL-1557
+              if (!(evt.isControlDown() || evt.isShiftDown()))
+              {
+                sg = new SequenceGroup(sg);
+                sg.clear();
+                sg.addSequence(aa[selectedRow].sequenceRef, false);
+              } else {
+                if (evt.isControlDown())
+                {
+                  sg.addOrRemove(aa[selectedRow].sequenceRef, true);
+                } else {
+                  // notionally, we should also add intermediate sequences from last added sequence ?
+                  sg.addSequence(aa[selectedRow].sequenceRef, true);
+                }
+              }
+            } else {
+              sg = new SequenceGroup();
+              sg.setStartRes(0);
+              sg.setEndRes(ap.av.getAlignment().getWidth()-1);
+              sg.addSequence(aa[selectedRow].sequenceRef, false);
+            }
             ap.av.setSelectionGroup(sg);
             ap.av.sendSelection();
             ap.paintAlignment(false);