JAL-3048 refactored export settings to bean+dialog with callbacks - basically works...
[jalview.git] / src / jalview / jbgui / GAlignExportSettings.java
index 203e1c9..cfa57c8 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b2)
- * Copyright (C) 2015 The Jalview Authors
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -20,6 +20,7 @@
  */
 package jalview.jbgui;
 
+import jalview.io.FileFormatI;
 import jalview.util.MessageManager;
 
 import java.awt.BorderLayout;
@@ -61,28 +62,15 @@ public abstract class GAlignExportSettings extends JPanel
 
   protected JCheckBox chkExportGrps = new JCheckBox();
 
-  JButton btnOk = new JButton();
-
-  JButton btnCancel = new JButton();
-
   private boolean hasHiddenSeq, hasHiddenCols, isComplexAlignFile,
           showDialog;
 
   public GAlignExportSettings(boolean hasHiddenSeq, boolean hasHiddenCols,
-          String alignFileFormat)
+          FileFormatI format)
   {
     this.hasHiddenSeq = hasHiddenSeq;
     this.hasHiddenCols = hasHiddenCols;
-    String[] complexFormats = { "JSON", "HTML" };
-
-    for (String format : complexFormats)
-    {
-      if (format.equalsIgnoreCase(alignFileFormat))
-      {
-        this.isComplexAlignFile = true;
-        break;
-      }
-    }
+    this.isComplexAlignFile = format.isComplexAlignFile();
     if (this.hasHiddenCols || this.hasHiddenSeq || this.isComplexAlignFile)
     {
       this.showDialog = true;
@@ -92,17 +80,15 @@ public abstract class GAlignExportSettings extends JPanel
 
   public void init()
   {
-    chkHiddenSeqs.setText(MessageManager
-            .getString("action.export_hidden_sequences"));
-    chkHiddenCols.setText(MessageManager
-            .getString("action.export_hidden_columns"));
-    chkExportAnnots.setText(MessageManager
-            .getString("action.export_annotations"));
-    chkExportFeats.setText(MessageManager
-            .getString("action.export_features"));
+    chkHiddenSeqs.setText(
+            MessageManager.getString("action.export_hidden_sequences"));
+    chkHiddenCols.setText(
+            MessageManager.getString("action.export_hidden_columns"));
+    chkExportAnnots
+            .setText(MessageManager.getString("action.export_annotations"));
+    chkExportFeats
+            .setText(MessageManager.getString("action.export_features"));
     chkExportGrps.setText(MessageManager.getString("action.export_groups"));
-    btnOk.setText(MessageManager.getString("action.ok"));
-    btnCancel.setText(MessageManager.getString("action.cancel"));
     chkAll.setText(MessageManager.getString("action.select_all"));
 
     hiddenRegionConfPanel.setLayout(hiddenRegionLayout);
@@ -111,28 +97,13 @@ public abstract class GAlignExportSettings extends JPanel
 
     chkAll.addItemListener(new ItemListener()
     {
+      @Override
       public void itemStateChanged(ItemEvent e)
       {
         checkAllAction();
       }
     });
 
-    btnOk.addActionListener(new ActionListener()
-    {
-      public void actionPerformed(ActionEvent e)
-      {
-        ok_actionPerformed(e);
-      }
-    });
-
-    btnCancel.addActionListener(new ActionListener()
-    {
-      public void actionPerformed(ActionEvent e)
-      {
-        cancel_actionPerformed(e);
-      }
-    });
-
     // hiddenRegionConfPanel.add(chkAll, BorderLayout.NORTH);
     hiddenRegionConfPanel.add(chkHiddenSeqs, BorderLayout.CENTER);
     hiddenRegionConfPanel.add(chkHiddenCols, BorderLayout.SOUTH);
@@ -155,9 +126,6 @@ public abstract class GAlignExportSettings extends JPanel
       optionsPanel.add(hiddenRegionConfPanel);
     }
 
-    actionPanel.add(btnCancel);
-    actionPanel.add(btnOk);
-
     add(optionsPanel, BorderLayout.NORTH);
     add(actionPanel, BorderLayout.SOUTH);
 
@@ -170,10 +138,10 @@ public abstract class GAlignExportSettings extends JPanel
     chkHiddenCols.setSelected(chkHiddenCols.isEnabled() && isSelected);
     chkExportAnnots.setSelected(isComplexAlignFile
             && chkExportAnnots.isEnabled() && isSelected);
-    chkExportFeats.setSelected(isComplexAlignFile
-            && chkExportFeats.isEnabled() && isSelected);
-    chkExportGrps.setSelected(isComplexAlignFile
-            && chkExportGrps.isEnabled() && isSelected);
+    chkExportFeats.setSelected(
+            isComplexAlignFile && chkExportFeats.isEnabled() && isSelected);
+    chkExportGrps.setSelected(
+            isComplexAlignFile && chkExportGrps.isEnabled() && isSelected);
   }
 
   public boolean isShowDialog()