def _AddWidgetFromXmlNode(self, oXMLNode, uAnchor): # Parse a spefific Widget from an xml definition oTmpWidget = cWidgetBase() #First get the widget type to know which widget to create oTmpWidget.GetWidgetTypeFromXmlNode(oXMLNode) #call the widget creation function if oTmpWidget.iWidgetType != -1: try: return self.dFktsCreateWidget[oTmpWidget.iWidgetType][0]( oXMLNode=oXMLNode, uAnchor=uAnchor, oClass=self.dFktsCreateWidget[oTmpWidget.iWidgetType][1]) except Exception as e: LogError("can't create widget:" + XMLPrettify(oXMLNode), e) else: Ret = Globals.oNotifications.SendNotification( "UNKNOWNWIDGET", **{ "SCREENPAGE": self, "XMLNODE": oXMLNode, "ANCHOR": uAnchor, "WIDGET": oTmpWidget }) if Ret is None: Logger.error("Unknown Widget Type %s : Page: %s" % (oTmpWidget.uTypeString, self.uPageName)) return False return False
def __ReplaceWidgetFromXmlNode(self,oXMLNode, uReplaceWidgetName): #first find the org Widget oWidget=self.aWidgets.get(uReplaceWidgetName) if oWidget==None: return oXMLNode.set("posx","of:left:"+uReplaceWidgetName) oXMLNode.set("posy","of:top:"+uReplaceWidgetName) oXMLNode.set("width","of:width:"+uReplaceWidgetName) oXMLNode.set("height","of:height:"+uReplaceWidgetName) # Parse a spefific Widget from an xml definition oTmpWidget=cWidgetBase() #First get the widget type to know which widget to create oTmpWidget.GetWidgetTypeFromXmlNode(oXMLNode) oNewWidget=self.aFktsCreateWidget[oTmpWidget.iWidgetType][0](oXMLNode, "",self.aFktsCreateWidget[oTmpWidget.iWidgetType][1]) self.aWidgets.pop(uReplaceWidgetName) self.lWidgets.remove(oWidget) if (oWidget.oObject)!=None: oWidget.oObject.parent.remove_widget(oWidget.oObject) #self.iWidgetIndex+=1 #oNewWidget.Create(self.oWidgetBackGround.oObject,self.iWidgetIndex) return
def _ReplaceWidgetFromXmlNode(self, oXMLNode, uReplaceWidgetName): #first find the org Widget oWidget = self.dWidgets.get(uReplaceWidgetName) if oWidget is None: return oXMLNode.set("posx", "of:left:" + uReplaceWidgetName) oXMLNode.set("posy", "of:top:" + uReplaceWidgetName) oXMLNode.set("width", "of:width:" + uReplaceWidgetName) oXMLNode.set("height", "of:height:" + uReplaceWidgetName) # Parse a spefific Widget from an xml definition oTmpWidget = cWidgetBase() #First get the widget type to know which widget to create oTmpWidget.GetWidgetTypeFromXmlNode(oXMLNode) self.dFktsCreateWidget[oTmpWidget.iWidgetType][0]( oXMLNode, "", self.dFktsCreateWidget[oTmpWidget.iWidgetType][1]) self.dWidgets.pop(uReplaceWidgetName) self.aWidgets.remove(oWidget) if (oWidget.oObject) is not None: oWidget.oObject.parent.remove_widget(oWidget.oObject) #oNewWidget.Create(self.oWidgetBackGround.oObject) return
def __AddWidgetFromXmlNode(self,oXMLNode, uAnchor): # Parse a spefific Widget from an xml definition oTmpWidget=cWidgetBase() #First get the widget type to know which widget to create oTmpWidget.GetWidgetTypeFromXmlNode(oXMLNode) #call the widget creation function.. self.aFktsCreateWidget[oTmpWidget.iWidgetType][0](oXMLNode=oXMLNode, uAnchor=uAnchor,oClass=self.aFktsCreateWidget[oTmpWidget.iWidgetType][1]) return