new class
[jalview.git] / src / jalview / gui / IdwidthAdjuster.java
1 package jalview.gui;\r
2 \r
3 import javax.swing.*;\r
4 import java.awt.event.*;\r
5 import java.awt.*;\r
6 \r
7 \r
8 public class IdwidthAdjuster extends JPanel implements MouseListener, MouseMotionListener\r
9 {\r
10   boolean active = false;\r
11   int oldX=0;\r
12   Image image;\r
13   AlignmentPanel ap ;\r
14 \r
15   public IdwidthAdjuster(AlignmentPanel ap)\r
16   {\r
17     this.ap = ap;\r
18     java.net.URL url = getClass().getResource("/images/idwidth.gif");\r
19        if (url != null)\r
20          image = java.awt.Toolkit.getDefaultToolkit().createImage(url);\r
21 \r
22     addMouseListener(this);\r
23     addMouseMotionListener(this);\r
24   }\r
25 \r
26   public void mousePressed(MouseEvent evt)\r
27   { oldX = evt.getX(); }\r
28 \r
29   public void mouseReleased(MouseEvent evt){  }\r
30   public void mouseEntered(MouseEvent evt) { active = true;  repaint();}\r
31   public void mouseExited(MouseEvent evt)  { active = false; repaint();}\r
32   public void mouseDragged(MouseEvent evt)\r
33   {\r
34     active = true;\r
35     Dimension d = ap.idPanel.idCanvas.getPreferredSize();\r
36     int dif = evt.getX() - oldX;\r
37 \r
38     if(d.width>20 || dif>0)\r
39     {\r
40       ap.idPanel.idCanvas.setPreferredSize(new Dimension(d.width + dif,d.height));\r
41       ap.RefreshPanels();\r
42     }\r
43 \r
44     oldX = evt.getX();\r
45   }\r
46 \r
47   public void mouseMoved(MouseEvent evt)   {}\r
48   public void mouseClicked(MouseEvent evt) {}\r
49 \r
50   public void paintComponent(Graphics g)\r
51   {\r
52     g.setColor(Color.white);\r
53     g.fillRect(0,0, getWidth(), getHeight());\r
54     if(active)\r
55     {\r
56       if(image!=null)\r
57         g.drawImage(image, getWidth()-20, 2, this);\r
58     }\r
59   }\r
60 \r
61 }\r