import java.util.List;
import javax.help.HelpSetException;
-import javax.swing.JButton;
import javax.swing.JColorChooser;
import javax.swing.JFileChooser;
import javax.swing.JInternalFrame;
public static final String SHOW_OCCUPANCY = "SHOW_OCCUPANCY";
+ public static final String SHOW_OV_HIDDEN_AT_START = "SHOW_OV_HIDDEN_AT_START";
+
+ public static final String USE_LEGACY_GAP = "USE_LEGACY_GAP";
+
private static final int MIN_FONT_SIZE = 1;
private static final int MAX_FONT_SIZE = 30;
Cache.getDefaultColour("ANNOTATIONCOLOUR_MIN", Color.orange));
maxColour.setBackground(
Cache.getDefaultColour("ANNOTATIONCOLOUR_MAX", Color.red));
+
+ /*
+ * Set overview panel defaults
+ */
gapColour.setBackground(
Cache.getDefaultColour("GAP_COLOUR", Color.lightGray));
hiddenColour.setBackground(
Cache.getDefaultColour("HIDDEN_COLOUR", Color.darkGray));
+ useLegacyGap.setSelected(Cache.getDefault("USE_LEGACY_GAP", false));
+ gapLabel.setEnabled(!useLegacyGap.isSelected());
+ gapColour.setEnabled(!useLegacyGap.isSelected());
+ showHiddenAtStart
+ .setSelected(Cache.getDefault("SHOW_OV_HIDDEN_AT_START", true));
/*
* Set Structure tab defaults.
maxColour.getBackground());
/*
+ * Save Overview settings
+ */
+ Cache.setColourProperty("GAP_COLOUR", gapColour.getBackground());
+ Cache.setColourProperty("HIDDEN_COLOUR", hiddenColour.getBackground());
+ Cache.applicationProperties.setProperty(USE_LEGACY_GAP,
+ Boolean.toString(useLegacyGap.isSelected()));
+ Cache.applicationProperties.setProperty(SHOW_OV_HIDDEN_AT_START,
+ Boolean.toString(showHiddenAtStart.isSelected()));
+
+ /*
* Save Structure settings
*/
Cache.applicationProperties.setProperty(ADD_TEMPFACT_ANN,
}
@Override
- public void gapColour_actionPerformed(JButton btn)
+ public void gapColour_actionPerformed(JPanel gap)
{
- Color col = JColorChooser.showDialog(this,
- MessageManager.getString("label.select_gap_colour"),
- gapColour.getForeground());
- if (col != null)
+ if (!useLegacyGap.isSelected())
{
- btn.setForeground(col);
+ Color col = JColorChooser.showDialog(this,
+ MessageManager.getString("label.select_gap_colour"),
+ gapColour.getBackground());
+ if (col != null)
+ {
+ gap.setBackground(col);
+ }
+ gap.repaint();
}
- btn.repaint();
}
@Override
- public void hiddenColour_actionPerformed(JButton btn)
+ public void hiddenColour_actionPerformed(JPanel hidden)
{
Color col = JColorChooser.showDialog(this,
MessageManager.getString("label.select_hidden_colour"),
- hiddenColour.getForeground());
+ hiddenColour.getBackground());
if (col != null)
{
- btn.setForeground(col);
+ hidden.setBackground(col);
}
- btn.repaint();
+ hidden.repaint();
}
@Override
protected JComboBox<String> nucColour = new JComboBox<>();
- protected JButton gapColour = new JButton();
+ /*
+ * Overview tab components
+ */
+ protected JPanel overviewTab;
+
+ protected JPanel gapColour = new JPanel();
+
+ protected JPanel hiddenColour = new JPanel();
- protected JButton hiddenColour = new JButton();
+ protected JCheckBox useLegacyGap;
+
+ protected JCheckBox showHiddenAtStart;
+
+ protected JLabel gapLabel;
/*
* Connections tab components
tabbedPane.add(initColoursTab(),
MessageManager.getString("label.colours"));
+ tabbedPane.add(initOverviewTab(),
+ MessageManager.getString("label.overview"));
+
tabbedPane.add(initStructureTab(),
MessageManager.getString("label.structure"));
private JPanel initColoursTab()
{
JPanel coloursTab = new JPanel();
- JPanel alignmentPanel = new JPanel();
- alignmentPanel.setBorder(new TitledBorder(
+ coloursTab.setBorder(new TitledBorder(
MessageManager.getString("action.open_new_alignment")));
- alignmentPanel.setLayout(new FlowLayout());
+ coloursTab.setLayout(new FlowLayout());
JLabel mincolourLabel = new JLabel();
mincolourLabel.setFont(LABEL_FONT);
mincolourLabel.setHorizontalAlignment(SwingConstants.RIGHT);
protColourLabel.setHorizontalAlignment(SwingConstants.LEFT);
protColourLabel.setText(
MessageManager.getString("label.prot_alignment_colour") + " ");
- JvSwingUtils.addtoLayout(alignmentPanel,
+ JvSwingUtils.addtoLayout(coloursTab,
MessageManager
.getString("label.default_colour_scheme_for_alignment"),
protColourLabel, protColour);
nucColourLabel.setHorizontalAlignment(SwingConstants.LEFT);
nucColourLabel.setText(
MessageManager.getString("label.nuc_alignment_colour") + " ");
- JvSwingUtils.addtoLayout(alignmentPanel,
+ JvSwingUtils.addtoLayout(coloursTab,
MessageManager
.getString("label.default_colour_scheme_for_alignment"),
nucColourLabel, nucColour);
MessageManager.getString(
"label.default_maximum_colour_annotation_shading"),
maxcolourLabel, maxColour);
- alignmentPanel.add(annotationShding); // , FlowLayout.LEFT);
+ coloursTab.add(annotationShding); // , FlowLayout.LEFT);
+ return coloursTab;
+ }
+ /**
+ * Initialises the Overview tabbed panel.
+ *
+ * @return
+ */
+ private JPanel initOverviewTab()
+ {
JPanel overviewPanel = new JPanel();
overviewPanel.setBorder(new TitledBorder(
MessageManager.getString("label.overview_settings")));
- overviewPanel.setLayout(new FlowLayout());
gapColour.setFont(LABEL_FONT);
- gapColour.setBorder(BorderFactory.createEtchedBorder());
+ // fixing the border colours stops apparent colour bleed from the panel
+ gapColour.setBorder(
+ BorderFactory.createEtchedBorder(Color.white, Color.lightGray));
gapColour.setPreferredSize(new Dimension(40, 20));
gapColour.addMouseListener(new MouseAdapter()
{
});
hiddenColour.setFont(LABEL_FONT);
- hiddenColour.setBorder(BorderFactory.createEtchedBorder());
+ // fixing the border colours stops apparent colour bleed from the panel
+ hiddenColour.setBorder(
+ BorderFactory.createEtchedBorder(Color.white, Color.lightGray));
hiddenColour.setPreferredSize(new Dimension(40, 20));
hiddenColour.addMouseListener(new MouseAdapter()
{
}
});
- JCheckBox gapSetting = new JCheckBox(
+ useLegacyGap = new JCheckBox(
MessageManager.getString("label.ov_legacy_gap"));
- gapSetting.setFont(LABEL_FONT);
- gapSetting.setHorizontalAlignment(SwingConstants.LEFT);
- JLabel gapLabel = new JLabel(
+ useLegacyGap.setFont(LABEL_FONT);
+ useLegacyGap.setHorizontalAlignment(SwingConstants.LEFT);
+ gapLabel = new JLabel(
MessageManager.getString("label.gap_colour"));
gapLabel.setFont(LABEL_FONT);
gapLabel.setHorizontalAlignment(SwingConstants.LEFT);
- JCheckBox hiddenSetting = new JCheckBox(
+ showHiddenAtStart = new JCheckBox(
MessageManager.getString("label.ov_show_hide_default"));
- hiddenSetting.setFont(LABEL_FONT);
- hiddenSetting.setHorizontalAlignment(SwingConstants.LEFT);
+ showHiddenAtStart.setFont(LABEL_FONT);
+ showHiddenAtStart.setHorizontalAlignment(SwingConstants.LEFT);
JLabel hiddenLabel = new JLabel(
MessageManager.getString("label.hidden_colour"));
hiddenLabel.setFont(LABEL_FONT);
hiddenLabel.setHorizontalAlignment(SwingConstants.LEFT);
+ useLegacyGap.addActionListener(new ActionListener()
+ {
+ @Override
+ public void actionPerformed(ActionEvent e)
+ {
+ useLegacyGaps_actionPerformed(e);
+ }
+ });
+
overviewPanel.setLayout(new GridBagLayout());
GridBagConstraints c1 = new GridBagConstraints();
c1.gridx = 0;
c1.gridy = 0;
c1.weightx = 1;
+ c1.ipady = 20;
c1.anchor = GridBagConstraints.FIRST_LINE_START;
- overviewPanel.add(gapSetting, c1);
+ overviewPanel.add(useLegacyGap, c1);
GridBagConstraints c2 = new GridBagConstraints();
c2.fill = GridBagConstraints.HORIZONTAL;
c2.gridx = 1;
c2.gridy = 0;
- c2.insets = new Insets(0, 5, 0, 5);
+ c2.insets = new Insets(0, 15, 0, 10);
overviewPanel.add(gapLabel, c2);
GridBagConstraints c3 = new GridBagConstraints();
c3.fill = GridBagConstraints.HORIZONTAL;
c3.gridx = 2;
c3.gridy = 0;
+ c3.insets = new Insets(0, 0, 0, 15);
overviewPanel.add(gapColour, c3);
GridBagConstraints c4 = new GridBagConstraints();
c4.gridx = 0;
c4.gridy = 1;
c4.weightx = 1;
- overviewPanel.add(hiddenSetting, c4);
+ overviewPanel.add(showHiddenAtStart, c4);
GridBagConstraints c5 = new GridBagConstraints();
c5.fill = GridBagConstraints.HORIZONTAL;
c5.gridx = 1;
c5.gridy = 1;
- c5.insets = new Insets(0, 5, 0, 5);
+ c5.insets = new Insets(0, 15, 0, 10);
overviewPanel.add(hiddenLabel, c5);
GridBagConstraints c6 = new GridBagConstraints();
c6.fill = GridBagConstraints.HORIZONTAL;
c6.gridx = 2;
c6.gridy = 1;
+ c6.insets = new Insets(0, 0, 0, 15);
overviewPanel.add(hiddenColour, c6);
// Add padding so the panel doesn't look ridiculous
GridBagConstraints.WEST, GridBagConstraints.BOTH,
new Insets(0, 0, 0, 5), 0, 0));
- coloursTab.setLayout(new GridLayout(2, 1));
- coloursTab.add(alignmentPanel);
- coloursTab.add(overviewPanel);
- return coloursTab;
+ return overviewPanel;
}
/**
{
}
- protected void gapColour_actionPerformed(JButton btn)
+ protected void gapColour_actionPerformed(JPanel panel)
{
}
- protected void hiddenColour_actionPerformed(JButton btn)
+ protected void hiddenColour_actionPerformed(JPanel panel)
{
}
}
+ protected void useLegacyGaps_actionPerformed(ActionEvent e)
+ {
+ boolean enabled = useLegacyGap.isSelected();
+ if (enabled)
+ {
+ gapColour.setBackground(Color.WHITE);
+ }
+ gapColour.setEnabled(!enabled);
+ gapLabel.setEnabled(!enabled);
+ }
+
/**
* DOCUMENT ME!
*