]> gitweb.fperrin.net Git - GpsPrune.git/blob - src/tim/prune/gui/StatusIcon.java
26adb1b603c95e9affe2e4e392122c827f8ab709
[GpsPrune.git] / src / tim / prune / gui / StatusIcon.java
1 package tim.prune.gui;
2
3 import javax.swing.ImageIcon;
4 import javax.swing.JLabel;
5
6 /**
7  * Little status icon for green tick (valid) or red cross (not valid)
8  */
9 public class StatusIcon extends JLabel
10 {
11         /** Current status */
12         private Status _currStatus = Status.BLANK;
13
14         private static ImageIcon _blankIcon = IconManager.getImageIcon(IconManager.ENTRY_NONE);
15         private static ImageIcon _validIcon = IconManager.getImageIcon(IconManager.ENTRY_VALID);
16         private static ImageIcon _invalidIcon = IconManager.getImageIcon(IconManager.ENTRY_INVALID);
17
18         /**
19          * Three possible states for icon
20          */
21         private enum Status {
22                 BLANK,
23                 VALID,
24                 INVALID
25         }
26
27         /**
28          * Constructor
29          */
30         public StatusIcon()
31         {
32                 super(_blankIcon);
33                 _currStatus = Status.BLANK;
34         }
35
36         /**
37          * Set the status to blank
38          */
39         public void setStatusBlank()
40         {
41                 if (_currStatus != Status.BLANK) {
42                         setIcon(_blankIcon);
43                         _currStatus = Status.BLANK;
44                 }
45         }
46
47         /**
48          * Set the status to valid
49          */
50         public void setStatusValid()
51         {
52                 if (_currStatus != Status.VALID) {
53                         setIcon(_validIcon);
54                         _currStatus = Status.VALID;
55                 }
56         }
57
58         /**
59          * Set the status to not valid
60          */
61         public void setStatusInvalid()
62         {
63                 if (_currStatus != Status.INVALID) {
64                         setIcon(_invalidIcon);
65                         _currStatus = Status.INVALID;
66                 }
67         }
68 }