*/
package jalview.datamodel;
-import java.util.Hashtable;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
*
- * Calculates the maximum width of the alignment, including gaps.
+ * Answers the width of the alignment, including gaps, that is, the length of
+ * the longest sequence, or -1 if there are no sequences. Avoid calling this
+ * method repeatedly where possible, as it has to perform a calculation. Note
+ * that this width includes any hidden columns.
*
- * @return Greatest sequence length within alignment, or -1 if no sequences
- * present
+ * @return
+ * @see AlignmentI#getVisibleWidth()
*/
@Override
int getWidth();
/**
+ *
+ * Answers the visible width of the alignment, including gaps, that is, the
+ * length of the longest sequence, excluding any hidden columns. Answers -1 if
+ * there are no sequences. Avoid calling this method repeatedly where
+ * possible, as it has to perform a calculation.
+ *
+ * @return
+ */
+ int getVisibleWidth();
+
+ /**
* Calculates if this set of sequences (visible and invisible) are all the
* same length
*
*
* @return hashtable of alignment properties (or null if none are defined)
*/
- Hashtable getProperties();
+ Map<Object, Object> getProperties();
/**
* add a reference to a frame of aligned codons for this alignment
AlignedCodonFrame getMapping(SequenceI mapFrom, SequenceI mapTo);
/**
- * Set the hidden columns collection on the alignment
+ * Set the hidden columns collection on the alignment. Answers true if the
+ * hidden column selection changed, else false.
*
* @param cols
+ * @return
*/
- public void setHiddenColumns(HiddenColumns cols);
+ public boolean setHiddenColumns(HiddenColumns cols);
/**
* Set the first sequence as representative and hide its insertions. Typically