X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fappletgui%2FAlignViewport.java;h=2e76e1aece976095f614ed165759c257d98c1240;hb=8e1be43e250107a4d86898bd554cf03098fa5957;hp=1ed45832e84c3c78b8dd396d6f9d76bbf6b97c87;hpb=882adcab8cf6f9c72a7e946223f817878c5ee444;p=jalview.git diff --git a/src/jalview/appletgui/AlignViewport.java b/src/jalview/appletgui/AlignViewport.java index 1ed4583..2e76e1a 100644 --- a/src/jalview/appletgui/AlignViewport.java +++ b/src/jalview/appletgui/AlignViewport.java @@ -20,18 +20,19 @@ */ package jalview.appletgui; -import java.awt.Font; - import jalview.analysis.NJTree; import jalview.api.AlignViewportI; +import jalview.api.FeatureSettingsModelI; import jalview.bin.JalviewLite; import jalview.commands.CommandI; import jalview.datamodel.AlignmentI; import jalview.datamodel.ColumnSelection; import jalview.datamodel.SearchResults; +import jalview.datamodel.SearchResultsI; import jalview.datamodel.Sequence; import jalview.datamodel.SequenceGroup; import jalview.datamodel.SequenceI; +import jalview.schemes.CollectionColourScheme; import jalview.schemes.ColourSchemeProperty; import jalview.schemes.UserColourScheme; import jalview.structure.CommandListener; @@ -40,6 +41,8 @@ import jalview.structure.StructureSelectionManager; import jalview.structure.VamsasSource; import jalview.viewmodel.AlignmentViewport; +import java.awt.Font; + public class AlignViewport extends AlignmentViewport implements SelectionSource, VamsasSource, CommandListener { @@ -57,6 +60,7 @@ public class AlignViewport extends AlignmentViewport implements private AnnotationColumnChooser annotationColumnSelectionState; + @Override public void finalize() { applet = null; @@ -187,8 +191,13 @@ public class AlignViewport extends AlignmentViewport implements if (applet != null) { - String colour = applet.getParameter("defaultColour"); - + String colour = al.isNucleotide() ? applet + .getParameter("defaultColourNuc") : applet + .getParameter("defaultColourProt"); + if (colour == null) + { + colour = applet.getParameter("defaultColour"); + } if (colour == null) { colour = applet.getParameter("userDefinedColour"); @@ -200,8 +209,8 @@ public class AlignViewport extends AlignmentViewport implements if (colour != null) { - globalColourScheme = ColourSchemeProperty.getColour(alignment, - colour); + globalColourScheme = new CollectionColourScheme( + ColourSchemeProperty.getColourScheme(alignment, colour)); if (globalColourScheme != null) { globalColourScheme.setConsensus(hconsensus); @@ -210,8 +219,9 @@ public class AlignViewport extends AlignmentViewport implements if (applet.getParameter("userDefinedColour") != null) { - ((UserColourScheme) globalColourScheme).parseAppletParameter(applet - .getParameter("userDefinedColour")); + globalColourScheme = new CollectionColourScheme( + new UserColourScheme( + applet.getParameter("userDefinedColour"))); } } initAutoAnnotation(); @@ -287,7 +297,6 @@ public class AlignViewport extends AlignmentViewport implements return font; } - public void resetSeqLimits(int height) { setEndSeq(height / getCharHeight()); @@ -303,7 +312,6 @@ public class AlignViewport extends AlignmentViewport implements return currentTree; } - boolean centreColumnLabels; public boolean getCentreColumnLabels() @@ -322,11 +330,12 @@ public class AlignViewport extends AlignmentViewport implements return followSelection; } + @Override public void sendSelection() { getStructureSelectionManager().sendSelection( - new SequenceGroup(getSelectionGroup()), - new ColumnSelection(getColumnSelection()), this); + new SequenceGroup(getSelectionGroup()), + new ColumnSelection(getColumnSelection()), this); } /** @@ -342,39 +351,7 @@ public class AlignViewport extends AlignmentViewport implements .getStructureSelectionManager(applet); } - /** - * synthesize a column selection if none exists so it covers the given - * selection group. if wholewidth is false, no column selection is made if the - * selection group covers the whole alignment width. - * - * @param sg - * @param wholewidth - */ - public void expandColSelection(SequenceGroup sg, boolean wholewidth) - { - int sgs, sge; - if (sg != null - && (sgs = sg.getStartRes()) >= 0 - && sg.getStartRes() <= (sge = sg.getEndRes()) - && (colSel == null || colSel.getSelected() == null || colSel - .getSelected().size() == 0)) - { - if (!wholewidth && alignment.getWidth() == (1 + sge - sgs)) - { - // do nothing - return; - } - if (colSel == null) - { - colSel = new ColumnSelection(); - } - for (int cspos = sg.getStartRes(); cspos <= sg.getEndRes(); cspos++) - { - colSel.addElement(cspos); - } - } - } - + @Override public boolean isNormaliseSequenceLogo() { return normaliseSequenceLogo; @@ -389,6 +366,7 @@ public class AlignViewport extends AlignmentViewport implements * * @return true if alignment characters should be displayed */ + @Override public boolean isValidCharWidth() { return validCharWidth; @@ -458,7 +436,7 @@ public class AlignViewport extends AlignmentViewport implements * there is no complement, or it is not following highlights, or no mapping * is found, the result will be empty. */ - SearchResults sr = new SearchResults(); + SearchResultsI sr = new SearchResults(); int seqOffset = findComplementScrollTarget(sr); if (!sr.isEmpty()) { @@ -467,4 +445,18 @@ public class AlignViewport extends AlignmentViewport implements } } + /** + * Applies the supplied feature settings descriptor to currently known + * features. This supports an 'initial configuration' of feature colouring + * based on a preset or user favourite. This may then be modified in the usual + * way using the Feature Settings dialogue. + * + * @param featureSettings + */ + @Override + public void applyFeaturesStyle(FeatureSettingsModelI featureSettings) + { + // TODO implement for applet + } + }