X-Git-Url: https://gitweb.fperrin.net/?a=blobdiff_plain;f=tim%2Fprune%2Fgui%2FStatusIcon.java;fp=tim%2Fprune%2Fgui%2FStatusIcon.java;h=26adb1b603c95e9affe2e4e392122c827f8ab709;hb=7f5ed2be62905bd37717376dc22d09e5ea7edb4d;hp=0000000000000000000000000000000000000000;hpb=b361869e590bbca32664c16ac24d6296926594a5;p=GpsPrune.git diff --git a/tim/prune/gui/StatusIcon.java b/tim/prune/gui/StatusIcon.java new file mode 100644 index 0000000..26adb1b --- /dev/null +++ b/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; + } + } +}