Merge branch 'feature/JAL-4315_fc_draganddrop' into develop
[jalview.git] / src / jalview / gui / FeatureSettings.java
index 3eccdf0..57e5943 100644 (file)
@@ -1919,6 +1919,8 @@ public class FeatureSettings extends JPanel
            */
           String ttl = MessageManager
                   .formatMessage("label.select_colour_for", type);
+          Object last=(Boolean)table.getValueAt(selectedRow, SHOW_COLUMN);
+          table.setValueAt(Boolean.TRUE, selectedRow, SHOW_COLUMN);
           ColourChooserListener listener = new ColourChooserListener()
           {
             @Override
@@ -1926,12 +1928,14 @@ public class FeatureSettings extends JPanel
             {
               currentColor = new FeatureColour(c);
               table.setValueAt(currentColor, rowSelected, COLOUR_COLUMN);
+              table.setValueAt(Boolean.TRUE, selectedRow, SHOW_COLUMN);
               fireEditingStopped();
             }
 
             @Override
             public void cancel()
             {
+              table.setValueAt(last, selectedRow, SHOW_COLUMN);
               fireEditingStopped();
             }
           };
@@ -1943,7 +1947,9 @@ public class FeatureSettings extends JPanel
           /*
            * variable colour and filters dialog
            */
-          chooser = new FeatureTypeSettings(fr, type);
+          boolean last=(Boolean)table.getValueAt(selectedRow, SHOW_COLUMN);
+          table.setValueAt(Boolean.TRUE, selectedRow, SHOW_COLUMN);
+          chooser = new FeatureTypeSettings(fr, type,last);
           if (!Platform.isJS())
           /**
            * Java only
@@ -2069,7 +2075,9 @@ public class FeatureSettings extends JPanel
     {
       if (button == e.getSource())
       {
-        FeatureTypeSettings chooser = new FeatureTypeSettings(fr, type);
+        boolean last = fr.getFeaturesDisplayed().isVisible(type);
+        ((FeatureTableModel) table.getModel()).setValueAt(Boolean.TRUE, rowSelected, SHOW_COLUMN);
+        FeatureTypeSettings chooser = new FeatureTypeSettings(fr, type,last);
         chooser.addActionListener(this);
         chooser.setRequestFocusEnabled(true);
         chooser.requestFocus();
@@ -2101,6 +2109,8 @@ public class FeatureSettings extends JPanel
                 .getData()[rowSelected];
         data[COLOUR_COLUMN] = currentColor;
         data[FILTER_COLUMN] = currentFilter;
+        data[SHOW_COLUMN] = fr.getFeaturesDisplayed().isVisible(type);
+                
         fireEditingStopped();
         // SwingJS needs an explicit repaint() here,
         // rather than relying upon no validation having