Source code for miniworlds.actors.widgets.counter

import miniworlds.actors.widgets.label as mod_label


[docs] class CounterLabel(mod_label.Label): """A counter label contains a ``description`` and a ``counter``. The counter starts with value 0 and can be modified with ``add`` and ``sub``. """ def __init__(self, description, value = 0, image=None): self.value = value self.description = description super().__init__(str(self), image) def __str__(self): return f"{self.description} : {str(self.value)}"
[docs] def add(self, value): """Increase the counter by ``value``.""" self.value += value self.update_text()
[docs] def sub(self, value): """Decrease the counter by ``value``.""" self.value -= value self.update_text()
[docs] def get_value(self): return self.value
[docs] def set(self, value): self.value = value self.update_text()
[docs] def update_text(self): self.set_text(f"{self.description} : {str(self.value)}")