X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FIdCanvas.java;h=6810fed9e16f47ff76cbcf78dbf4b3b9d5cd5224;hb=cca50cb3aee94f3ed1a5e504d45b8d8b665f8c5b;hp=b1fbe0846d72ca5744a396eca2125ea4204775e9;hpb=506d60f0e188723ddc91c26824b41ac7034df3fe;p=jalview.git diff --git a/src/jalview/gui/IdCanvas.java b/src/jalview/gui/IdCanvas.java index b1fbe08..6810fed 100755 --- a/src/jalview/gui/IdCanvas.java +++ b/src/jalview/gui/IdCanvas.java @@ -1,25 +1,29 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.4) - * Copyright (C) 2008 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2) + * Copyright (C) 2014 The Jalview Authors * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. + * This file is part of Jalview. * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * Jalview is free software: you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. + * + * Jalview is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + * along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. */ package jalview.gui; import java.awt.*; import java.awt.image.*; +import java.util.List; + import javax.swing.*; import jalview.datamodel.*; @@ -48,7 +52,7 @@ public class IdCanvas extends JPanel boolean fastPaint = false; - java.util.Vector searchResults; + List searchResults; FontMetrics fm; @@ -56,13 +60,13 @@ public class IdCanvas extends JPanel AnnotationPanel ap; - Font idfont; + private Font idfont; /** * Creates a new IdCanvas object. * * @param av - * DOCUMENT ME! + * DOCUMENT ME! */ public IdCanvas(AlignViewport av) { @@ -75,15 +79,15 @@ public class IdCanvas extends JPanel * DOCUMENT ME! * * @param gg - * DOCUMENT ME! + * DOCUMENT ME! * @param s - * DOCUMENT ME! + * DOCUMENT ME! * @param i - * DOCUMENT ME! + * DOCUMENT ME! * @param starty - * DOCUMENT ME! + * DOCUMENT ME! * @param ypos - * DOCUMENT ME! + * DOCUMENT ME! */ public void drawIdString(Graphics2D gg, SequenceI s, int i, int starty, int ypos) @@ -115,7 +119,7 @@ public class IdCanvas extends JPanel gg.setColor(Color.black); } - if (av.rightAlignIds) + if (av.isRightAlignIds()) { xPos = panelWidth - fm.stringWidth(s.getDisplayId(av.getShowJVSuffix())) - 4; @@ -124,7 +128,7 @@ public class IdCanvas extends JPanel gg.drawString(s.getDisplayId(av.getShowJVSuffix()), xPos, (((i - starty + 1) * charHeight) + ypos) - (charHeight / 5)); - if (av.hasHiddenRows && av.showHiddenMarkers) + if (av.hasHiddenRows() && av.showHiddenMarkers) { drawMarker(i, starty, ypos); } @@ -135,7 +139,7 @@ public class IdCanvas extends JPanel * DOCUMENT ME! * * @param vertical - * DOCUMENT ME! + * DOCUMENT ME! */ public void fastPaint(int vertical) { @@ -189,7 +193,7 @@ public class IdCanvas extends JPanel * DOCUMENT ME! * * @param g - * DOCUMENT ME! + * DOCUMENT ME! */ public void paintComponent(Graphics g) { @@ -235,23 +239,23 @@ public class IdCanvas extends JPanel * DOCUMENT ME! * * @param starty - * DOCUMENT ME! + * DOCUMENT ME! * @param endy - * DOCUMENT ME! + * DOCUMENT ME! */ void drawIds(int starty, int endy) { if (av.seqNameItalics) { - idfont = new Font(av.getFont().getName(), Font.ITALIC, av.getFont() - .getSize()); + setIdfont(new Font(av.getFont().getName(), Font.ITALIC, av.getFont() + .getSize())); } else { - idfont = av.getFont(); + setIdfont(av.getFont()); } - gg.setFont(idfont); + gg.setFont(getIdfont()); fm = gg.getFontMetrics(); if (av.antiAlias) @@ -265,17 +269,17 @@ public class IdCanvas extends JPanel if (av.getWrapAlignment()) { - int maxwidth = av.alignment.getWidth(); - int alheight = av.alignment.getHeight(); + int maxwidth = av.getAlignment().getWidth(); + int alheight = av.getAlignment().getHeight(); - if (av.hasHiddenColumns) + if (av.hasHiddenColumns()) { maxwidth = av.getColumnSelection().findColumnPosition(maxwidth) - 1; } int annotationHeight = 0; - if (av.showAnnotation) + if (av.isShowAnnotation()) { if (ap == null) { @@ -305,20 +309,20 @@ public class IdCanvas extends JPanel { for (int i = starty; i < alheight; i++) { - SequenceI s = av.alignment.getSequenceAt(i); - if (av.hasHiddenRows) + SequenceI s = av.getAlignment().getSequenceAt(i); + if (av.hasHiddenRows()) { setHiddenFont(s); } else { - gg.setFont(idfont); + gg.setFont(getIdfont()); } drawIdString(gg, s, i, 0, ypos); } - if (labels != null && av.showAnnotation) + if (labels != null && av.isShowAnnotation()) { gg.translate(0, ypos + (alheight * av.charHeight)); labels.drawComponent(gg, getWidth()); @@ -339,14 +343,14 @@ public class IdCanvas extends JPanel // Now draw the id strings for (int i = starty; i < endy; i++) { - sequence = av.alignment.getSequenceAt(i); + sequence = av.getAlignment().getSequenceAt(i); if (sequence == null) { continue; } - if (av.hasHiddenRows) + if (av.hasHiddenRows()) { setHiddenFont(sequence); } @@ -358,8 +362,8 @@ public class IdCanvas extends JPanel currentTextColor = Color.white; } else if ((av.getSelectionGroup() != null) - && av.getSelectionGroup().getSequences(null).contains( - sequence)) + && av.getSelectionGroup().getSequences(null) + .contains(sequence)) { currentColor = Color.lightGray; currentTextColor = Color.black; @@ -379,7 +383,7 @@ public class IdCanvas extends JPanel String string = sequence.getDisplayId(av.getShowJVSuffix()); - if (av.rightAlignIds) + if (av.isRightAlignIds()) { xPos = panelWidth - fm.stringWidth(string) - 4; } @@ -388,7 +392,7 @@ public class IdCanvas extends JPanel (((i - starty) * av.charHeight) + av.charHeight) - (av.charHeight / 5)); - if (av.hasHiddenRows && av.showHiddenMarkers) + if (av.hasHiddenRows() && av.showHiddenMarkers) { drawMarker(i, starty, 0); } @@ -401,7 +405,7 @@ public class IdCanvas extends JPanel void drawMarker(int i, int starty, int yoffset) { - SequenceI[] hseqs = av.alignment.getHiddenSequences().hiddenSequences; + SequenceI[] hseqs = av.getAlignment().getHiddenSequences().hiddenSequences; // Use this method here instead of calling hiddenSeq adjust // 3 times. int hSize = hseqs.length; @@ -464,26 +468,35 @@ public class IdCanvas extends JPanel Font bold = new Font(av.getFont().getName(), Font.BOLD, av.getFont() .getSize()); - if (av.hiddenRepSequences != null - && av.hiddenRepSequences.containsKey(seq)) + if (av.isHiddenRepSequence(seq)) { gg.setFont(bold); } else { - gg.setFont(idfont); + gg.setFont(getIdfont()); } } /** * DOCUMENT ME! * - * @param found - * DOCUMENT ME! + * @param list + * DOCUMENT ME! */ - public void setHighlighted(java.util.Vector found) + public void setHighlighted(List list) { - searchResults = found; + searchResults = list; repaint(); } + + public Font getIdfont() + { + return idfont; + } + + public void setIdfont(Font idfont) + { + this.idfont = idfont; + } }