OBP60v/cfgmenu.py

49 lines
935 B
Python

"""
Menüsystem für Konfiguration(en)
"""
class MenuItem():
def __init__(self, itmname):
self.name = itmname
self.label = None
self.value = None
self.steps = (1,)
def setValue(self, val):
self.value = val
class Menu():
def __init__(self):
title = None
x = 0
y = 0
w = 100
h = 20
items = []
itm_active = -1 # nothing activated
self._index = -1
def addItem(self, label):
itm = MenuItem(label)
items.append(itm)
class MenuIter():
def __init__(self, menu):
self._items = menu.items
self._class_size = len(self._items)
self._index = 0
def __iter__(self):
return self
def __next__(self):
if self._index < self._class_size:
itm = items[self._index]
self._index += 1
return itm
raise StopIteration