2a126305276a11b49f749050e6d28a08b6d50388
[jalview.git] / src / jalview / gui / AlignExportSettings.java
1 /*
2  * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
3  * Copyright (C) $$Year-Rel$$ The Jalview Authors
4  * 
5  * This file is part of Jalview.
6  * 
7  * Jalview is free software: you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License 
9  * as published by the Free Software Foundation, either version 3
10  * of the License, or (at your option) any later version.
11  *  
12  * Jalview is distributed in the hope that it will be useful, but 
13  * WITHOUT ANY WARRANTY; without even the implied warranty 
14  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
15  * PURPOSE.  See the GNU General Public License for more details.
16  * 
17  * You should have received a copy of the GNU General Public License
18  * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
19  * The Jalview Authors are detailed in the 'AUTHORS' file.
20  */
21 package jalview.gui;
22
23 import jalview.api.AlignExportSettingI;
24 import jalview.bin.Jalview;
25 import jalview.jbgui.GAlignExportSettings;
26 import jalview.util.MessageManager;
27
28 import java.awt.event.ActionEvent;
29 import java.awt.event.WindowAdapter;
30 import java.awt.event.WindowEvent;
31
32 import javax.swing.JDialog;
33 import javax.swing.JOptionPane;
34
35 @SuppressWarnings("serial")
36 public class AlignExportSettings extends GAlignExportSettings implements
37         AlignExportSettingI
38 {
39   boolean cancelled = false;
40
41   JDialog dialog;
42
43   public AlignExportSettings(boolean hasHiddenSeq, boolean hasHiddenCols,
44           String alignFileFormat)
45   {
46     super(hasHiddenSeq, hasHiddenCols, alignFileFormat);
47     if (!Jalview.isHeadlessMode() && isShowDialog())
48     {
49
50       JOptionPane pane = new JOptionPane(null, JOptionPane.DEFAULT_OPTION,
51               JOptionPane.DEFAULT_OPTION, null, new Object[] { this });
52       dialog = pane.createDialog(Desktop.desktop,
53               MessageManager.getString("label.export_settings"));
54       dialog.addWindowListener(new WindowAdapter()
55       {
56         public void windowClosing(WindowEvent e)
57         {
58           cancelled = true;
59         }
60       });
61       dialog.pack();
62       dialog.setVisible(true);
63       dialog.setContentPane(this);
64       dialog.validate();
65
66     }
67   }
68
69   public void ok_actionPerformed(ActionEvent e)
70   {
71     cancelled = false;
72     dialog.setVisible(false);
73     dialog.dispose();
74   }
75
76   public void cancel_actionPerformed(ActionEvent e)
77   {
78     cancelled = true;
79     dialog.setVisible(false);
80     dialog.dispose();
81   }
82
83   @Override
84   public boolean isExportHiddenSequences()
85   {
86     return chkHiddenSeqs.isSelected();
87   }
88
89   @Override
90   public boolean isExportHiddenColumns()
91   {
92     return chkHiddenCols.isSelected();
93   }
94
95   @Override
96   public boolean isExportAnnotations()
97   {
98     return chkExportAnnots.isSelected();
99   }
100
101   @Override
102   public boolean isExportFeatures()
103   {
104     return chkExportFeats.isSelected();
105   }
106
107   @Override
108   public boolean isExportGroups()
109   {
110     return chkExportGrps.isSelected();
111   }
112
113   public boolean isCancelled()
114   {
115     return cancelled;
116   }
117
118 }