41dc101c13f6afd41b765cafdd1e4a20e3debbf5
[jalview.git] / src / jalview / gui / AlignExportSettings.java
1 package jalview.gui;
2
3 import jalview.api.AlignExportSettingI;
4 import jalview.bin.Jalview;
5 import jalview.jbgui.GAlignExportSettings;
6 import jalview.util.MessageManager;
7
8 import java.awt.event.ActionEvent;
9 import java.awt.event.WindowAdapter;
10 import java.awt.event.WindowEvent;
11
12 import javax.swing.JDialog;
13 import javax.swing.JOptionPane;
14
15 @SuppressWarnings("serial")
16 public class AlignExportSettings extends GAlignExportSettings implements
17         AlignExportSettingI
18 {
19   boolean cancelled = false;
20
21   JDialog dialog;
22
23   public AlignExportSettings(boolean hasHiddenSeq, boolean hasHiddenCols,
24           String alignFileFormat)
25   {
26     super(hasHiddenSeq, hasHiddenCols, alignFileFormat);
27     if (!Jalview.isHeadlessMode() && isShowDialog())
28     {
29
30       JOptionPane pane = new JOptionPane(null, JOptionPane.DEFAULT_OPTION,
31               JOptionPane.DEFAULT_OPTION, null, new Object[] { this });
32       dialog = pane.createDialog(Desktop.desktop,
33               MessageManager.getString("label.export_settings"));
34       dialog.addWindowListener(new WindowAdapter()
35       {
36         public void windowClosing(WindowEvent e)
37         {
38           cancelled = true;
39         }
40       });
41       dialog.pack();
42       dialog.setVisible(true);
43       dialog.setContentPane(this);
44       dialog.validate();
45
46     }
47   }
48
49   public void ok_actionPerformed(ActionEvent e)
50   {
51     cancelled = false;
52     dialog.setVisible(false);
53     dialog.dispose();
54   }
55
56   public void cancel_actionPerformed(ActionEvent e)
57   {
58     cancelled = true;
59     dialog.setVisible(false);
60     dialog.dispose();
61   }
62
63   @Override
64   public boolean isExportHiddenSequences()
65   {
66     return chkHiddenSeqs.isSelected();
67   }
68
69   @Override
70   public boolean isExportHiddenColumns()
71   {
72     return chkHiddenCols.isSelected();
73   }
74
75   @Override
76   public boolean isExportAnnotations()
77   {
78     return chkExportAnnots.isSelected();
79   }
80
81   @Override
82   public boolean isExportFeatures()
83   {
84     return chkExportFeats.isSelected();
85   }
86
87   @Override
88   public boolean isExportGroups()
89   {
90     return chkExportGrps.isSelected();
91   }
92
93   public boolean isCancelled()
94   {
95     return cancelled;
96   }
97
98 }