return;
}
+ minColour.setBackground(av.applet.getDefaultColourParameter("ANNOTATIONCOLOUR_MIN",Color.orange));
+ maxColour.setBackground(av.applet.getDefaultColourParameter("ANNOTATIONCOLOUR_MAX",Color.red));
+
if (oldcs instanceof AnnotationColourGradient)
{
AnnotationColourGradient acg = (AnnotationColourGradient) oldcs;
- minColour.setBackground(acg.getMinColour());
- maxColour.setBackground(acg.getMaxColour());
- }
- else
- {
- minColour.setBackground(Color.orange);
- maxColour.setBackground(Color.red);
+ currentColours.setState(acg.predefinedColours);
+ if (!acg.predefinedColours) {
+ minColour.setBackground(acg.getMinColour());
+ maxColour.setBackground(acg.getMaxColour());
+ }
}
adjusting = true;
threshold.addItem("Above Threshold");
threshold.addItem("Below Threshold");
+ if (oldcs instanceof AnnotationColourGradient)
+ {
+ AnnotationColourGradient acg = (AnnotationColourGradient) oldcs;
+ annotations.select(acg.getAnnotation());
+ switch (acg.getAboveThreshold()) {
+ case AnnotationColourGradient.NO_THRESHOLD:
+ threshold.select("No Threshold");
+ break;
+ case AnnotationColourGradient.ABOVE_THRESHOLD:
+ threshold.select("Above Threshold");
+ break;
+ case AnnotationColourGradient.BELOW_THRESHOLD:
+ threshold.select("Below Threshold");
+ break;
+ default:
+ throw new Error("Implementation error: don't know about threshold setting for current AnnotationColourGradient.");
+ }
+ thresholdIsMin.setState(acg.thresholdIsMinMax);
+ thresholdValue.setText(""+acg.getAnnotationThreshold());
+ }
+
adjusting = false;
changeColour();
}
}
- ap.paintAlignment(false);
+ // update colours in linked windows
+ ap.paintAlignment(true);
}
void reset()
import javax.swing.*;
import javax.swing.event.*;
+import jalview.bin.Cache;
import jalview.datamodel.*;
import jalview.schemes.*;
import java.awt.Dimension;
return;
}
+ // Always get default shading from preferences.
+ minColour.setBackground(Cache.getDefaultColour("ANNOTATIONCOLOUR_MIN", Color.orange));
+ maxColour.setBackground(Cache.getDefaultColour("ANNOTATIONCOLOUR_MAX", Color.red));
+
if (oldcs instanceof AnnotationColourGradient)
{
AnnotationColourGradient acg = (AnnotationColourGradient) oldcs;
- minColour.setBackground(acg.getMinColour());
- maxColour.setBackground(acg.getMaxColour());
- }
- else
- {
- minColour.setBackground(Color.orange);
- maxColour.setBackground(Color.red);
+ currentColours.setSelected(acg.predefinedColours);
+ if (acg.predefinedColours)
+ {
+
+ } else {
+ minColour.setBackground(acg.getMinColour());
+ maxColour.setBackground(acg.getMaxColour());
+ }
}
adjusting = true;
threshold.addItem("Above Threshold");
threshold.addItem("Below Threshold");
+ if (oldcs instanceof AnnotationColourGradient)
+ {
+ AnnotationColourGradient acg = (AnnotationColourGradient) oldcs;
+ annotations.setSelectedItem(acg.getAnnotation());
+ switch (acg.getAboveThreshold()) {
+ case AnnotationColourGradient.NO_THRESHOLD:
+ threshold.setSelectedItem("No Threshold");
+ break;
+ case AnnotationColourGradient.ABOVE_THRESHOLD:
+ threshold.setSelectedItem("Above Threshold");
+ break;
+ case AnnotationColourGradient.BELOW_THRESHOLD:
+ threshold.setSelectedItem("Below Threshold");
+ break;
+ default:
+ throw new Error("Implementation error: don't know about threshold setting for current AnnotationColourGradient.");
+ }
+ thresholdIsMin.setSelected(acg.thresholdIsMinMax);
+ thresholdValue.setText(""+acg.getAnnotationThreshold());
+ }
+
try
{
jbInit();
adjusting = false;
changeColour();
+ validate();
}
}
}
-
- ap.paintAlignment(false);
+ // ensure all associated views (overviews, structures, etc) are notified of updated colours.
+ ap.paintAlignment(true);
}
public void ok_actionPerformed(ActionEvent e)
colour.setSelectedItem(string);
+ /**
+ * default min-max colours for annotation shading
+ */
+ minColour.setBackground(Cache.getDefaultColour("ANNOTATIONCOLOUR_MIN", Color.orange));
+ maxColour.setBackground(Cache.getDefaultColour("ANNOTATIONCOLOUR_MAX", Color.red));
+
String[] fonts = java.awt.GraphicsEnvironment
.getLocalGraphicsEnvironment().getAvailableFontFamilyNames();
Cache.applicationProperties.setProperty("SORT_ALIGNMENT", sortby
.getSelectedItem().toString());
+ Cache.applicationProperties.setProperty("ANNOTATIONCOLOUR_MIN", minColour.getBackground().toString());
+ Cache.applicationProperties.setProperty("ANNOTATIONCOLOUR_MAX", maxColour.getBackground().toString());
+
if (epsRendering.getSelectedItem().equals("Prompt each time"))
{
Cache.applicationProperties.remove("EPS_RENDERING");
{
return groupURLLinks;
}
+ public void minColour_actionPerformed()
+ {
+ Color col = JColorChooser.showDialog(this,
+ "Select Colour for Minimum Value", minColour.getBackground());
+ if (col != null)
+ {
+ minColour.setBackground(col);
+ }
+ minColour.repaint();
+ }
+
+ public void maxColour_actionPerformed()
+ {
+ Color col = JColorChooser.showDialog(this,
+ "Select Colour for Maximum Value", maxColour.getBackground());
+ if (col != null)
+ {
+ maxColour.setBackground(col);
+ }
+ maxColour.repaint();
+ }
+
}
protected JCheckBox quality = new JCheckBox();
JPanel visualTab = new JPanel();
+ JPanel visual2Tab = new JPanel();
protected JCheckBox fullScreen = new JCheckBox();
protected JCheckBox annotations = new JCheckBox();
+ protected JPanel minColour = new JPanel();
+ JLabel mincolourLabel = new JLabel();
+
+ protected JPanel maxColour = new JPanel();
+ JLabel maxcolourLabel = new JLabel();
+
JLabel gapLabel = new JLabel();
protected JComboBox colour = new JComboBox();
JLabel sortLabel = new JLabel();
JPanel jPanel2 = new JPanel();
+ JPanel visual2panel = new JPanel();
GridLayout gridLayout2 = new GridLayout();
+ GridLayout gridLayout4 = new GridLayout();
+
JPanel annsettingsPanel = new JPanel();
JPanel autoAnnotSettings1 = new JPanel();
protected JCheckBox followHighlight = new JCheckBox();
+ public void addtoLayout(JPanel panel, String tooltip, JComponent label, JComponent valBox)
+ {
+ JPanel laypanel = new JPanel(),labPanel=new JPanel(), valPanel=new JPanel();
+ laypanel.setSize(panel.getWidth(),33);
+ labPanel.setBounds(new Rectangle(7, 7, 158, 23));
+ valPanel.setBounds(new Rectangle(172, 7, 270,23));
+ labPanel.setLayout(new GridLayout());
+ valPanel.setLayout(new GridLayout());
+ labPanel.add(label);
+ valPanel.add(valBox);
+ laypanel.add(labPanel);
+ laypanel.add(valPanel);
+ panel.add(laypanel);
+ valPanel.setToolTipText(tooltip);
+ labPanel.setToolTipText(tooltip);
+ }
/**
* Creates a new GPreferences object.
*/
quality.setText("Quality");
visualTab.setBorder(new TitledBorder("Open new alignment"));
visualTab.setLayout(null);
+ visual2Tab.setBorder(new TitledBorder("Open new alignment"));
+ visual2Tab.setLayout(new FlowLayout());
fullScreen.setFont(verdana11);
fullScreen.setHorizontalAlignment(SwingConstants.RIGHT);
fullScreen.setHorizontalTextPosition(SwingConstants.LEFT);
colour.setBounds(new Rectangle(172, 225, 155, 21));
colourLabel.setFont(verdana11);
colourLabel.setHorizontalAlignment(SwingConstants.RIGHT);
- colourLabel.setText("Colour ");
+ colourLabel.setText("Alignment Colour ");
fontLabel.setFont(verdana11);
fontLabel.setHorizontalAlignment(SwingConstants.RIGHT);
fontLabel.setText("Font ");
fontNameCB.setBounds(new Rectangle(172, 104, 147, 23));
gapSymbolCB.setFont(verdana11);
gapSymbolCB.setBounds(new Rectangle(172, 204, 69, 23));
+ mincolourLabel.setFont(verdana11);
+ mincolourLabel.setHorizontalAlignment(SwingConstants.RIGHT);
+ mincolourLabel.setText("Minimum Colour");
+ minColour.setFont(verdana11);
+ minColour.setBorder(BorderFactory.createEtchedBorder());
+ minColour.setPreferredSize(new Dimension(40, 20));
+ minColour.addMouseListener(new MouseAdapter()
+ {
+ public void mousePressed(MouseEvent e)
+ {
+ minColour_actionPerformed();
+ }
+ });
+ maxcolourLabel.setFont(verdana11);
+ maxcolourLabel.setHorizontalAlignment(SwingConstants.RIGHT);
+ maxcolourLabel.setText("Maximumum Colour ");
+ maxColour.setFont(verdana11);
+ maxColour.setBorder(BorderFactory.createEtchedBorder());
+ maxColour.setPreferredSize(new Dimension(40, 20));
+ maxColour.addMouseListener(new MouseAdapter()
+ {
+ public void mousePressed(MouseEvent e)
+ {
+ maxColour_actionPerformed();
+ }
+ });
startupCheckbox.setText("Open file");
startupCheckbox.setFont(verdana11);
startupCheckbox.setHorizontalAlignment(SwingConstants.RIGHT);
sortLabel.setText("Sort by ");
jPanel2.setBounds(new Rectangle(7, 17, 158, 278));
jPanel2.setLayout(gridLayout2);
- gridLayout2.setRows(13);
+ gridLayout2.setRows(12);
exportTab.setLayout(null);
epsLabel.setFont(verdana11);
epsLabel.setHorizontalAlignment(SwingConstants.RIGHT);
jPanel2.add(showUnconserved);
jPanel2.add(idItalics);
jPanel2.add(smoothFont);
- jPanel2.add(wrap);
jPanel2.add(gapLabel);
- jPanel2.add(colourLabel);
+ jPanel2.add(wrap);
jPanel2.add(sortLabel);
jPanel2.add(startupCheckbox);
visualTab.add(annotations);
visualTab.add(startupFileTextfield);
visualTab.add(sortby);
- visualTab.add(colour);
visualTab.add(gapSymbolCB);
visualTab.add(fontNameCB);
visualTab.add(fontSizeCB);
tooltipSettings.add(showNpTooltip);
visualTab.add(tooltipSettings);
visualTab.add(jPanel2);
+ addtoLayout(visual2Tab, "Default Colourscheme for alignment", colourLabel, colour);
+ addtoLayout(visual2Tab, "Default Minimum Colour for annotation shading", mincolourLabel,minColour);
+ addtoLayout(visual2Tab,"Default Maximum Colour for annotation shading", maxcolourLabel, maxColour);
+
+// visual2panel.add(minColour);
+// visual2panel.add(maxColour);
+// visual2Tab.add(visual2panel);
linkPanel.add(editLinkButtons, BorderLayout.EAST);
editLinkButtons.add(newLink, null);
gapSymbolCB.setRenderer(dlcr);
tabbedPane.add(visualTab, "Visual");
+ tabbedPane.add(visual2Tab,"Colours");
tabbedPane.add(connectTab, "Connections");
tabbedPane.add(exportTab, "Output");
jPanel11.add(jLabel1);
exportTab.add(jPanel11);
}
+ protected void maxColour_actionPerformed()
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ protected void minColour_actionPerformed()
+ {
+ // TODO Auto-generated method stub
+
+ }
+
protected void showunconserved_actionPerformed(ActionEvent e)
{
// TODO Auto-generated method stub