+ self.changedEntry()
+
+ # for summary:
+ def changedEntry(self):
+ for x in self.onChangedEntry:
+ x()
+
+ def getCurrentEntry(self):
+ return self["config"].getCurrent()[0]
+
+ def getCurrentValue(self):
+ return str(self["config"].getCurrent()[1].getText())
+
+ def createSummary(self):
+ return SetupSummary
+
+ def addItems(self, list, parentNode):
+ for x in parentNode:
+ if x.tag == 'item':
+ item_level = int(x.get("level", 0))
+
+ if not self.levelChanged in config.usage.setup_level.notifiers:
+ config.usage.setup_level.notifiers.append(self.levelChanged)
+ self.onClose.append(self.removeNotifier)
+
+ if item_level > config.usage.setup_level.index:
+ continue
+
+ requires = x.get("requires")
+ if requires and not SystemInfo.get(requires, False):
+ continue;
+
+ item_text = _(x.get("text", "??").encode("UTF-8"))
+ b = eval(x.text or "");
+ if b == "":
+ continue
+ #add to configlist
+ item = b
+ # the first b is the item itself, ignored by the configList.
+ # the second one is converted to string.
+ if not isinstance(item, ConfigNothing):
+ list.append( (item_text, item) )
+
+def getSetupTitle(id):
+ xmldata = setupdom.getroot()
+ for x in xmldata.findall("setup"):
+ if x.get("key") == id:
+ return x.get("title", "").encode("UTF-8")
+ raise "unknown setup id '%s'!" % repr(id)