import java.awt.Color;
import java.awt.Font;
import java.util.Hashtable;
+import java.util.Iterator;
import java.util.List;
import java.util.Map;
AlignmentView getAlignmentView(boolean selectedOnly, boolean markGroups);
/**
+ * @return an alignment view, optionally without a complement view
+ * @param selectedOnly
+ * @param markGroups
+ * @param withComplement - false if no complement view required
+ */
+ AlignmentView getAlignmentViewWithComplement(boolean selectedOnly,
+ boolean markGroups, boolean withComplement);
+
+ /**
* This method returns the visible alignment as text, as seen on the GUI, ie
* if columns are hidden they will not be returned in the result. Use this for
* calculating trees, PCA, redundancy etc on views which contain hidden
*/
void setFollowHighlight(boolean b);
+ /**
+ * 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
* temporary group.
*
*/
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);
+
+ /**
+ * 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);
}