X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FFeatureSettings.java;h=6d8457412b414866ca8646372e3b40e925993309;hb=afe4b88500a5d61bc8d312909cfdde2b7cdd53df;hp=3eccdf00a8112419890a1b22dab9b94c6cfaa3bd;hpb=fbd682c00e543eadb48074ac354ade57c04c20cb;p=jalview.git diff --git a/src/jalview/gui/FeatureSettings.java b/src/jalview/gui/FeatureSettings.java index 3eccdf0..6d84574 100644 --- a/src/jalview/gui/FeatureSettings.java +++ b/src/jalview/gui/FeatureSettings.java @@ -1919,6 +1919,9 @@ 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 +1929,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 +1948,10 @@ 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 +2077,11 @@ 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 +2113,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 @@ -2153,6 +2167,7 @@ public class FeatureSettings extends JPanel refreshDisplay(); } } + class FeatureIcon implements Icon { FeatureColourI gcol;