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)
def __list__(self):
if self.type == choicesList.LIST_TYPE_LIST:
- ret = [not isinstance(x, tuple) and x or x[0] for x in self.choices]
+ ret = [not isinstance(x, tuple) and x or len(x) > 0 and x[0] or len(x) == 0 and x for x in self.choices]
else:
ret = self.choices.keys()
return ret or [""]
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)