import jalview.analysis.Conservation;
import jalview.analysis.TreeModel;
import jalview.datamodel.AlignmentAnnotation;
+import jalview.datamodel.AlignmentExportData;
import jalview.datamodel.AlignmentI;
import jalview.datamodel.AlignmentView;
import jalview.datamodel.ColumnSelection;
import java.awt.Color;
import java.awt.Font;
import java.util.Hashtable;
+import java.util.Iterator;
import java.util.List;
import java.util.Map;
ColumnSelection getColumnSelection();
- ProfilesI getConsensusProfiles();
+ ProfilesI getSequenceConsensusHash();
/**
* Get consensus data table for the cDNA complement of this alignment (if any)
*
* @return
*/
- Hashtable[] getComplementConsensusHash();
+ Hashtable<String, Object>[] getComplementConsensusHash();
- Hashtable[] getRnaStructureConsensusHash();
+ Hashtable<String, Object>[] getRnaStructureConsensusHash();
boolean isIgnoreGapsConsensus();
*
* @return
*/
- AlignmentAnnotation getOccupancyAnnotation();
+ AlignmentAnnotation getAlignmentGapAnnotation();
/**
* get the container for cDNA complement consensus annotation
*
* @return
*/
- AlignCalcManagerI getCalcManager();
+ AlignCalcManagerI2 getCalcManager();
/**
* get the percentage gaps allowed in a conservation calculation
*
* @param hconsensus
*/
- void setConsensusProfiles(ProfilesI hconsensus);
+ void setSequenceConsensusHash(ProfilesI hconsensus);
/**
* Set the cDNA complement consensus for the viewport
*
* @param hconsensus
*/
- void setComplementConsensusHash(Hashtable[] hconsensus);
+ void setComplementConsensusHash(Hashtable<String, Object>[] hconsensus);
/**
*
*
* @param hStrucConsensus
*/
- void setRnaStructureConsensusHash(Hashtable[] hStrucConsensus);
+ void setRnaStructureConsensusHash(
+ Hashtable<String, Object>[] hStrucConsensus);
/**
* Sets the colour scheme for the background alignment (as distinct from
*
* @return a copy of this view's current display settings
*/
- ViewStyleI getViewStyle();
+ public ViewStyleI getViewStyle();
/**
* update the view's display settings with the given style set
*
* @param settingsForView
*/
- void setViewStyle(ViewStyleI settingsForView);
+ public void setViewStyle(ViewStyleI settingsForView);
/**
* Returns a viewport which holds the cDna for this (protein), or vice versa,
*/
void setFollowHighlight(boolean b);
- void applyFeaturesStyle(FeatureSettingsModelI featureSettings);
+ /**
+ * configure the feature renderer with predefined feature settings
+ *
+ * @param featureSettings
+ */
+ public void applyFeaturesStyle(FeatureSettingsModelI featureSettings);
+
+ /**
+ * Apply the given feature settings on top of existing feature settings.
+ */
+ public void mergeFeaturesStyle(FeatureSettingsModelI featureSettings);
/**
* check if current selection group is defined on the view, or is simply a
boolean isInfoLetterHeight();
- abstract TreeModel getCurrentTree();
+ public abstract TreeModel getCurrentTree();
+
+ /**
+ * Answers a data bean containing data for export as configured by the
+ * supplied options
+ *
+ * @param options
+ * @return
+ */
+ AlignmentExportData getAlignExportData(AlignExportSettingsI options);
+
+ public abstract void setCurrentTree(TreeModel tree);
+
+ /**
+ * @param update
+ * - set the flag for updating structures on next repaint
+ */
+ void setUpdateStructures(boolean update);
+
+ /**
+ *
+ * @return true if structure views will be updated on next refresh
+ */
+ boolean isUpdateStructures();
+
+ /**
+ * check if structure views need to be updated, and clear the flag afterwards.
+ *
+ * @return if an update is needed
+ */
+ boolean needToUpdateStructureViews();
+
+ /**
+ * Adds sequencegroup to the alignment in the view. Also adds a group to the
+ * complement view if one is defined.
+ *
+ * @param sequenceGroup
+ * - a group defined on sequences in the alignment held by the view
+ */
+ void addSequenceGroup(SequenceGroup sequenceGroup);
- abstract void setCurrentTree(TreeModel tree);
+ /**
+ * Returns an interator over the [start, end] column positions of the visible
+ * regions of the alignment
+ *
+ * @param selectedRegionOnly
+ * if true, and the view has a selection region,
+ * then only the intersection of visible columns
+ * with the selection region is returned
+ * @return
+ */
+ Iterator<int[]> getViewAsVisibleContigs(boolean selectedRegionOnly);
}