JAL-2383 restore PID colour threshold from project; enable/disable
[jalview.git] / src / jalview / appletgui / APopupMenu.java
index 8f7a15b..209ca22 100644 (file)
@@ -93,8 +93,6 @@ public class APopupMenu extends java.awt.PopupMenu implements
 
   protected MenuItem buriedColour = new MenuItem();
 
-  protected CheckboxMenuItem abovePIDColour = new CheckboxMenuItem();
-
   protected MenuItem userDefinedColour = new MenuItem();
 
   protected MenuItem PIDColour = new MenuItem();
@@ -103,8 +101,14 @@ public class APopupMenu extends java.awt.PopupMenu implements
 
   MenuItem noColourmenuItem = new MenuItem();
 
+  protected CheckboxMenuItem abovePIDColour = new CheckboxMenuItem();
+
+  MenuItem modifyPID = new MenuItem();
+
   protected CheckboxMenuItem conservationMenuItem = new CheckboxMenuItem();
 
+  MenuItem modifyConservation = new MenuItem();
+
   final AlignmentPanel ap;
 
   MenuItem unGroupMenuItem = new MenuItem();
@@ -248,7 +252,9 @@ public class APopupMenu extends java.awt.PopupMenu implements
         if (sg.cs != null)
         {
           abovePIDColour.setState(sg.cs.getThreshold() > 0);
+          modifyPID.setEnabled(abovePIDColour.getState());
           conservationMenuItem.setState(sg.cs.conservationApplied());
+          modifyConservation.setEnabled(conservationMenuItem.getState());
         }
       }
     }
@@ -589,6 +595,14 @@ public class APopupMenu extends java.awt.PopupMenu implements
     {
       noColourmenuItem_actionPerformed();
     }
+    else if (source == modifyConservation)
+    {
+      conservationMenuItem_itemStateChanged();
+    }
+    else if (source == modifyPID)
+    {
+      abovePIDColour_itemStateChanged();
+    }
     else if (source == unGroupMenuItem)
     {
       unGroupMenuItem_actionPerformed();
@@ -902,6 +916,14 @@ public class APopupMenu extends java.awt.PopupMenu implements
     nucleotideMenuItem.addActionListener(this);
     conservationMenuItem.addItemListener(this);
     abovePIDColour.addItemListener(this);
+    modifyPID.setLabel(MessageManager
+            .getString("label.modify_identity_threshold"));
+    modifyPID.addActionListener(this);
+    modifyConservation.setLabel(MessageManager
+            .getString("label.modify_conservation_threshold"));
+    modifyPID.setEnabled(abovePIDColour.getState());
+    modifyConservation.setEnabled(conservationMenuItem.getState());
+    modifyConservation.addActionListener(this);
     colourMenu.setLabel(MessageManager.getString("label.group_colour"));
     showBoxes.setLabel(MessageManager.getString("action.boxes"));
     showBoxes.setState(true);
@@ -957,7 +979,9 @@ public class APopupMenu extends java.awt.PopupMenu implements
     colourMenu.add(userDefinedColour);
     colourMenu.addSeparator();
     colourMenu.add(abovePIDColour);
+    colourMenu.add(modifyPID);
     colourMenu.add(conservationMenuItem);
+    colourMenu.add(modifyConservation);
 
     noColourmenuItem.setLabel(MessageManager.getString("label.none"));
     noColourmenuItem.addActionListener(this);
@@ -1119,11 +1143,11 @@ public class APopupMenu extends java.awt.PopupMenu implements
     else
     // remove PIDColouring
     {
+      SliderPanel.hidePIDSlider();
       sg.cs.setThreshold(0, ap.av.isIgnoreGapsConsensus());
     }
-
+    modifyPID.setEnabled(abovePIDColour.getState());
     refresh();
-
   }
 
   protected void userDefinedColour_actionPerformed()
@@ -1178,9 +1202,10 @@ public class APopupMenu extends java.awt.PopupMenu implements
     else
     // remove ConservationColouring
     {
+      SliderPanel.hideConservationSlider();
       sg.cs.setConservation(null);
     }
-
+    modifyConservation.setEnabled(conservationMenuItem.getState());
     refresh();
   }