+ 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, childNode):
+ for x in childNode:
+ if x.nodeType != xml.dom.minidom.Element.nodeType:
+ continue
+ elif x.tagName == 'item':
+ item_level = int(x.getAttribute("level") or "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.getAttribute("requires")
+ if requires and not SystemInfo.get(requires, False):
+ continue;
+
+ item_text = _(x.getAttribute("text").encode("UTF-8") or "??")
+ b = eval(XMLTools.mergeText(x.childNodes));
+ 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.childNodes[0].childNodes
+ for x in XMLTools.elementsWithTag(xmldata, "setup"):
+ if x.getAttribute("key") == id:
+ return x.getAttribute("title").encode("UTF-8")
+ raise "unknown setup id '%s'!" % repr(id)