JAL-3187 view controller UI api method to show feature settings UI

[jalview.git] / src / jalview / gui / FeatureSettings.java
index a5585ce..11d5e39 100644 (file)
@@ -161,10 +161,6 @@ public class FeatureSettings extends JPanel
 
   JSlider transparency = new JSlider();
 
-  JCheckBox showComplement;
-
-  JCheckBox showComplementOnTop;
-
   /*
    * when true, constructor is still executing - so ignore UI events
    */
@@ -286,7 +282,8 @@ public class FeatureSettings extends JPanel
       @Override
       public void mousePressed(MouseEvent evt)
       {
-        selectedRow = table.rowAtPoint(evt.getPoint());
+        Point pt = evt.getPoint();
+        selectedRow = table.rowAtPoint(pt);
         String type = (String) table.getValueAt(selectedRow, TYPE_COLUMN);
         if (evt.isPopupTrigger())
         {
@@ -294,13 +291,15 @@ public class FeatureSettings extends JPanel
           popupSort(selectedRow, type, colour, fr.getMinMax(), evt.getX(),
                   evt.getY());
         }
-        else if (evt.getClickCount() == 2)
+        else if (evt.getClickCount() == 2
+                && table.columnAtPoint(pt) == TYPE_COLUMN)
         {
           boolean invertSelection = evt.isAltDown();
           boolean toggleSelection = Platform.isControlDown(evt);
           boolean extendSelection = evt.isShiftDown();
           fr.ap.alignFrame.avc.markColumnsContainingFeatures(
                   invertSelection, extendSelection, toggleSelection, type);
+          fr.ap.av.sendSelection();
         }
       }
 
@@ -453,6 +452,7 @@ public class FeatureSettings extends JPanel
       {
         fr.ap.alignFrame.avc.markColumnsContainingFeatures(false, false,
                 false, type);
+        fr.ap.av.sendSelection();
       }
     });
     JMenuItem clearCols = new JMenuItem(MessageManager
@@ -464,6 +464,7 @@ public class FeatureSettings extends JPanel
       {
         fr.ap.alignFrame.avc.markColumnsContainingFeatures(true, false,
                 false, type);
+        fr.ap.av.sendSelection();
       }
     });
     JMenuItem hideCols = new JMenuItem(
@@ -474,6 +475,7 @@ public class FeatureSettings extends JPanel
       public void actionPerformed(ActionEvent arg0)
       {
         fr.ap.alignFrame.hideFeatureColumns(type, true);
+        fr.ap.av.sendSelection();
       }
     });
     JMenuItem hideOtherCols = new JMenuItem(
@@ -484,6 +486,7 @@ public class FeatureSettings extends JPanel
       public void actionPerformed(ActionEvent arg0)
       {
         fr.ap.alignFrame.hideFeatureColumns(type, false);
+        fr.ap.av.sendSelection();
       }
     });
     men.add(selCols);
@@ -1275,8 +1278,12 @@ public class FeatureSettings extends JPanel
             MessageManager.getString("label.transparency_tip"));
 
     boolean nucleotide = af.getViewport().getAlignment().isNucleotide();
-    showComplement = new JCheckBox(
-            "Show " + (nucleotide ? "protein" : "CDS") + " features");
+    String text = MessageManager.formatMessage("label.show_linked_features",
+            nucleotide
+                    ? MessageManager.getString("label.protein")
+                            .toLowerCase()
+                    : "CDS");
+    JCheckBox showComplement = new JCheckBox(text);
     showComplement.setSelected(af.getViewport().isShowComplementFeatures());
     showComplement.addActionListener(new ActionListener()
     {
@@ -1289,7 +1296,8 @@ public class FeatureSettings extends JPanel
       }
     });
 
-    showComplementOnTop = new JCheckBox("on top");
+    JCheckBox showComplementOnTop = new JCheckBox(
+            MessageManager.getString("label.on_top"));
     showComplementOnTop
             .setSelected(af.getViewport().isShowComplementFeaturesOnTop());
     showComplementOnTop.addActionListener(new ActionListener()