Salome HOME
SIMAN Eclipse workspace first version
[tools/siman.git] / Workspace / Siman / src / org / splat / launcher / ToolButton.java
1 package org.splat.launcher;
2
3 import java.awt.Button;
4 import java.awt.Color;
5 import java.awt.Cursor;
6 import java.awt.Graphics;
7 import java.awt.Image;
8
9
10 public class ToolButton extends Button {
11
12     private  Image          icon;
13     private  int            orx;    // X of the icon top left corner
14     private  int            ory;    // Y of the icon top left corner
15     private  String         link;
16     private  String         target;
17
18         private static final long serialVersionUID = 5723786125423445749L;
19     
20 //  ==============================================================================================================================
21 //  Constructors
22 //  ==============================================================================================================================
23
24         public ToolButton (int size, Image icon, String link) {
25 //  -----------------------------------------------------
26                 this(size, icon, link, null);
27         }
28         public ToolButton (int size, Image icon, String link, String target) {
29 //  --------------------------------------------------------------------
30       orx = 24;    // icon.getWidth(this);   seems returning 0 before being painted
31       ory = 24;    // icon.getHeight(this);  seems returning 0 before being painted
32           if (orx < size) orx = (size - orx)  / 2;
33           else            orx = 0;
34           if (ory < size) ory = (size - ory) / 2;
35           else            ory = 0;
36           
37           this.icon   = icon;
38           this.link   = link;
39           this.target = target;
40       this.setSize(size, size);
41           this.setCursor(new Cursor(Cursor.HAND_CURSOR));
42         }
43     
44 //  ==============================================================================================================================
45 //  Overridden functions
46 //  ==============================================================================================================================
47
48     public void paint(Graphics screen)  {
49 //  ----------------------------------
50       screen.drawImage(icon, orx, ory, new Color(205, 229, 255), this);
51     }
52     
53 //  ==============================================================================================================================
54 //  Member functions
55 //  ==============================================================================================================================
56
57     public String getTool () {
58 //  ------------------------
59       return link;
60     }
61
62     public String getTarget () {
63 //  --------------------------
64       return target;
65     }
66 }