SequenceListener, SelectionListener
{
/*
+ *
* a class that holds computed mouse position
* - column of the alignment (0...)
* - sequence offset (0...)
*/
public SeqPanel(AlignViewport viewport, AlignmentPanel alignPanel)
{
+ setName("SeqPanel");
seqARep = new SequenceAnnotationReport(true);
ToolTipManager.sharedInstance().registerComponent(this);
ToolTipManager.sharedInstance().setInitialDelay(0);
int alignmentHeight = av.getAlignment().getHeight();
if (av.getWrapAlignment())
{
- seqCanvas.calculateWrappedGeometry(seqCanvas.getWidth(),
- seqCanvas.getHeight());
+ seqCanvas.calculateWrappedGeometry();
/*
* yPos modulo height of repeating width
if (editCommand != null && editCommand.getSize() > 0)
{
ap.alignFrame.addHistoryItem(editCommand);
- av.firePropertyChange("alignment", null,
- av.getAlignment().getSequences());
+ ap.av.notifyAlignment();
}
} finally
{
String tooltip = AnnotationPanel.buildToolTip(anns[rowIndex], column,
anns);
- if (!tooltip.equals(lastTooltip))
+ boolean tooltipChanged = tooltip == null ? lastTooltip != null : !tooltip.equals(lastTooltip);
+ if (tooltipChanged)
{
lastTooltip = tooltip;
lastFormattedTooltip = tooltip == null ? null
{
return lastSearchResults;
}
+
+ /**
+ * scroll to the given row/column - or nearest visible location
+ *
+ * @param row
+ * @param column
+ */
+ public void scrollTo(int row, int column)
+ {
+
+ row = row < 0 ? ap.av.getRanges().getStartSeq() : row;
+ column = column < 0 ? ap.av.getRanges().getStartRes() : column;
+ ap.scrollTo(column, column, row, true, true);
+ }
+
+ /**
+ * scroll to the given row - or nearest visible location
+ *
+ * @param row
+ */
+ public void scrollToRow(int row)
+ {
+
+ row = row < 0 ? ap.av.getRanges().getStartSeq() : row;
+ ap.scrollTo(ap.av.getRanges().getStartRes(),
+ ap.av.getRanges().getStartRes(), row, true, true);
+ }
+
+ /**
+ * scroll to the given column - or nearest visible location
+ *
+ * @param column
+ */
+ public void scrollToColumn(int column)
+ {
+
+ column = column < 0 ? ap.av.getRanges().getStartRes() : column;
+ ap.scrollTo(column, column, ap.av.getRanges().getStartSeq(), true,
+ true);
+ }
}