X-Git-Url: https://gitweb.fperrin.net/?p=GpsPrune.git;a=blobdiff_plain;f=src%2Ftim%2Fprune%2Fgui%2FStatusIcon.java;fp=src%2Ftim%2Fprune%2Fgui%2FStatusIcon.java;h=26adb1b603c95e9affe2e4e392122c827f8ab709;hp=0000000000000000000000000000000000000000;hb=ce6f2161b8596f7018d6a76bff79bc9e571f35fd;hpb=2d8cb72e84d5cc1089ce77baf1e34ea3ea2f8465 diff --git a/src/tim/prune/gui/StatusIcon.java b/src/tim/prune/gui/StatusIcon.java new file mode 100644 index 0000000..26adb1b --- /dev/null +++ b/src/tim/prune/gui/StatusIcon.java @@ -0,0 +1,68 @@ +package tim.prune.gui; + +import javax.swing.ImageIcon; +import javax.swing.JLabel; + +/** + * Little status icon for green tick (valid) or red cross (not valid) + */ +public class StatusIcon extends JLabel +{ + /** Current status */ + private Status _currStatus = Status.BLANK; + + private static ImageIcon _blankIcon = IconManager.getImageIcon(IconManager.ENTRY_NONE); + private static ImageIcon _validIcon = IconManager.getImageIcon(IconManager.ENTRY_VALID); + private static ImageIcon _invalidIcon = IconManager.getImageIcon(IconManager.ENTRY_INVALID); + + /** + * Three possible states for icon + */ + private enum Status { + BLANK, + VALID, + INVALID + } + + /** + * Constructor + */ + public StatusIcon() + { + super(_blankIcon); + _currStatus = Status.BLANK; + } + + /** + * Set the status to blank + */ + public void setStatusBlank() + { + if (_currStatus != Status.BLANK) { + setIcon(_blankIcon); + _currStatus = Status.BLANK; + } + } + + /** + * Set the status to valid + */ + public void setStatusValid() + { + if (_currStatus != Status.VALID) { + setIcon(_validIcon); + _currStatus = Status.VALID; + } + } + + /** + * Set the status to not valid + */ + public void setStatusInvalid() + { + if (_currStatus != Status.INVALID) { + setIcon(_invalidIcon); + _currStatus = Status.INVALID; + } + } +}