*/
package jalview.viewmodel;
+import java.awt.Color;
+import java.beans.PropertyChangeSupport;
+import java.util.ArrayDeque;
+import java.util.ArrayList;
+import java.util.BitSet;
+import java.util.Deque;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
import jalview.analysis.AnnotationSorter.SequenceAnnotationOrder;
import jalview.analysis.Conservation;
import jalview.analysis.TreeModel;
import jalview.workers.ConsensusThread;
import jalview.workers.StrucConsensusThread;
-import java.awt.Color;
-import java.beans.PropertyChangeSupport;
-import java.util.ArrayDeque;
-import java.util.ArrayList;
-import java.util.BitSet;
-import java.util.Deque;
-import java.util.HashMap;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
/**
* base class holding visualization and analysis attributes and common logic for
* an active alignment view displayed in the GUI
viewStyle.setSeqNameItalics(default1);
}
+ /**
+ * Set the flag indicating that feature count annotation tracks are to be
+ * displayed
+ *
+ * @see jalview.api.ViewStyleI#setShowSequenceFeatureCounts(boolean)
+ */
+ @Override
+ public void setShowSequenceFeatureCounts(boolean show)
+ {
+ viewStyle.setShowSequenceFeatureCounts(show);
+ }
+
+ /**
+ * @return true if feature count annotation tracks are to be displayed
+ * @see jalview.api.ViewStyleI#isShowSequenceFeatureCounts()
+ */
+ @Override
+ public boolean isShowSequenceFeatureCounts()
+ {
+ return viewStyle.isShowSequenceFeatureCounts();
+ }
+
@Override
public AlignmentI getAlignment()
{
* retain any colour thresholds per group while
* changing choice of colour scheme (JAL-2386)
*/
- sg.setColourScheme(
- cs == null ? null : cs.getInstance(this, sg));
+ sg.setColourScheme(cs == null ? null : cs.getInstance(this, sg));
if (cs != null)
{
sg.getGroupColourScheme().alignmentChanged(sg,
@Override
public void setConservation(Conservation cons)
{
+ alignment.setConservation(cons);
hconservation = cons;
}
@Override
public void setSequenceConsensusHash(ProfilesI hconsensus)
{
+ alignment.setSequenceConsensusHash(hconsensus);
this.hconsensus = hconsensus;
}
public void setComplementConsensusHash(
Hashtable<String, Object>[] hconsensus)
{
+ alignment.setComplementConsensusHash(hconsensus);
this.hcomplementConsensus = hconsensus;
}
public void setRnaStructureConsensusHash(
Hashtable<String, Object>[] hStrucConsensus)
{
+ alignment.setRnaStructureConsensusHash(hStrucConsensus);
this.hStrucConsensus = hStrucConsensus;
}
AlignmentAnnotation clone = new AlignmentAnnotation(annot);
if (selectedOnly && selectionGroup != null)
{
- clone.makeVisibleAnnotation(
- selectionGroup.getStartRes(), selectionGroup.getEndRes(),
- alignment.getHiddenColumns());
+ clone.makeVisibleAnnotation(selectionGroup.getStartRes(),
+ selectionGroup.getEndRes(), alignment.getHiddenColumns());
}
else
{
}
@Override
- public AlignmentExportData getAlignExportData(AlignExportSettingsI options)
+ public AlignmentExportData getAlignExportData(
+ AlignExportSettingsI options)
{
AlignmentI alignmentToExport = null;
String[] omitHidden = null;
omitHidden, alignmentStartEnd);
return ed;
}
-
+
/**
* flag set to indicate if structure views might be out of sync with sequences
* in the alignment
codingComplement.setUpdateStructures(needToUpdateStructureViews);
}
}
+
+ @Override
+ public Iterator<int[]> getViewAsVisibleContigs(boolean selectedRegionOnly)
+ {
+ int start = 0;
+ int end = 0;
+ if (selectedRegionOnly && selectionGroup != null)
+ {
+ start = selectionGroup.getStartRes();
+ end = selectionGroup.getEndRes() + 1;
+ }
+ else
+ {
+ end = alignment.getWidth();
+ }
+ return (alignment.getHiddenColumns().getVisContigsIterator(start, end,
+ false));
+ }
}