class ConfigElement(object):
def __init__(self):
self.saved_value = None
+ self.save_forced = False
self.last_value = None
self.save_disabled = False
self.__notifiers = None
# you need to override this if str(self.value) doesn't work
def save(self):
- if self.save_disabled or self.value == self.default:
+ if self.save_disabled or (self.value == self.default and not self.save_forced):
self.saved_value = None
else:
self.saved_value = self.tostring(self.value)
step += stepwidth
ConfigSelection.__init__(self, choices, default)
-
+
def getValue(self):
- return int(self.text)
+ return int(ConfigSelection.getValue(self))
def setValue(self, val):
- self.text = str(val)
-
+ ConfigSelection.setValue(self, str(val))
+
def handleKey(self, key):
if not self.wraparound:
if key == KEY_RIGHT:
if self.choices.index(self.value) == 0:
return
ConfigSelection.handleKey(self, key)
-
-
class ConfigNumber(ConfigText):
def __init__(self, default = 0):
else:
return ConfigText.getMulti(self, selected)
+ def onSelect(self, session):
+ self.allmarked = (self.value != "")
+
# a slider.
class ConfigSlider(ConfigElement):
def __init__(self, default = 0, increment = 1, limits = (0, 100)):
def __init__(self, list, default = None):
if default is not None:
default = str(default)
- self._satList = list
- choices = [(str(orbpos), desc) for (orbpos, desc, flags) in list]
-
- ConfigSelection.__init__(self, choices = choices, default = default)
+ ConfigSelection.__init__(self, choices = [(str(orbpos), desc) for (orbpos, desc, flags) in list], default = default)
- # use this function to get the orbital position, don't rely on .index
def getOrbitalPosition(self):
if self.value == "":
return None
return int(self.value)
-
- def getSatList(self):
- return self._satList
-
- def getSat(self):
- return self.satList[self.index]
-
- satList = property(getSatList)
orbital_position = property(getOrbitalPosition)