X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FAlignViewport.java;h=e5653db2f847409230648bb91090e537f5304db1;hb=702cd84103cbd8c397a8d47c591c09f305605055;hp=03aee5d6d1f66b9880063ff659c47a5fe80bb90a;hpb=52402128d98c6744eb6348dd788fe6e8cd34575c;p=jalview.git diff --git a/src/jalview/gui/AlignViewport.java b/src/jalview/gui/AlignViewport.java index 03aee5d..e5653db 100644 --- a/src/jalview/gui/AlignViewport.java +++ b/src/jalview/gui/AlignViewport.java @@ -22,7 +22,7 @@ package jalview.gui; import jalview.analysis.AlignmentUtils; import jalview.analysis.AnnotationSorter.SequenceAnnotationOrder; -import jalview.analysis.NJTree; +import jalview.analysis.TreeModel; import jalview.api.AlignViewportI; import jalview.api.AlignmentViewPanel; import jalview.api.FeatureColourI; @@ -41,19 +41,23 @@ import jalview.datamodel.SearchResultsI; import jalview.datamodel.Sequence; import jalview.datamodel.SequenceGroup; import jalview.datamodel.SequenceI; +import jalview.renderer.ResidueShader; +import jalview.schemes.ColourSchemeI; import jalview.schemes.ColourSchemeProperty; +import jalview.schemes.ResidueColourScheme; import jalview.schemes.UserColourScheme; -import jalview.structure.CommandListener; import jalview.structure.SelectionSource; import jalview.structure.StructureSelectionManager; import jalview.structure.VamsasSource; import jalview.util.MessageManager; import jalview.viewmodel.AlignmentViewport; +import jalview.viewmodel.ViewportRanges; import jalview.ws.params.AutoCalcSetting; import java.awt.Container; import java.awt.Dimension; import java.awt.Font; +import java.awt.FontMetrics; import java.awt.Rectangle; import java.util.ArrayList; import java.util.Hashtable; @@ -61,7 +65,6 @@ import java.util.List; import java.util.Vector; import javax.swing.JInternalFrame; -import javax.swing.JOptionPane; /** * DOCUMENT ME! @@ -70,11 +73,11 @@ import javax.swing.JOptionPane; * @version $Revision: 1.141 $ */ public class AlignViewport extends AlignmentViewport implements - SelectionSource, CommandListener + SelectionSource { Font font; - NJTree currentTree = null; + TreeModel currentTree = null; boolean cursorMode = false; @@ -236,10 +239,7 @@ public class AlignViewport extends AlignmentViewport implements void init() { - this.startRes = 0; - this.endRes = alignment.getWidth() - 1; - this.startSeq = 0; - this.endSeq = alignment.getHeight() - 1; + ranges = new ViewportRanges(this.alignment); applyViewProperties(); String fontName = Cache.getDefault("FONT_NAME", "SansSerif"); @@ -280,32 +280,33 @@ public class AlignViewport extends AlignmentViewport implements false); showGroupConsensus = Cache.getDefault("SHOW_GROUP_CONSENSUS", false); showConsensus = Cache.getDefault("SHOW_IDENTITY", true); + + showOccupancy = Cache.getDefault(Preferences.SHOW_OCCUPANCY, true); } initAutoAnnotation(); String colourProperty = alignment.isNucleotide() ? Preferences.DEFAULT_COLOUR_NUC : Preferences.DEFAULT_COLOUR_PROT; - String propertyValue = Cache.getProperty(colourProperty); - if (propertyValue == null) + String schemeName = Cache.getProperty(colourProperty); + if (schemeName == null) { - // fall back on this property for backwards compatibility - propertyValue = Cache.getProperty(Preferences.DEFAULT_COLOUR); + // only DEFAULT_COLOUR available in Jalview before 2.9 + schemeName = Cache.getDefault(Preferences.DEFAULT_COLOUR, + ResidueColourScheme.NONE); } - if (propertyValue != null) - { - globalColourScheme = ColourSchemeProperty.getColour(alignment, - propertyValue); + ColourSchemeI colourScheme = ColourSchemeProperty.getColourScheme( + alignment, schemeName); + residueShading = new ResidueShader(colourScheme); - if (globalColourScheme instanceof UserColourScheme) - { - globalColourScheme = UserDefinedColours.loadDefaultColours(); - ((UserColourScheme) globalColourScheme).setThreshold(0, - isIgnoreGapsConsensus()); - } + if (colourScheme instanceof UserColourScheme) + { + residueShading = new ResidueShader( + UserDefinedColours.loadDefaultColours()); + residueShading.setThreshold(0, isIgnoreGapsConsensus()); + } - if (globalColourScheme != null) - { - globalColourScheme.setConsensus(hconsensus); - } + if (residueShading != null) + { + residueShading.setConsensus(hconsensus); } } @@ -350,23 +351,19 @@ public class AlignViewport extends AlignmentViewport implements boolean validCharWidth; /** - * update view settings with the given font. You may need to call - * alignPanel.fontChanged to update the layout geometry - * - * @param setGrid - * when true, charWidth/height is set according to font mentrics + * {@inheritDoc} */ + @Override public void setFont(Font f, boolean setGrid) { font = f; Container c = new Container(); - java.awt.FontMetrics fm = c.getFontMetrics(font); - int w = viewStyle.getCharWidth(), ww = fm.charWidth('M'), h = viewStyle - .getCharHeight(); if (setGrid) { + FontMetrics fm = c.getFontMetrics(font); + int ww = fm.charWidth('M'); setCharHeight(fm.getHeight()); setCharWidth(ww); } @@ -383,7 +380,6 @@ public class AlignViewport extends AlignmentViewport implements super.setViewStyle(settingsForView); setFont(new Font(viewStyle.getFontName(), viewStyle.getFontStyle(), viewStyle.getFontSize()), false); - } /** @@ -494,7 +490,7 @@ public class AlignViewport extends AlignmentViewport implements * @param tree * DOCUMENT ME! */ - public void setCurrentTree(NJTree tree) + public void setCurrentTree(TreeModel tree) { currentTree = tree; } @@ -504,7 +500,7 @@ public class AlignViewport extends AlignmentViewport implements * * @return DOCUMENT ME! */ - public NJTree getCurrentTree() + public TreeModel getCurrentTree() { return currentTree; } @@ -855,7 +851,7 @@ public class AlignViewport extends AlignmentViewport implements } } - setEndSeq(getAlignment().getHeight()); + ranges.setEndSeq(getAlignment().getHeight()); firePropertyChange("alignment", null, getAlignment().getSequences()); } @@ -876,9 +872,9 @@ public class AlignViewport extends AlignmentViewport implements MessageManager.getString("label.new_window"), }; final String question = JvSwingUtils.wrapTooltip(true, MessageManager.getString("label.open_split_window?")); - int response = JOptionPane.showOptionDialog(Desktop.desktop, question, + int response = JvOptionPane.showOptionDialog(Desktop.desktop, question, MessageManager.getString("label.open_split_window"), - JOptionPane.DEFAULT_OPTION, JOptionPane.PLAIN_MESSAGE, null, + JvOptionPane.DEFAULT_OPTION, JvOptionPane.PLAIN_MESSAGE, null, options, options[0]); if (response != 1 && response != 2) @@ -918,7 +914,7 @@ public class AlignViewport extends AlignmentViewport implements // TODO if we want this (e.g. to enable reload of the alignment from file), // we will need to add parameters to the stack. - // if (!protocol.equals(AppletFormatAdapter.PASTE)) + // if (!protocol.equals(DataSourceType.PASTE)) // { // alignFrame.setFileName(file, format); // }