git://source.jalview.org
/
jalview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'doc/JAL-4090_Release_2_11_3_0' into develop
[jalview.git]
/
src
/
jalview
/
gui
/
SeqCanvas.java
diff --git
a/src/jalview/gui/SeqCanvas.java
b/src/jalview/gui/SeqCanvas.java
index
19d7c21
..
537af58
100755
(executable)
--- a/
src/jalview/gui/SeqCanvas.java
+++ b/
src/jalview/gui/SeqCanvas.java
@@
-35,6
+35,7
@@
import java.util.List;
import javax.swing.JPanel;
import javax.swing.JPanel;
+import jalview.api.SequenceRenderer;
import jalview.datamodel.AlignmentI;
import jalview.datamodel.HiddenColumns;
import jalview.datamodel.SearchResultsI;
import jalview.datamodel.AlignmentI;
import jalview.datamodel.HiddenColumns;
import jalview.datamodel.SearchResultsI;
@@
-107,7
+108,7
@@
public class SeqCanvas extends JPanel implements ViewportListenerI
{
this.av = ap.av;
fr = new FeatureRenderer(ap);
{
this.av = ap.av;
fr = new FeatureRenderer(ap);
- seqRdr = new SequenceRenderer(av);
+ seqRdr = new jalview.gui.SequenceRenderer(av);
setLayout(new BorderLayout());
PaintRefresher.Register(this, av.getSequenceSetId());
setBackground(Color.white);
setLayout(new BorderLayout());
PaintRefresher.Register(this, av.getSequenceSetId());
setBackground(Color.white);
@@
-343,7
+344,7
@@
public class SeqCanvas extends JPanel implements ViewportListenerI
}
}
}
}
- // System.err.println(">>> FastPaint to " + transX + " " + transY + " "
+ // jalview.bin.Console.errPrintln(">>> FastPaint to " + transX + " " + transY + " "
// + horizontal + " " + vertical + " " + startRes + " " + endRes
// + " " + startSeq + " " + endSeq);
// + horizontal + " " + vertical + " " + startRes + " " + endRes
// + " " + startSeq + " " + endSeq);
@@
-355,14
+356,14
@@
public class SeqCanvas extends JPanel implements ViewportListenerI
/** @j2sNative xxi = this.img */
gg.translate(transX, transY);
/** @j2sNative xxi = this.img */
gg.translate(transX, transY);
- drawPanel(gg, startRes, endRes, startSeq, endSeq, 0);
+ drawPanel(seqRdr, gg, startRes, endRes, startSeq, endSeq, 0);
gg.translate(-transX, -transY);
gg.dispose();
// Call repaint on alignment panel so that repaints from other alignment
// panel components can be aggregated. Otherwise performance of the
// overview window and others may be adversely affected.
gg.translate(-transX, -transY);
gg.dispose();
// Call repaint on alignment panel so that repaints from other alignment
// panel components can be aggregated. Otherwise performance of the
// overview window and others may be adversely affected.
- // System.out.println("SeqCanvas fastPaint() repaint() request...");
+ // jalview.bin.Console.outPrintln("SeqCanvas fastPaint() repaint() request...");
av.getAlignPanel().repaint();
} finally
{
av.getAlignPanel().repaint();
} finally
{
@@
-455,11
+456,11
@@
public class SeqCanvas extends JPanel implements ViewportListenerI
if (av.getWrapAlignment())
{
if (av.getWrapAlignment())
{
- drawWrappedPanel(gg, getWidth(), getHeight(), ranges.getStartRes());
+ drawWrappedPanel(seqRdr, gg, getWidth(), getHeight(), ranges.getStartRes());
}
else
{
}
else
{
- drawPanel(gg, startRes, endRes, startSeq, endSeq, 0);
+ drawPanel(seqRdr,gg, startRes, endRes, startSeq, endSeq, 0);
}
drawSelectionGroup(gg, startRes, endRes, startSeq, endSeq);
}
drawSelectionGroup(gg, startRes, endRes, startSeq, endSeq);
@@
-491,7
+492,8
@@
public class SeqCanvas extends JPanel implements ViewportListenerI
public void drawPanelForPrinting(Graphics g1, int startRes, int endRes,
int startSeq, int endSeq)
{
public void drawPanelForPrinting(Graphics g1, int startRes, int endRes,
int startSeq, int endSeq)
{
- drawPanel(g1, startRes, endRes, startSeq, endSeq, 0);
+ SequenceRenderer localSeqR = new jalview.gui.SequenceRenderer(av);
+ drawPanel(localSeqR,g1, startRes, endRes, startSeq, endSeq, 0);
drawSelectionGroup((Graphics2D) g1, startRes, endRes, startSeq, endSeq);
}
drawSelectionGroup((Graphics2D) g1, startRes, endRes, startSeq, endSeq);
}
@@
-511,7
+513,8
@@
public class SeqCanvas extends JPanel implements ViewportListenerI
public void drawWrappedPanelForPrinting(Graphics g, int canvasWidth,
int canvasHeight, int startRes)
{
public void drawWrappedPanelForPrinting(Graphics g, int canvasWidth,
int canvasHeight, int startRes)
{
- drawWrappedPanel(g, canvasWidth, canvasHeight, startRes);
+ SequenceRenderer localSeqR = new jalview.gui.SequenceRenderer(av);
+ drawWrappedPanel(localSeqR, g, canvasWidth, canvasHeight, startRes);
SequenceGroup group = av.getSelectionGroup();
if (group != null)
SequenceGroup group = av.getSelectionGroup();
if (group != null)
@@
-608,7
+611,7
@@
public class SeqCanvas extends JPanel implements ViewportListenerI
* @param startColumn
* the first column (0...) of the alignment to draw
*/
* @param startColumn
* the first column (0...) of the alignment to draw
*/
- public void drawWrappedPanel(Graphics g, int canvasWidth,
+ public void drawWrappedPanel(SequenceRenderer seqRdr, Graphics g, int canvasWidth,
int canvasHeight, final int startColumn)
{
int wrappedWidthInResidues = calculateWrappedGeometry(canvasWidth,
int canvasHeight, final int startColumn)
{
int wrappedWidthInResidues = calculateWrappedGeometry(canvasWidth,
@@
-637,7
+640,7
@@
public class SeqCanvas extends JPanel implements ViewportListenerI
{
int endColumn = Math.min(maxWidth,
start + wrappedWidthInResidues - 1);
{
int endColumn = Math.min(maxWidth,
start + wrappedWidthInResidues - 1);
- drawWrappedWidth(g, ypos, start, endColumn, canvasHeight);
+ drawWrappedWidth(seqRdr, g, ypos, start, endColumn, canvasHeight);
ypos += wrappedRepeatHeightPx;
start += wrappedWidthInResidues;
currentWidth++;
ypos += wrappedRepeatHeightPx;
start += wrappedWidthInResidues;
currentWidth++;
@@
-730,7
+733,7
@@
public class SeqCanvas extends JPanel implements ViewportListenerI
* @param endColumn
* @param canvasHeight
*/
* @param endColumn
* @param canvasHeight
*/
- protected void drawWrappedWidth(Graphics g, final int ypos,
+ protected void drawWrappedWidth(SequenceRenderer seqRdr, Graphics g, final int ypos,
final int startColumn, final int endColumn,
final int canvasHeight)
{
final int startColumn, final int endColumn,
final int canvasHeight)
{
@@
-759,7
+762,7
@@
public class SeqCanvas extends JPanel implements ViewportListenerI
g.fillRect(0, ypos, (endx - startColumn + 1) * charWidth,
wrappedRepeatHeightPx);
g.fillRect(0, ypos, (endx - startColumn + 1) * charWidth,
wrappedRepeatHeightPx);
- drawPanel(g, startColumn, endx, 0, av.getAlignment().getHeight() - 1,
+ drawPanel(seqRdr, g, startColumn, endx, 0, av.getAlignment().getHeight() - 1,
ypos);
int cHeight = av.getAlignment().getHeight() * av.getCharHeight();
ypos);
int cHeight = av.getAlignment().getHeight() * av.getCharHeight();
@@
-963,6
+966,7
@@
public class SeqCanvas extends JPanel implements ViewportListenerI
* are hidden column markers in the visible region, then each sub-region
* between the markers is drawn separately, followed by the hidden column
* marker.
* are hidden column markers in the visible region, then each sub-region
* between the markers is drawn separately, followed by the hidden column
* marker.
+ * @param localSeqR - sequence renderer implementation - when null, uses the one used for rendering interactive GUI
*
* @param g1
* the graphics context, positioned at the first residue to be drawn
*
* @param g1
* the graphics context, positioned at the first residue to be drawn
@@
-977,15
+981,19
@@
public class SeqCanvas extends JPanel implements ViewportListenerI
* @param yOffset
* vertical offset at which to draw (for wrapped alignments)
*/
* @param yOffset
* vertical offset at which to draw (for wrapped alignments)
*/
- public void drawPanel(Graphics g1, final int startRes, final int endRes,
+ public void drawPanel(SequenceRenderer localSeqR, Graphics g1, final int startRes, final int endRes,
final int startSeq, final int endSeq, final int yOffset)
{
int charHeight = av.getCharHeight();
int charWidth = av.getCharWidth();
final int startSeq, final int endSeq, final int yOffset)
{
int charHeight = av.getCharHeight();
int charWidth = av.getCharWidth();
+ if (localSeqR==null)
+ {
+ localSeqR = seqRdr;
+ }
if (!av.hasHiddenColumns())
{
if (!av.hasHiddenColumns())
{
- draw(g1, startRes, endRes, startSeq, endSeq, yOffset);
+ draw(localSeqR, g1, startRes, endRes, startSeq, endSeq, yOffset);
}
else
{
}
else
{
@@
-1009,7
+1017,7
@@
public class SeqCanvas extends JPanel implements ViewportListenerI
*/
g1.translate(screenY * charWidth, 0);
*/
g1.translate(screenY * charWidth, 0);
- draw(g1, blockStart, blockEnd, startSeq, endSeq, yOffset);
+ draw(localSeqR, g1, blockStart, blockEnd, startSeq, endSeq, yOffset);
/*
* draw the downline of the hidden column marker (ScalePanel draws the
/*
* draw the downline of the hidden column marker (ScalePanel draws the
@@
-1034,6
+1042,7
@@
public class SeqCanvas extends JPanel implements ViewportListenerI
/**
* Draws a region of the visible alignment
/**
* Draws a region of the visible alignment
+ * @param seqRdr
*
* @param g1
* @param startRes
*
* @param g1
* @param startRes
@@
-1047,7
+1056,7
@@
public class SeqCanvas extends JPanel implements ViewportListenerI
* @param yOffset
* vertical offset at which to draw (for wrapped alignments)
*/
* @param yOffset
* vertical offset at which to draw (for wrapped alignments)
*/
- private void draw(Graphics g, int startRes, int endRes, int startSeq,
+ private void draw(SequenceRenderer seqRdr, Graphics g, int startRes, int endRes, int startSeq,
int endSeq, int offset)
{
int charHeight = av.getCharHeight();
int endSeq, int offset)
{
int charHeight = av.getCharHeight();
@@
-1389,8
+1398,8
@@
public class SeqCanvas extends JPanel implements ViewportListenerI
}
else if (inGroup)
{
}
else if (inGroup)
{
- drawVerticals(g, sx, xwidth, visWidth, oldY, sy);
- drawHorizontals(g, sx, xwidth, visWidth, top, bottom);
+ drawVerticals(g, sx, xwidth, visWidth, oldY, bottom);
+ drawHorizontals(g, sx, xwidth, visWidth, top, bottom+1);
// reset top and bottom
top = -1;
// reset top and bottom
top = -1;
@@
-1401,8
+1410,8
@@
public class SeqCanvas extends JPanel implements ViewportListenerI
if (inGroup)
{
sy = verticalOffset + ((i - startSeq) * charHeight);
if (inGroup)
{
sy = verticalOffset + ((i - startSeq) * charHeight);
- drawVerticals(g, sx, xwidth, visWidth, oldY, sy);
- drawHorizontals(g, sx, xwidth, visWidth, top, bottom);
+ drawVerticals(g, sx, xwidth, visWidth, oldY, bottom);
+ drawHorizontals(g, sx, xwidth, visWidth, top, bottom+1);
}
}
}
}
}
}
@@
-1667,7
+1676,7
@@
public class SeqCanvas extends JPanel implements ViewportListenerI
int transY = (firstSeq - ranges.getStartSeq()) * av.getCharHeight();
Graphics gg = img.getGraphics();
gg.translate(transX, transY);
int transY = (firstSeq - ranges.getStartSeq()) * av.getCharHeight();
Graphics gg = img.getGraphics();
gg.translate(transX, transY);
- drawPanel(gg, firstCol, lastCol, firstSeq, lastSeq, 0);
+ drawPanel(seqRdr, gg, firstCol, lastCol, firstSeq, lastSeq, 0);
gg.translate(-transX, -transY);
gg.dispose();
}
gg.translate(-transX, -transY);
gg.dispose();
}
@@
-1679,7
+1688,7
@@
public class SeqCanvas extends JPanel implements ViewportListenerI
public void propertyChange(PropertyChangeEvent evt)
{
String eventName = evt.getPropertyName();
public void propertyChange(PropertyChangeEvent evt)
{
String eventName = evt.getPropertyName();
- // System.err.println(">>SeqCanvas propertyChange " + eventName);
+ // jalview.bin.Console.errPrintln(">>SeqCanvas propertyChange " + eventName);
if (eventName.equals(SequenceGroup.SEQ_GROUP_CHANGED))
{
fastPaint = true;
if (eventName.equals(SequenceGroup.SEQ_GROUP_CHANGED))
{
fastPaint = true;
@@
-1689,7
+1698,7
@@
public class SeqCanvas extends JPanel implements ViewportListenerI
else if (eventName.equals(ViewportRanges.MOVE_VIEWPORT))
{
fastPaint = false;
else if (eventName.equals(ViewportRanges.MOVE_VIEWPORT))
{
fastPaint = false;
- // System.err.println("!!!! fastPaint false from MOVE_VIEWPORT");
+ // jalview.bin.Console.errPrintln("!!!! fastPaint false from MOVE_VIEWPORT");
repaint();
return;
}
repaint();
return;
}
@@
-1819,7
+1828,7
@@
public class SeqCanvas extends JPanel implements ViewportListenerI
if (scrollX < 0)
{
int startRes = ranges.getStartRes();
if (scrollX < 0)
{
int startRes = ranges.getStartRes();
- drawWrappedWidth(gg, wrappedSpaceAboveAlignment, startRes,
+ drawWrappedWidth(seqRdr,gg, wrappedSpaceAboveAlignment, startRes,
startRes - scrollX - 1, getHeight());
}
else
startRes - scrollX - 1, getHeight());
}
else
@@
-1893,7
+1902,7
@@
public class SeqCanvas extends JPanel implements ViewportListenerI
wrappedRepeatHeightPx);
gg.translate(-xOffset, 0);
wrappedRepeatHeightPx);
gg.translate(-xOffset, 0);
- drawWrappedWidth(gg, ypos, startRes, endRes, canvasHeight);
+ drawWrappedWidth(seqRdr, gg, ypos, startRes, endRes, canvasHeight);
}
}
@@
-1926,7
+1935,7
@@
public class SeqCanvas extends JPanel implements ViewportListenerI
if (startRes < ranges.getVisibleAlignmentWidth())
{
if (startRes < ranges.getVisibleAlignmentWidth())
{
- drawWrappedWidth(gg, ypos, startRes, endRes, canvasHeight);
+ drawWrappedWidth(seqRdr, gg, ypos, startRes, endRes, canvasHeight);
}
/*
}
/*
@@
-2147,7
+2156,7
@@
public class SeqCanvas extends JPanel implements ViewportListenerI
{
matchFound = true;
gg.translate(transX, transY);
{
matchFound = true;
gg.translate(transX, transY);
- drawPanel(gg, displayColumn, displayColumn, seqNo, seqNo,
+ drawPanel(seqRdr,gg, displayColumn, displayColumn, seqNo, seqNo,
yOffset);
gg.translate(-transX, -transY);
}
yOffset);
gg.translate(-transX, -transY);
}