eliminate utf8 compilation errors
[jalview.git] / src / jalview / appletgui / AnnotationLabels.java
index ebc4ebb..2184851 100755 (executable)
@@ -249,9 +249,13 @@ public class AnnotationLabels extends Panel implements ActionListener,
   public void mousePressed(MouseEvent evt)
   {
     selectedRow = getSelectedRow(evt.getY() - scrollOffset);
-
     AlignmentAnnotation[] aa = ap.av.alignment.getAlignmentAnnotation();
 
+    // DETECT RIGHT MOUSE BUTTON IN AWT
+    if ((evt.getModifiers() & InputEvent.BUTTON3_MASK) == InputEvent.BUTTON3_MASK)
+    {
+
+
     PopupMenu popup = new PopupMenu("Annotations");
 
     MenuItem item = new MenuItem(ADDNEW);
@@ -309,7 +313,53 @@ public class AnnotationLabels extends Panel implements ActionListener,
     }
 
     popup.show(this, evt.getX(), evt.getY());
+    } else {
+      // selection action.
+      if (selectedRow > -1 && selectedRow < aa.length)
+      {
+        if (aa[selectedRow].groupRef != null)
+        {
+          if (evt.getClickCount() >= 2)
+          {
+            // todo: make the ap scroll to the selection - not necessary, first click highlights/scrolls, second selects
+            ap.seqPanel.ap.idPanel.highlightSearchResults(null);
+            ap.av.setSelectionGroup(// new SequenceGroup(
+            aa[selectedRow].groupRef); // );
+            ap.av.sendSelection();
+            ap.paintAlignment(false);
+            PaintRefresher.Refresh(ap, ap.av.getSequenceSetId());
+          }
+          else
+          {
+            ap.seqPanel.ap.idPanel
+                    .highlightSearchResults(aa[selectedRow].groupRef
+                            .getSequences(null));
+          }
+          return;
+        }
+        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);
+          }
+          else if (evt.getClickCount() >= 2)
+          {
+            ap.seqPanel.ap.idPanel.highlightSearchResults(null);
+            SequenceGroup sg = new SequenceGroup();
+            sg.addSequence(aa[selectedRow].sequenceRef, false);
+            ap.av.setSelectionGroup(sg);
+            ap.paintAlignment(false);
+            PaintRefresher.Refresh(ap, ap.av.getSequenceSetId());
+            ap.av.sendSelection();
+          }
+
+        }
+      }
 
+    }
   }
 
   /**