X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FAlignViewport.java;h=e999f803f2578faa7104fbaebd840edf1ae21a0b;hb=47168f025aefdaa044802bd5f8f510ffe43a4808;hp=a7317965a88249ce3dc38d298bc5c37dd89b11a0;hpb=4eac8151db55614ba80ef997014c74dd2712084c;p=jalview.git diff --git a/src/jalview/gui/AlignViewport.java b/src/jalview/gui/AlignViewport.java index a731796..e999f80 100644 --- a/src/jalview/gui/AlignViewport.java +++ b/src/jalview/gui/AlignViewport.java @@ -1,19 +1,22 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7) - * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2) + * Copyright (C) 2014 The Jalview Authors * * This file is part of Jalview. * * Jalview is free software: you can redistribute it and/or * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - * + * as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. + * * Jalview is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty * of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * - * You should have received a copy of the GNU General Public License along with Jalview. If not, see . + * You should have received a copy of the GNU General Public License + * along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. */ /* * Jalview - A Sequence Alignment Editor and Viewer @@ -35,29 +38,33 @@ */ package jalview.gui; -import java.util.*; - -import java.awt.*; - -import jalview.analysis.*; -import jalview.api.AlignCalcManagerI; +import jalview.analysis.NJTree; import jalview.api.AlignViewportI; -import jalview.api.AlignmentViewPanel; -import jalview.api.OOMHandlerI; - -import jalview.bin.*; - -import jalview.datamodel.*; - -import jalview.schemes.*; +import jalview.bin.Cache; +import jalview.datamodel.AlignmentAnnotation; +import jalview.datamodel.AlignmentI; +import jalview.datamodel.Annotation; +import jalview.datamodel.ColumnSelection; +import jalview.datamodel.PDBEntry; +import jalview.datamodel.Sequence; +import jalview.datamodel.SequenceGroup; +import jalview.datamodel.SequenceI; +import jalview.schemes.ColourSchemeProperty; +import jalview.schemes.UserColourScheme; import jalview.structure.SelectionSource; import jalview.structure.StructureSelectionManager; import jalview.structure.VamsasSource; import jalview.viewmodel.AlignmentViewport; -import jalview.workers.AlignCalcManager; -import jalview.workers.ConsensusThread; -import jalview.workers.ConservationThread; -import jalview.workers.StrucConsensusThread; +import jalview.ws.params.AutoCalcSetting; + +import java.awt.Color; +import java.awt.Container; +import java.awt.Font; +import java.awt.Rectangle; +import java.util.ArrayList; +import java.util.Hashtable; +import java.util.Stack; +import java.util.Vector; /** * DOCUMENT ME! @@ -65,7 +72,8 @@ import jalview.workers.StrucConsensusThread; * @author $author$ * @version $Revision: 1.141 $ */ -public class AlignViewport extends AlignmentViewport implements SelectionSource, VamsasSource, AlignViewportI +public class AlignViewport extends AlignmentViewport implements + SelectionSource, VamsasSource, AlignViewportI { int startRes; @@ -103,7 +111,6 @@ public class AlignViewport extends AlignmentViewport implements SelectionSource, boolean seqNameItalics; - NJTree currentTree = null; boolean scaleAboveWrapped = false; @@ -134,8 +141,6 @@ public class AlignViewport extends AlignmentViewport implements SelectionSource, Stack redoList = new Stack(); - Hashtable sequenceColours; - int thresholdTextColour = 0; Color textColour = Color.black; @@ -317,17 +322,18 @@ public class AlignViewport extends AlignmentViewport implements SelectionSource, { if (!alignment.isNucleotide()) { - showConservation=Cache.getDefault("SHOW_CONSERVATION", true); - showQuality=Cache.getDefault("SHOW_QUALITY", true); + showConservation = Cache.getDefault("SHOW_CONSERVATION", true); + showQuality = Cache.getDefault("SHOW_QUALITY", true); showGroupConservation = Cache.getDefault("SHOW_GROUP_CONSERVATION", false); - } + } showConsensusHistogram = Cache.getDefault("SHOW_CONSENSUS_HISTOGRAM", true); showSequenceLogo = Cache.getDefault("SHOW_CONSENSUS_LOGO", false); - normaliseSequenceLogo = Cache.getDefault("NORMALISE_CONSENSUS_LOGO", false); + normaliseSequenceLogo = Cache.getDefault("NORMALISE_CONSENSUS_LOGO", + false); showGroupConsensus = Cache.getDefault("SHOW_GROUP_CONSENSUS", false); - showConsensus=Cache.getDefault("SHOW_IDENTITY", true); + showConsensus = Cache.getDefault("SHOW_IDENTITY", true); consensus = new AlignmentAnnotation("Consensus", "PID", new Annotation[1], 0f, 100f, AlignmentAnnotation.BAR_GRAPH); consensus.hasText = true; @@ -647,7 +653,7 @@ public class AlignViewport extends AlignmentViewport implements SelectionSource, Desktop.instance).removeMappings(alignment.getCodonFrames()); } this.alignment = align; - if (alignment!=null && alignment.getCodonFrames() != null) + if (alignment != null && alignment.getCodonFrames() != null) { StructureSelectionManager.getStructureSelectionManager( Desktop.instance).addMappings(alignment.getCodonFrames()); @@ -909,7 +915,6 @@ public class AlignViewport extends AlignmentViewport implements SelectionSource, scaleRightWrapped = b; } - public void setDataset(boolean b) { isDataset = b; @@ -920,8 +925,6 @@ public class AlignViewport extends AlignmentViewport implements SelectionSource, return isDataset; } - - public boolean getShowHiddenMarkers() { return showHiddenMarkers; @@ -932,35 +935,6 @@ public class AlignViewport extends AlignmentViewport implements SelectionSource, showHiddenMarkers = show; } - public Color getSequenceColour(SequenceI seq) - { - if (sequenceColours == null || !sequenceColours.containsKey(seq)) - { - return Color.white; - } - else - { - return (Color) sequenceColours.get(seq); - } - } - - public void setSequenceColour(SequenceI seq, Color col) - { - if (sequenceColours == null) - { - sequenceColours = new Hashtable(); - } - - if (col == null) - { - sequenceColours.remove(seq); - } - else - { - sequenceColours.put(seq, col); - } - } - /** * returns the visible column regions of the alignment * @@ -1042,23 +1016,6 @@ public class AlignViewport extends AlignmentViewport implements SelectionSource, centreColumnLabels = centrecolumnlabels; } - public void updateSequenceIdColours() - { - if (sequenceColours == null) - { - sequenceColours = new Hashtable(); - } - for (SequenceGroup sg:alignment.getGroups()) - { - if (sg.idColour != null) - { - for (SequenceI s:sg.getSequences(getHiddenRepSequences())) - { - sequenceColours.put(s, sg.idColour); - } - } - } - } /** * enable or disable the display of Database Cross References in the sequence @@ -1270,7 +1227,6 @@ public class AlignViewport extends AlignmentViewport implements SelectionSource, return seqvectors.toArray(new SequenceI[seqvectors.size()][]); } - public boolean isNormaliseSequenceLogo() { return normaliseSequenceLogo; @@ -1281,24 +1237,32 @@ public class AlignViewport extends AlignmentViewport implements SelectionSource, normaliseSequenceLogo = state; } - /** * - * @return true if alignment characters should be displayed + * @return true if alignment characters should be displayed */ public boolean isValidCharWidth() { return validCharWidth; } - private jalview.ws.jws2.dm.AAConsSettings preferredAAConsSettings; - public jalview.ws.jws2.dm.AAConsSettings getPreferredAAConsSettings() + private Hashtable calcIdParams = new Hashtable(); + + public AutoCalcSetting getCalcIdSettingsFor(String calcId) { - return preferredAAConsSettings; + return calcIdParams.get(calcId); } - public void setPreferredAAConsSettings(jalview.ws.jws2.dm.AAConsSettings aaConsSettings) + + public void setCalcIdSettingsFor(String calcId, AutoCalcSetting settings, + boolean needsUpdate) { - preferredAAConsSettings=aaConsSettings; + calcIdParams.put(calcId, settings); + // TODO: create a restart list to trigger any calculations that need to be + // restarted after load + // calculator.getRegisteredWorkersOfClass(settings.getWorkerClass()) + if (needsUpdate) + { + Cache.log.debug("trigger update for " + calcId); + } } - }