3 import jalview.jbgui.*;
\r
5 import javax.swing.*;
\r
7 import java.awt.event.*;
\r
9 public class ScorePanel extends JPanel
\r
13 public ScorePanel(AlignViewport a)
\r
16 setPreferredSize(new Dimension(500,80));
\r
17 addMouseMotionListener(new MouseMotionAdapter()
\r
18 { public void mouseMoved(MouseEvent evt)
\r
24 ToolTipManager.sharedInstance().registerComponent(this);
\r
27 public void doMouseMoved(MouseEvent evt)
\r
29 Vector freq = av.getConsensus(false);
\r
31 int col = (int)(evt.getX()/av.charWidth) +av.getStartRes();
\r
33 if(col >= av.getEndRes() || col >= freq.size())
\r
36 Hashtable hash = (Hashtable) freq.elementAt( col );
\r
38 String characters = hash.get("maxResidue").toString();
\r
40 if (characters.length()>1)
\r
41 this.setToolTipText(characters);
\r
43 this.setToolTipText(null);
\r
48 public void paintComponent(Graphics g)
\r
50 setPreferredSize(new Dimension( this.getWidth(), 80));
\r
51 drawScorePanel(g, getWidth(), av.getStartRes(), av.getChunkWidth());
\r
54 public void drawScorePanel(Graphics g, int width, int startRes, int length)
\r
56 g.setColor(Color.white);
\r
57 g.fillRect(0, 0,width, 80);
\r
58 g.setColor(Color.blue);
\r
59 g.setFont(av.getFont());
\r
61 Vector freq = av.getConsensus(false);
\r
63 int value, charOffset;
\r
68 int i=0, iSize = length;
\r
69 if(iSize > freq.size())
\r
72 for (i = 0; i < iSize; i++)
\r
74 g.setColor(Color.blue);
\r
76 Hashtable hash = (Hashtable) freq.elementAt(i+startRes);
\r
77 if(hash.containsKey("maxResidue"))
\r
78 characters = hash.get("maxResidue").toString();
\r
81 character = characters.charAt(0);
\r
82 value = Integer.parseInt(hash.get("maxCount").toString());
\r
84 if (characters.length() > 1)
\r
87 charOffset = (int) (av.charWidth -
\r
88 g.getFontMetrics().charWidth(character)) / 2;
\r
89 g.drawString(character + "", charOffset + (int) (i * av.charWidth),
\r
90 60 + (int) av.charWidth);
\r
92 value = (int) ( (float) value /
\r
93 Float.parseFloat(hash.get("size").toString()) * 55);
\r
95 if ( !jalview.util.Comparison.isGap(character))
\r
96 g.fillRect( (int) (i * av.charWidth),
\r