Merge branch 'develop' into features/JAL-1705_ensembl
[jalview.git] / src / jalview / gui / AlignExportSettings.java
index fe7c940..2a12630 100644 (file)
@@ -1,79 +1,83 @@
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
+ * 
+ * This file is part of Jalview.
+ * 
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License 
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *  
+ * Jalview is distributed in the hope that it will be useful, but 
+ * WITHOUT ANY WARRANTY; without even the implied warranty 
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
+ * PURPOSE.  See the GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ */
 package jalview.gui;
 
+import jalview.api.AlignExportSettingI;
+import jalview.bin.Jalview;
+import jalview.jbgui.GAlignExportSettings;
+import jalview.util.MessageManager;
+
 import java.awt.event.ActionEvent;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
 
 import javax.swing.JDialog;
-import javax.swing.JInternalFrame;
 import javax.swing.JOptionPane;
 
-import jalview.api.AlignExportSettingI;
-import jalview.jbgui.GAlignExportSettings;
-
 @SuppressWarnings("serial")
 public class AlignExportSettings extends GAlignExportSettings implements
         AlignExportSettingI
 {
-  protected JInternalFrame frame;
-
   boolean cancelled = false;
 
-  private int width = 450;
-
-  private int height = 200;
-
   JDialog dialog;
 
   public AlignExportSettings(boolean hasHiddenSeq, boolean hasHiddenCols,
           String alignFileFormat)
   {
     super(hasHiddenSeq, hasHiddenCols, alignFileFormat);
-
-    // frame = new JInternalFrame();
-    // frame.setContentPane(this);
-    // frame.setLayer(JLayeredPane.PALETTE_LAYER);
-    // Desktop.addInternalFrame(frame, "Export Settings", width, height);
-
-    JOptionPane pane = new JOptionPane(null, JOptionPane.DEFAULT_OPTION,
-            JOptionPane.DEFAULT_OPTION, null, new Object[]
-            { this });
-    dialog = pane.createDialog(Desktop.desktop, "Export Settings");
-
-    // dialog = new JDialog(Desktop.instance, true);
-    // dialog.setTitle("Export Settings");
-
-    dialog.pack();
-    dialog.setVisible(true);
-
-    dialog.setContentPane(this);
-    dialog.validate();
-
+    if (!Jalview.isHeadlessMode() && isShowDialog())
+    {
+
+      JOptionPane pane = new JOptionPane(null, JOptionPane.DEFAULT_OPTION,
+              JOptionPane.DEFAULT_OPTION, null, new Object[] { this });
+      dialog = pane.createDialog(Desktop.desktop,
+              MessageManager.getString("label.export_settings"));
+      dialog.addWindowListener(new WindowAdapter()
+      {
+        public void windowClosing(WindowEvent e)
+        {
+          cancelled = true;
+        }
+      });
+      dialog.pack();
+      dialog.setVisible(true);
+      dialog.setContentPane(this);
+      dialog.validate();
+
+    }
   }
 
-  // public static void main(String[] args)
-  // {
-  // new AlignExportSettings(false, false, false);
-  // }
-
-  // public void cancel_actionPerformed(ActionEvent e)
-  // {
-    // try
-    // {
-    // frame.setClosed(true);
-    // } catch (Exception ex)
-    // {
-    // }
-  // }
-
   public void ok_actionPerformed(ActionEvent e)
   {
     cancelled = false;
     dialog.setVisible(false);
+    dialog.dispose();
   }
 
   public void cancel_actionPerformed(ActionEvent e)
   {
     cancelled = true;
     dialog.setVisible(false);
+    dialog.dispose();
   }
 
   @Override
@@ -106,7 +110,6 @@ public class AlignExportSettings extends GAlignExportSettings implements
     return chkExportGrps.isSelected();
   }
 
-  @Override
   public boolean isCancelled()
   {
     return cancelled;