<widget name="footer" position="20,250" size="360,25" font="Arial;23"/>
<!--<widget name="introduction" position="20,360" size="280,30" font="Arial;23" />-->
</screen>
- <screen name="TimerEntry" position="390,100" size="250,400" title="Timer entry">
- <widget name="config" position="5,10" size="240,350" />
+ <screen name="TimerEntry" position="100,100" size="500,400" title="Timer entry">
+ <widget name="config" position="5,10" size="480,350" />
<widget name="introduction" position="20,360" size="250,30" font="Arial;23" />
</screen>
<screen name="NetworkSetup" position="140,125" size="460,280" title="Network Setup">
<widget name="config" position="10,30" size="420,220" />
</screen>
<!-- <screen name="TimerEditList" position="160,100" size="420,430" title="Timer Editor">-->
- <screen name="TimerEditList" position="70,100" size="300,400" title="Timer Editor">
- <widget name="timerlist" position="10,30" size="280,300" />
+ <screen name="TimerEditList" position="70,100" size="500,400" title="Timer Editor">
+ <widget name="timerlist" position="10,30" size="480,300" />
</screen>
<screen name="clockDisplay" position="300,100" size="300,300">
<widget name="okbutton" position="10,10" size="280,40" />
# (this code is heavily ink optimized!)
return ("mtext"[1-selected:], value, [mPos])
+class configText:
+ # used as first parameter
+ # is the text of a fixed size or is the user able to extend the length of the text
+ extendableSize = 1
+ fixedSize = 2
+
+ def __init__(self, parent):
+ self.parent = parent
+ self.markedPos = 0
+ self.mode = self.parent.vals[0]
+
+ def checkValues(self):
+ if (self.markedPos < 0):
+ self.markedPos = 0
+ if (self.markedPos >= len(self.parent.value)):
+ self.markedPos = len(self.parent.value) - 1
+
+ def cancel(self):
+ self.parent.reload()
+
+ def save(self):
+ self.parent.save()
+
+ def handleKey(self, key):
+ #this will no change anything on the value itself
+ #so we can handle it here in gui element
+ if key == config.key["prevElement"]:
+ self.markedPos -= 1
+ if key == config.key["nextElement"]:
+ self.markedPos += 1
+ if (self.mode == self.extendableSize):
+ if (self.markedPos >= len(self.parent.value)):
+ self.parent.value = self.parent.value.ljust(len(self.parent.value) + 1)
+
+
+ if key >= config.key["0"] and key <= config.key["9"]:
+ number = 9 - config.key["9"] + key
+
+ self.parent.value = self.parent.value[0:self.markedPos] + str(number) + self.parent.value[self.markedPos + 1:]
+
+ self.checkValues()
+
+ self.parent.change()
+
+ def __call__(self, selected): #needed by configlist
+ return ("mtext"[1-selected:], str(self.parent.value), [self.markedPos])
+
class configValue:
def __init__(self, obj):
self.obj = obj
def datafromFile(self, control, data):
if control == ConfigSlider:
- return int(data);
+ return int(data)
elif control == configSelection:
- return int(data);
+ return int(data)
elif control == configDateTime:
- return int(data);
+ return int(data)
+ elif control == configText:
+ return str(data)
elif control == configSequence:
list = [ ]
part = data.split(self.vals[0])
def datatoFile(self, control, data):
if control == ConfigSlider:
- return str(data);
+ return str(data)
elif control == configSelection:
- return str(data);
+ return str(data)
elif control == configDateTime:
- return str(data);
+ return str(data)
+ elif control == configText:
+ return str(data.strip())
+
elif control == configSequence:
value = ((len(data) * ("%d" + self.vals[0]))[0:-1]) % tuple(data)
# just in case you don't understand the above, here an equivalent:
config.timerentry = ConfigSubsection()
config.timerentry.type = configElement_nonSave("config.timerentry.type", configSelection, 0, ("once", "repeated"))
+ config.timerentry.description = configElement_nonSave("config.timerentry.description", configText, timer.description, (configText.extendableSize,))
config.timerentry.startdate = configElement_nonSave("config.timerentry.startdate", configDateTime, timer.begin, ("%d.%B %Y", 86400))
config.timerentry.starttime = configElement_nonSave("config.timerentry.starttime", configSequence, [int(strftime("%H", localtime(timer.begin))), int(strftime("%M", localtime(timer.begin)))], configsequencearg.get("CLOCK"))
#config.timerentry.starttime = configElement_nonSave("config.timerentry.starttime", configDateTime, timer.begin, ("%H:%M", 60))
def createSetup(self):
self.list = []
+ self.list.append(getConfigListEntry("Description", config.timerentry.description))
self.list.append(getConfigListEntry("TimerType", config.timerentry.type))
if (config.timerentry.type.value == 0):