3 import jalview.util.MessageManager;
5 import java.awt.BorderLayout;
6 import java.awt.event.ActionEvent;
7 import java.awt.event.ActionListener;
8 import java.awt.event.ItemEvent;
9 import java.awt.event.ItemListener;
11 import javax.swing.JButton;
12 import javax.swing.JCheckBox;
13 import javax.swing.JPanel;
15 @SuppressWarnings("serial")
16 public abstract class GAlignExportSettings extends JPanel
18 protected JPanel hiddenRegionConfPanel = new JPanel();
20 protected JPanel complexExportPanel = new JPanel();
22 protected JPanel optionsPanel = new JPanel();
24 protected JPanel actionPanel = new JPanel();
26 protected BorderLayout hiddenRegionLayout = new BorderLayout();
28 protected BorderLayout complexExportLayout = new BorderLayout();
30 protected BorderLayout mainLayout = new BorderLayout();
32 protected JCheckBox chkAll = new JCheckBox();
34 protected JCheckBox chkHiddenSeqs = new JCheckBox();
36 protected JCheckBox chkHiddenCols = new JCheckBox();
38 protected JCheckBox chkExportAnnots = new JCheckBox();
40 protected JCheckBox chkExportFeats = new JCheckBox();
42 protected JCheckBox chkExportGrps = new JCheckBox();
44 JButton btnOk = new JButton();
46 JButton btnCancel = new JButton();
48 private boolean hasHiddenSeq, hasHiddenCols, isComplexAlignFile,
51 public GAlignExportSettings(boolean hasHiddenSeq, boolean hasHiddenCols,
52 String alignFileFormat)
54 this.hasHiddenSeq = hasHiddenSeq;
55 this.hasHiddenCols = hasHiddenCols;
56 String[] complexFormats =
59 for (String format : complexFormats)
61 if (format.equalsIgnoreCase(alignFileFormat))
63 this.isComplexAlignFile = true;
67 if (this.hasHiddenCols || this.hasHiddenSeq || this.isComplexAlignFile)
69 this.showDialog = true;
76 chkHiddenSeqs.setText(MessageManager
77 .getString("action.export_hidden_sequences"));
78 chkHiddenCols.setText(MessageManager
79 .getString("action.export_hidden_columns"));
80 chkExportAnnots.setText(MessageManager
81 .getString("action.export_annotations"));
82 chkExportFeats.setText(MessageManager
83 .getString("action.export_features"));
84 chkExportGrps.setText(MessageManager.getString("action.export_groups"));
85 btnOk.setText(MessageManager.getString("action.ok"));
86 btnCancel.setText(MessageManager.getString("action.cancel"));
87 chkAll.setText(MessageManager.getString("action.select_all"));
89 hiddenRegionConfPanel.setLayout(hiddenRegionLayout);
90 complexExportPanel.setLayout(complexExportLayout);
91 setLayout(mainLayout);
93 chkAll.addItemListener(new ItemListener()
95 public void itemStateChanged(ItemEvent e)
101 btnOk.addActionListener(new ActionListener()
103 public void actionPerformed(ActionEvent e)
105 ok_actionPerformed(e);
109 btnCancel.addActionListener(new ActionListener()
111 public void actionPerformed(ActionEvent e)
113 cancel_actionPerformed(e);
117 // hiddenRegionConfPanel.add(chkAll, BorderLayout.NORTH);
118 hiddenRegionConfPanel.add(chkHiddenSeqs, BorderLayout.CENTER);
119 hiddenRegionConfPanel.add(chkHiddenCols, BorderLayout.SOUTH);
120 chkHiddenSeqs.setEnabled(hasHiddenSeq);
121 chkHiddenCols.setEnabled(hasHiddenCols);
123 complexExportPanel.add(chkExportAnnots, BorderLayout.NORTH);
124 complexExportPanel.add(chkExportFeats, BorderLayout.CENTER);
125 complexExportPanel.add(chkExportGrps, BorderLayout.SOUTH);
127 actionPanel.add(chkAll);
129 if (this.isComplexAlignFile)
131 optionsPanel.add(complexExportPanel);
134 if (hasHiddenSeq || hasHiddenCols)
136 optionsPanel.add(hiddenRegionConfPanel);
139 actionPanel.add(btnCancel);
140 actionPanel.add(btnOk);
142 add(optionsPanel, BorderLayout.NORTH);
143 add(actionPanel, BorderLayout.SOUTH);
147 private void checkAllAction()
149 boolean isSelected = chkAll.isSelected();
150 chkHiddenSeqs.setSelected(chkHiddenSeqs.isEnabled() && isSelected);
151 chkHiddenCols.setSelected(chkHiddenCols.isEnabled() && isSelected);
152 chkExportAnnots.setSelected(isComplexAlignFile
153 && chkExportAnnots.isEnabled() && isSelected);
154 chkExportFeats.setSelected(isComplexAlignFile
155 && chkExportFeats.isEnabled() && isSelected);
156 chkExportGrps.setSelected(isComplexAlignFile
157 && chkExportGrps.isEnabled() && isSelected);
160 public boolean isShowDialog()
165 public void setShowDialog(boolean showDialog)
167 this.showDialog = showDialog;
170 public abstract void ok_actionPerformed(ActionEvent e);
172 public abstract void cancel_actionPerformed(ActionEvent e);