* ensuring the alignment is still visible.
*/
void adjustAnnotationHeight();
+
+ FeatureRenderer getFeatureRenderer();
+
+ FeatureRenderer cloneFeatureRenderer();
+
}
*/
package jalview.api;
+import jalview.datamodel.SequenceFeature;
import jalview.datamodel.SequenceI;
+import jalview.schemes.GraduatedColor;
import java.awt.Color;
void featuresAdded();
+ Object getFeatureStyle(String ft);
+
+ void setColour(String ft, Object ggc);
+
}
{
return seqPanel.seqCanvas.sr;
}
-
- public FeatureRenderer getFeatureRenderer()
+ @Override
+ public jalview.api.FeatureRenderer getFeatureRenderer()
{
return seqPanel.seqCanvas.fr;
}
-
+ @Override
+ public jalview.api.FeatureRenderer cloneFeatureRenderer()
+ {
+ FeatureRenderer nfr = new FeatureRenderer(av);
+ nfr.transferSettings(seqPanel.seqCanvas.fr);
+ return nfr;
+ }
public void alignmentChanged()
{
av.alignmentChanged(this);
}
}
- public void transferSettings(FeatureRenderer fr)
+ public void transferSettings(jalview.api.FeatureRenderer _fr)
{
- renderOrder = fr.renderOrder;
- featureGroups = fr.featureGroups;
- featureColours = fr.featureColours;
- transparency = fr.transparency;
- if (av != null && fr.av != null && fr.av != av)
+ if (_fr instanceof FeatureRenderer)
{
- if (fr.av.featuresDisplayed != null)
+ FeatureRenderer fr = (FeatureRenderer) _fr;
+ renderOrder = fr.renderOrder;
+ featureGroups = fr.featureGroups;
+ featureColours = fr.featureColours;
+ transparency = fr.transparency;
+ if (av != null && fr.av != null && fr.av != av)
{
- if (av.featuresDisplayed == null)
- {
- av.featuresDisplayed = new Hashtable();
- }
- else
+ if (fr.av.featuresDisplayed != null)
{
- av.featuresDisplayed.clear();
- }
- Enumeration en = fr.av.featuresDisplayed.keys();
- while (en.hasMoreElements())
- {
- av.featuresDisplayed.put(en.nextElement(), Boolean.TRUE);
+ if (av.featuresDisplayed == null)
+ {
+ av.featuresDisplayed = new Hashtable();
+ }
+ else
+ {
+ av.featuresDisplayed.clear();
+ }
+ Enumeration en = fr.av.featuresDisplayed.keys();
+ while (en.hasMoreElements())
+ {
+ av.featuresDisplayed.put(en.nextElement(), Boolean.TRUE);
+ }
}
}
}
+ else
+ {
+ throw new Error(
+ "Implementation error: cannot port feature settings from implementation of type "
+ + _fr.getClass() + " to " + getClass());
+ }
}
static String lastFeatureAdded;
new OOMWarning(string, error, this);
}
- public FeatureRenderer cloneFeatureRenderer()
+ @Override
+ public jalview.api.FeatureRenderer cloneFeatureRenderer()
{
return new FeatureRenderer(this);
}
-
+ @Override
+ public jalview.api.FeatureRenderer getFeatureRenderer()
+ {
+ return seqPanel.seqCanvas.getFeatureRenderer();
+ }
public void updateFeatureRenderer(FeatureRenderer fr)
{
fr.transferSettings(seqPanel.seqCanvas.getFeatureRenderer());
}
- public void updateFeatureRendererFrom(FeatureRenderer fr)
+ public void updateFeatureRendererFrom(jalview.api.FeatureRenderer fr)
{
if (seqPanel.seqCanvas.getFeatureRenderer() != null)
{
{
if (fr == null)
{
- fr = ap.cloneFeatureRenderer();
+ fr = (jalview.gui.FeatureRenderer) ap.cloneFeatureRenderer();
}
else
{
* @author $author$
* @version $Revision$
*/
-public class FeatureRenderer implements jalview.api.FeatureRenderer
+public class FeatureRenderer extends jalview.viewmodel.FeatureRenderer implements jalview.api.FeatureRenderer
{
AlignmentPanel ap;
* update from another feature renderer
* @param fr settings to copy
*/
- public void transferSettings(FeatureRenderer fr)
+ public void transferSettings(jalview.api.FeatureRenderer _fr)
{
+ FeatureRenderer fr = (FeatureRenderer) _fr;
FeatureRendererSettings frs = new FeatureRendererSettings(fr);
this.renderOrder = frs.renderOrder;
this.featureGroups = frs.featureGroups;
{
if (dispFeatures)
{
- jalview.gui.FeatureRenderer fr = ((jalview.gui.AlignmentPanel) ap)
+ jalview.api.FeatureRenderer fr = ((jalview.gui.AlignmentPanel) ap)
.cloneFeatureRenderer();
for (String ft : fc.keySet())
{