JAL-3048 JAL-3056 reinstate save/load project, colour scheme dialogs in
[jalview.git] / src / jalview / gui / FeatureSettings.java
index a0bd69e..ea3a667 100644 (file)
@@ -22,7 +22,6 @@ package jalview.gui;
 
 import jalview.api.FeatureColourI;
 import jalview.api.FeatureSettingsControllerI;
-import jalview.bin.Jalview;
 import jalview.datamodel.AlignmentI;
 import jalview.datamodel.SequenceI;
 import jalview.datamodel.features.FeatureMatcher;
@@ -39,13 +38,13 @@ import jalview.schemabinding.version2.MatcherSet;
 import jalview.schemes.FeatureColour;
 import jalview.util.MessageManager;
 import jalview.util.Platform;
+import jalview.util.dialogrunner.RunResponse;
 import jalview.viewmodel.seqfeatures.FeatureRendererModel.FeatureSettingsBean;
 
 import java.awt.BorderLayout;
 import java.awt.Color;
 import java.awt.Component;
 import java.awt.Dimension;
-import java.awt.FlowLayout;
 import java.awt.Font;
 import java.awt.Graphics;
 import java.awt.GridLayout;
@@ -874,23 +873,20 @@ public class FeatureSettings extends JPanel
    */
   void load()
   {
-    // TODO: JAL-3048 relies on Castor XML parsing: not needed for JS-jalview core
-    // functionalty
-
     JalviewFileChooser chooser = new JalviewFileChooser("fc",
             SEQUENCE_FEATURE_COLOURS);
     chooser.setFileView(new JalviewFileView());
     chooser.setDialogTitle(
             MessageManager.getString("label.load_feature_colours"));
     chooser.setToolTipText(MessageManager.getString("action.load"));
-
-    int value = chooser.showOpenDialog(this);
-
-    if (value == JalviewFileChooser.APPROVE_OPTION)
-    {
-      File file = chooser.getSelectedFile();
-      load(file);
-    }
+    chooser.response(new RunResponse(JalviewFileChooser.APPROVE_OPTION){
+
+               @Override
+               public void run() {
+                     File file = chooser.getSelectedFile();
+                     load(file);
+               }});
+    chooser.showOpenDialog(this);
   }
 
   /**
@@ -959,20 +955,18 @@ public class FeatureSettings extends JPanel
    */
   void save()
   {
-    // TODO: JAL-3048 not needed for Jalview-JS - save colours
     JalviewFileChooser chooser = new JalviewFileChooser("fc",
             SEQUENCE_FEATURE_COLOURS);
     chooser.setFileView(new JalviewFileView());
     chooser.setDialogTitle(
             MessageManager.getString("label.save_feature_colours"));
     chooser.setToolTipText(MessageManager.getString("action.save"));
-
-    int value = chooser.showSaveDialog(this);
-
-    if (value == JalviewFileChooser.APPROVE_OPTION)
-    {
-      save(chooser.getSelectedFile());
-    }
+    int option = chooser.showSaveDialog(this);
+       if (option == JalviewFileChooser.APPROVE_OPTION) 
+       {
+         File file = chooser.getSelectedFile();
+         save(file);
+       }
   }
 
   /**
@@ -1345,14 +1339,8 @@ public class FeatureSettings extends JPanel
     JPanel buttonPanel = new JPanel();
     buttonPanel.add(ok);
     buttonPanel.add(cancel);
-    if (!Jalview.isJS())
-    {
-      /*
-       * no save/load XML in JalviewJS for now
-       */
-      buttonPanel.add(loadColours);
-      buttonPanel.add(saveColours);
-    }
+    buttonPanel.add(loadColours);
+    buttonPanel.add(saveColours);
     bigPanel.add(scrollPane, BorderLayout.CENTER);
     settingsPane.add(bigPanel, BorderLayout.CENTER);
     settingsPane.add(buttonPanel, BorderLayout.SOUTH);