X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fapi%2FAlignViewportI.java;h=d8ba30d007abda84883e1ef0f4ead7f8199c5e6e;hb=d7b642f2e152810cc9400f72b6db3826adb6f765;hp=61b295011936780382499de3c3e2101457d9e1b6;hpb=752bd6197b82c59d196b26a62edba81f16be2604;p=jalview.git
diff --git a/src/jalview/api/AlignViewportI.java b/src/jalview/api/AlignViewportI.java
index 61b2950..d8ba30d 100644
--- a/src/jalview/api/AlignViewportI.java
+++ b/src/jalview/api/AlignViewportI.java
@@ -1,23 +1,44 @@
-/**
+/*
+ * 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.
+ *
+ * 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 .
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
*/
package jalview.api;
+import java.awt.Color;
import java.util.Hashtable;
+import java.util.List;
import java.util.Map;
+import jalview.analysis.Conservation;
import jalview.datamodel.AlignmentAnnotation;
import jalview.datamodel.AlignmentI;
-import jalview.datamodel.AnnotatedCollectionI;
+import jalview.datamodel.AlignmentView;
+import jalview.datamodel.CigarArray;
import jalview.datamodel.ColumnSelection;
import jalview.datamodel.SequenceCollectionI;
+import jalview.datamodel.SequenceGroup;
import jalview.datamodel.SequenceI;
import jalview.schemes.ColourSchemeI;
-import jalview.schemes.RNAHelicesColour;
/**
* @author jimp
- *
+ *
*/
public interface AlignViewportI
{
@@ -31,7 +52,7 @@ public interface AlignViewportI
/**
* calculate the height for visible annotation, revalidating bounds where
* necessary ABSTRACT GUI METHOD
- *
+ *
* @return total height of annotation
*/
public int calcPanelHeight();
@@ -65,23 +86,28 @@ public interface AlignViewportI
AlignmentAnnotation getAlignmentQualityAnnot();
AlignmentAnnotation getAlignmentConservationAnnotation();
+
/**
* get the container for alignment consensus annotation
+ *
* @return
*/
AlignmentAnnotation getAlignmentConsensusAnnotation();
/**
* Test to see if viewport is still open and active
- * @return true indicates that all references to viewport should be dropped
+ *
+ * @return true indicates that all references to viewport should be dropped
*/
boolean isClosed();
+
/**
* get the associated calculation thread manager for the view
+ *
* @return
*/
AlignCalcManagerI getCalcManager();
-
+
/**
* get the percentage gaps allowed in a conservation calculation
*
@@ -90,24 +116,28 @@ public interface AlignViewportI
/**
* set the consensus result object for the viewport
+ *
* @param hconsensus
*/
void setSequenceConsensusHash(Hashtable[] hconsensus);
/**
*
- * @return the alignment annotatino row for the structure consensus calculation
+ * @return the alignment annotatino row for the structure consensus
+ * calculation
*/
AlignmentAnnotation getAlignmentStrucConsensusAnnotation();
/**
* set the Rna structure consensus result object for the viewport
- * @param hStrucConsensus
+ *
+ * @param hStrucConsensus
*/
void setRnaStructureConsensusHash(Hashtable[] hStrucConsensus);
/**
* set global colourscheme
+ *
* @param rhc
*/
void setGlobalColourScheme(ColourSchemeI rhc);
@@ -118,13 +148,56 @@ public interface AlignViewportI
Map hiddenRepSequences);
/**
- * hides or shows dynamic annotation rows based on groups and group and alignment associated auto-annotation state flags
- * apply the current group/autoannotation settings to the alignment view.
- * Usually you should call the AlignmentViewPanel.adjustAnnotationHeight() method afterwards to ensure the annotation panel bounds are set correctly.
- * @param applyGlobalSettings - apply to all autoannotation rows or just the ones associated with the current visible region
- * @param preserveNewGroupSettings - don't apply global settings to groups which don't already have group associated annotation
+ * hides or shows dynamic annotation rows based on groups and group and
+ * alignment associated auto-annotation state flags apply the current
+ * group/autoannotation settings to the alignment view. Usually you should
+ * call the AlignmentViewPanel.adjustAnnotationHeight() method afterwards to
+ * ensure the annotation panel bounds are set correctly.
+ *
+ * @param applyGlobalSettings
+ * - apply to all autoannotation rows or just the ones associated
+ * with the current visible region
+ * @param preserveNewGroupSettings
+ * - don't apply global settings to groups which don't already have
+ * group associated annotation
*/
void updateGroupAnnotationSettings(boolean applyGlobalSettings,
boolean preserveNewGroupSettings);
+ void setSequenceColour(SequenceI seq, Color col);
+
+ Color getSequenceColour(SequenceI seq);
+
+ void updateSequenceIdColours();
+
+ SequenceGroup getSelectionGroup();
+
+ SequenceI[] getSequenceSelection();
+
+ void clearSequenceColours();
+
+ CigarArray getViewAsCigars(boolean selectedRegionOnly);
+
+ AlignmentView getAlignmentView(boolean selectedOnly);
+
+ AlignmentView getAlignmentView(boolean selectedOnly, boolean markGroups);
+
+ String[] getViewAsString(boolean selectedRegionOnly);
+
+ void setSelectionGroup(SequenceGroup sg);
+
+ char getGapCharacter();
+
+ void setColumnSelection(ColumnSelection cs);
+
+ void setConservation(Conservation cons);
+
+ /**
+ * get a copy of the currently visible alignment annotation
+ * @param selectedOnly if true - trim to selected regions on the alignment
+ * @return an empty list or new alignment annotation objects shown only visible columns trimmed to selected region only
+ */
+ List getVisibleAlignmentAnnotation(
+ boolean selectedOnly);
+
}