git://source.jalview.org
/
jalview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
JAL-2089 Merge branch releases/Release_2_10_Branch to master
[jalview.git]
/
src
/
jalview
/
gui
/
FeatureRenderer.java
diff --git
a/src/jalview/gui/FeatureRenderer.java
b/src/jalview/gui/FeatureRenderer.java
index
9e09bfb
..
8c4b4d0
100644
(file)
--- a/
src/jalview/gui/FeatureRenderer.java
+++ b/
src/jalview/gui/FeatureRenderer.java
@@
-1,6
+1,6
@@
/*
/*
- * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
- * Copyright (C) $$Year-Rel$$ The Jalview Authors
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b2)
+ * Copyright (C) 2015 The Jalview Authors
*
* This file is part of Jalview.
*
*
* This file is part of Jalview.
*
@@
-20,10
+20,12
@@
*/
package jalview.gui;
*/
package jalview.gui;
+import jalview.api.FeatureColourI;
import jalview.datamodel.SearchResults;
import jalview.datamodel.SequenceFeature;
import jalview.datamodel.SequenceI;
import jalview.datamodel.SearchResults;
import jalview.datamodel.SequenceFeature;
import jalview.datamodel.SequenceI;
-import jalview.schemes.GraduatedColor;
+import jalview.schemes.FeatureColour;
+import jalview.schemes.UserColourScheme;
import jalview.util.MessageManager;
import java.awt.BorderLayout;
import jalview.util.MessageManager;
import java.awt.BorderLayout;
@@
-37,6
+39,8
@@
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.ItemListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
+import java.util.Arrays;
+import java.util.Comparator;
import javax.swing.JColorChooser;
import javax.swing.JComboBox;
import javax.swing.JColorChooser;
import javax.swing.JComboBox;
@@
-55,7
+59,9
@@
import javax.swing.SwingConstants;
* @author $author$
* @version $Revision$
*/
* @author $author$
* @version $Revision$
*/
-public class FeatureRenderer extends jalview.renderer.seqfeatures.FeatureRenderer implements jalview.api.FeatureRenderer
+public class FeatureRenderer extends
+ jalview.renderer.seqfeatures.FeatureRenderer implements
+ jalview.api.FeatureRenderer
{
Color resBoxColour;
{
Color resBoxColour;
@@
-69,10
+75,10
@@
public class FeatureRenderer extends jalview.renderer.seqfeatures.FeatureRendere
*/
public FeatureRenderer(AlignmentPanel ap)
{
*/
public FeatureRenderer(AlignmentPanel ap)
{
- super();
+ super(ap.av);
this.ap = ap;
this.ap = ap;
- this.av = ap.av;
- if (ap != null && ap.getSeqPanel() != null && ap.getSeqPanel().seqCanvas != null
+ if (ap != null && ap.getSeqPanel() != null
+ && ap.getSeqPanel().seqCanvas != null
&& ap.getSeqPanel().seqCanvas.fr != null)
{
transferSettings(ap.getSeqPanel().seqCanvas.fr);
&& ap.getSeqPanel().seqCanvas.fr != null)
{
transferSettings(ap.getSeqPanel().seqCanvas.fr);
@@
-89,7
+95,7
@@
public class FeatureRenderer extends jalview.renderer.seqfeatures.FeatureRendere
static String lastDescriptionAdded;
static String lastDescriptionAdded;
- Object oldcol, fcol;
+ FeatureColourI oldcol, fcol;
int featureIndex = 0;
int featureIndex = 0;
@@
-118,21
+124,22
@@
public class FeatureRenderer extends jalview.renderer.seqfeatures.FeatureRendere
{
FeatureColourChooser fcc = null;
{
FeatureColourChooser fcc = null;
+ @Override
public void mousePressed(MouseEvent evt)
{
public void mousePressed(MouseEvent evt)
{
- if (fcol instanceof Color)
+ if (fcol.isSimpleColour())
{
Color col = JColorChooser.showDialog(Desktop.desktop,
{
Color col = JColorChooser.showDialog(Desktop.desktop,
- MessageManager.getString("label.select_feature_colour"), ((Color) fcol));
+ MessageManager.getString("label.select_feature_colour"),
+ fcol.getColour());
if (col != null)
{
if (col != null)
{
- fcol = col;
- updateColourButton(bigPanel, colour, col);
+ fcol = new FeatureColour(col);
+ updateColourButton(bigPanel, colour, new FeatureColour(col));
}
}
else
{
}
}
else
{
-
if (fcc == null)
{
final String type = features[featureIndex].getType();
if (fcc == null)
{
final String type = features[featureIndex].getType();
@@
-143,6
+150,7
@@
public class FeatureRenderer extends jalview.renderer.seqfeatures.FeatureRendere
fcc.addActionListener(new ActionListener()
{
fcc.addActionListener(new ActionListener()
{
+ @Override
public void actionPerformed(ActionEvent e)
{
fcol = fcc.getLastColour();
public void actionPerformed(ActionEvent e)
{
fcol = fcc.getLastColour();
@@
-165,7
+173,8
@@
public class FeatureRenderer extends jalview.renderer.seqfeatures.FeatureRendere
{
panel = new JPanel(new GridLayout(4, 1));
tmp = new JPanel();
{
panel = new JPanel(new GridLayout(4, 1));
tmp = new JPanel();
- tmp.add(new JLabel(MessageManager.getString("label.select_feature")));
+ tmp.add(new JLabel(MessageManager.getString("label.select_feature")
+ + ":"));
overlaps = new JComboBox();
for (int i = 0; i < features.length; i++)
{
overlaps = new JComboBox();
for (int i = 0; i < features.length; i++)
{
@@
-178,6
+187,7
@@
public class FeatureRenderer extends jalview.renderer.seqfeatures.FeatureRendere
overlaps.addItemListener(new ItemListener()
{
overlaps.addItemListener(new ItemListener()
{
+ @Override
public void itemStateChanged(ItemEvent e)
{
int index = overlaps.getSelectedIndex();
public void itemStateChanged(ItemEvent e)
{
int index = overlaps.getSelectedIndex();
@@
-197,11
+207,11
@@
public class FeatureRenderer extends jalview.renderer.seqfeatures.FeatureRendere
ap.getSeqPanel().seqCanvas.highlightSearchResults(highlight);
}
ap.getSeqPanel().seqCanvas.highlightSearchResults(highlight);
}
- Object col = getFeatureStyle(name.getText());
+ FeatureColourI col = getFeatureStyle(name.getText());
if (col == null)
{
if (col == null)
{
- col = new jalview.schemes.UserColourScheme()
- .createColourFromName(name.getText());
+ col = new FeatureColour(UserColourScheme
+ .createColourFromName(name.getText()));
}
oldcol = fcol = col;
updateColourButton(bigPanel, colour, col);
}
oldcol = fcol = col;
updateColourButton(bigPanel, colour, col);
@@
-215,12
+225,13
@@
public class FeatureRenderer extends jalview.renderer.seqfeatures.FeatureRendere
tmp = new JPanel();
panel.add(tmp);
tmp = new JPanel();
panel.add(tmp);
- tmp.add(new JLabel(MessageManager.getString("label.name"), JLabel.RIGHT));
+ tmp.add(new JLabel(MessageManager.getString("label.name:"),
+ JLabel.RIGHT));
tmp.add(name);
tmp = new JPanel();
panel.add(tmp);
tmp.add(name);
tmp = new JPanel();
panel.add(tmp);
- tmp.add(new JLabel(MessageManager.getString("label.group") + ":",
+ tmp.add(new JLabel(MessageManager.getString("label.group:"),
JLabel.RIGHT));
tmp.add(source);
JLabel.RIGHT));
tmp.add(source);
@@
-239,7
+250,7
@@
public class FeatureRenderer extends jalview.renderer.seqfeatures.FeatureRendere
bigPanel.add(panel, BorderLayout.NORTH);
panel = new JPanel();
bigPanel.add(panel, BorderLayout.NORTH);
panel = new JPanel();
- panel.add(new JLabel(MessageManager.getString("label.description"),
+ panel.add(new JLabel(MessageManager.getString("label.description:"),
JLabel.RIGHT));
description.setFont(JvSwingUtils.getTextAreaFont());
description.setLineWrap(true);
JLabel.RIGHT));
description.setFont(JvSwingUtils.getTextAreaFont());
description.setLineWrap(true);
@@
-306,21
+317,22
@@
public class FeatureRenderer extends jalview.renderer.seqfeatures.FeatureRendere
Object[] options;
if (!newFeatures)
{
Object[] options;
if (!newFeatures)
{
- options = new Object[]
- { "Amend", "Delete", "Cancel" };
+ options = new Object[] { "Amend", "Delete", "Cancel" };
}
else
{
}
else
{
- options = new Object[]
- { "OK", "Cancel" };
+ options = new Object[] { "OK", "Cancel" };
}
}
- String title = newFeatures ? MessageManager.getString("label.create_new_sequence_features")
- : MessageManager.formatMessage("label.amend_delete_features", new String[]{sequences[0].getName()});
+ String title = newFeatures ? MessageManager
+ .getString("label.create_new_sequence_features")
+ : MessageManager.formatMessage("label.amend_delete_features",
+ new String[] { sequences[0].getName() });
int reply = JOptionPane.showInternalOptionDialog(Desktop.desktop,
bigPanel, title, JOptionPane.YES_NO_CANCEL_OPTION,
int reply = JOptionPane.showInternalOptionDialog(Desktop.desktop,
bigPanel, title, JOptionPane.YES_NO_CANCEL_OPTION,
- JOptionPane.QUESTION_MESSAGE, null, options, MessageManager.getString("action.ok"));
+ JOptionPane.QUESTION_MESSAGE, null, options,
+ MessageManager.getString("action.ok"));
jalview.io.FeaturesFile ffile = new jalview.io.FeaturesFile();
jalview.io.FeaturesFile ffile = new jalview.io.FeaturesFile();
@@
-406,32
+418,41
@@
public class FeatureRenderer extends jalview.renderer.seqfeatures.FeatureRendere
return true;
}
return true;
}
-
/**
* update the amend feature button dependent on the given style
*
* @param bigPanel
* @param col
/**
* update the amend feature button dependent on the given style
*
* @param bigPanel
* @param col
- * @param col2
+ * @param col
*/
protected void updateColourButton(JPanel bigPanel, JLabel colour,
*/
protected void updateColourButton(JPanel bigPanel, JLabel colour,
- Object col2)
+ FeatureColourI col)
{
colour.removeAll();
colour.setIcon(null);
colour.setToolTipText(null);
colour.setText("");
{
colour.removeAll();
colour.setIcon(null);
colour.setToolTipText(null);
colour.setText("");
- if (col2 instanceof Color)
+ if (col.isSimpleColour())
{
{
- colour.setBackground((Color) col2);
+ colour.setBackground(col.getColour());
}
else
{
colour.setBackground(bigPanel.getBackground());
colour.setForeground(Color.black);
}
else
{
colour.setBackground(bigPanel.getBackground());
colour.setForeground(Color.black);
- FeatureSettings.renderGraduatedColor(colour, (GraduatedColor) col2);
- // colour.setForeground(colour.getBackground());
+ FeatureSettings.renderGraduatedColor(colour, col);
}
}
}
}
+
+ /**
+ * Orders features in render precedence (last in order is last to render, so
+ * displayed on top of other features)
+ *
+ * @param order
+ */
+ public void orderFeatures(Comparator<String> order)
+ {
+ Arrays.sort(renderOrder, order);
+ }
}
}