Don't parse input id, leave it as it is
[jalview.git] / src / jalview / appletgui / AnnotationLabels.java
index 38013d1..1df7455 100755 (executable)
@@ -29,6 +29,7 @@ public class AnnotationLabels
 {\r
   boolean active = false;\r
   AlignmentPanel ap;\r
+  AlignViewport av;\r
   boolean resizing = false;\r
   int oldY, mouseX;\r
   static String ADDNEW = "Add new row";\r
@@ -42,6 +43,7 @@ public class AnnotationLabels
   public AnnotationLabels(AlignmentPanel ap)\r
   {\r
     this.ap = ap;\r
+    this.av = ap.av;\r
     setLayout(null);\r
     addMouseListener(new MouseAdapter()\r
     {\r
@@ -52,6 +54,12 @@ public class AnnotationLabels
     });\r
   }\r
 \r
+  public AnnotationLabels(AlignViewport av)\r
+{\r
+  this.av = av;\r
+}\r
+\r
+\r
   public void setScrollOffset(int y)\r
   {\r
     scrollOffset = y;\r
@@ -60,7 +68,7 @@ public class AnnotationLabels
 \r
   public void actionPerformed(ActionEvent evt)\r
   {\r
-    AlignmentAnnotation[] aa = ap.av.alignment.getAlignmentAnnotation();\r
+    AlignmentAnnotation[] aa = av.alignment.getAlignmentAnnotation();\r
 \r
     if (evt.getActionCommand().equals(HIDE))\r
     {\r
@@ -75,7 +83,7 @@ public class AnnotationLabels
     }\r
     else if (evt.getActionCommand().equals(OUTPUT_TEXT))\r
     {\r
-      CutAndPasteTransfer cap = new CutAndPasteTransfer(false);\r
+      CutAndPasteTransfer cap = new CutAndPasteTransfer(false, ap.alignFrame.applet);\r
       Frame frame = new Frame();\r
       frame.add(cap);\r
       jalview.bin.JalviewLite.addFrame(frame,\r
@@ -121,16 +129,35 @@ public class AnnotationLabels
     item = new MenuItem(OUTPUT_TEXT);\r
     item.addActionListener(this);\r
     pop.add(item);\r
-    pop.show(this, evt.getX(), evt.getY());\r
+\r
+    if (aa[selectedRow].label.equals("Consensus"))\r
+    {\r
+      pop.addSeparator();\r
+      final CheckboxMenuItem cbmi = new CheckboxMenuItem(\r
+          "Ignore Gaps In Consensus",\r
+          ap.av.getIgnoreGapsConsensus());\r
+\r
+      cbmi.addItemListener(new ItemListener()\r
+      {\r
+        public void itemStateChanged(ItemEvent e)\r
+        {\r
+          ap.av.setIgnoreGapsConsensus(cbmi.getState());\r
+          ap.repaint();\r
+        }\r
+      });\r
+      pop.add(cbmi);\r
+    }\r
+\r
+     pop.show(this, evt.getX(), evt.getY());\r
 \r
   }\r
 \r
   public void paint(Graphics g)\r
   {\r
-    drawComponent(g);\r
+    drawComponent(g, getSize().width);\r
   }\r
 \r
-  public void drawComponent(Graphics g)\r
+  public void drawComponent(Graphics g, int width)\r
   {\r
     FontMetrics fm = g.getFontMetrics(g.getFont());\r
     g.setColor(Color.white);\r
@@ -139,7 +166,7 @@ public class AnnotationLabels
     g.translate(0, scrollOffset);\r
     g.setColor(Color.black);\r
 \r
-    AlignmentAnnotation[] aa = ap.av.alignment.getAlignmentAnnotation();\r
+    AlignmentAnnotation[] aa = av.alignment.getAlignmentAnnotation();\r
     int y = g.getFont().getSize();\r
     int x = 0;\r
 \r
@@ -152,7 +179,7 @@ public class AnnotationLabels
           continue;\r
         }\r
 \r
-        x = getSize().width - fm.stringWidth(aa[i].label) - 3;\r
+        x = width - fm.stringWidth(aa[i].label) - 3;\r
 \r
         if (aa[i].isGraph)\r
         {\r