*/
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.SequenceI;
import jalview.schemes.ColourSchemeI;
+import java.awt.Color;
+import java.util.Hashtable;
+import java.util.List;
+import java.util.Map;
+
/**
* @author jimp
*
SequenceGroup getSelectionGroup();
+ /**
+ * get the currently selected sequence objects or all the sequences in the
+ * alignment. TODO: change to List<>
+ *
+ * @return array of references to sequence objects
+ */
SequenceI[] getSequenceSelection();
void clearSequenceColours();
+ /**
+ * 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
+ * columns.
+ *
+ * @return String[]
+ */
CigarArray getViewAsCigars(boolean selectedRegionOnly);
+ /**
+ * return a compact representation of the current alignment selection to pass
+ * to an analysis function
+ *
+ * @param selectedOnly
+ * boolean true to just return the selected view
+ * @return AlignmentView
+ */
AlignmentView getAlignmentView(boolean selectedOnly);
+ /**
+ * return a compact representation of the current alignment selection to pass
+ * to an analysis function
+ *
+ * @param selectedOnly
+ * boolean true to just return the selected view
+ * @param markGroups
+ * boolean true to annotate the alignment view with groups on the
+ * alignment (and intersecting with selected region if selectedOnly
+ * is true)
+ * @return AlignmentView
+ */
AlignmentView getAlignmentView(boolean selectedOnly, boolean markGroups);
+ /**
+ * 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
+ * columns.
+ *
+ * @return String[]
+ */
String[] getViewAsString(boolean selectedRegionOnly);
void setSelectionGroup(SequenceGroup sg);
* @return
*/
boolean isShowAnnotation();
+
+ boolean isRightAlignIds();
+
+ void setRightAlignIds(boolean rightAlignIds);
+
+ boolean areFeaturesDisplayed();
+
+ void setShowSequenceFeaturesHeight(boolean selected);
+
+ boolean isShowSequenceFeaturesHeight();
+
+ void setFeaturesDisplayed(FeaturesDisplayedI featuresDisplayedI);
+
+ void alignmentChanged(AlignmentViewPanel ap);
+
+ /**
+ * @return the padGaps
+ */
+ boolean isPadGaps();
+
+ /**
+ * @param padGaps
+ * the padGaps to set
+ */
+ void setPadGaps(boolean padGaps);
+
+ /**
+ * return visible region boundaries within given column range
+ *
+ * @param min
+ * first column (inclusive, from 0)
+ * @param max
+ * last column (exclusive)
+ * @return int[][] range of {start,end} visible positions TODO: change to list
+ * of int ranges
+ */
+ int[][] getVisibleRegionBoundaries(int min, int max);
+
+ /**
+ * This method returns an array of new SequenceI objects derived from the
+ * whole alignment or just the current selection with start and end points
+ * adjusted
+ *
+ * @note if you need references to the actual SequenceI objects in the
+ * alignment or currently selected then use getSequenceSelection()
+ * @return selection as new sequenceI objects
+ */
+ SequenceI[] getSelectionAsNewSequence();
+
+ void invertColumnSelection();
+
+ /**
+ * broadcast selection to any interested parties
+ */
+ void sendSelection();
+
+ /**
+ * calculate the row position for alignmentIndex if all hidden sequences were
+ * shown
+ *
+ * @param alignmentIndex
+ * @return adjusted row position
+ */
+ int adjustForHiddenSeqs(int alignmentIndex);
+
+ boolean hasHiddenRows();
+
+ /**
+ *
+ * @return a copy of this view's current display settings
+ */
+ public ViewStyleI getViewStyle();
+
+ /**
+ * update the view's display settings with the given style set
+ *
+ * @param settingsForView
+ */
+ public void setViewStyle(ViewStyleI settingsForView);
}