def on_fileNewXvfAction_triggered(self): composite = LXVariableFeedbackComposite() composite.setName('compositeName') composite.setConfigurationFile("/tmp/unamed.xvf") composite.save() self.parent().addTab("/tmp/unamed.xvf")
class LMyItem(LItem): ''' >>> c = LMyItem() ''' def __init__(self, parent = None): super(LMyItem, self).__init__(parent) self.name = '' self.version = '0.1.0' self.compositeClassName = 'LExecutableComposite' self._orderedAttributes = [ 'name', 'compositeClassName', 'version'] self._composite = LExecutableComposite() self._configurationFiles = [] @LInAndOut(DEBUG & ITEMS) def fromCsv(self, entry, attributes = None): super(LMyItem, self).fromCsv(entry, attributes) @LInAndOut(DEBUG & ITEMS) def loadConfiguration(self): self._composite.loadConfiguration() @LInAndOut(DEBUG & ITEMS) def saveConfiguration(self): self._composite.saveConfiguration() #---------------------------------------------------------------------- # Interface (set) @LInAndOut(DEBUG & ITEMS) def setName(self, name): self.name = name self._composite.setName(name) @LInAndOut(DEBUG & ITEMS) def setVersion(self, version): self.version = version self._composite.setVersion(version) @LInAndOut(DEBUG & ITEMS) def setConfigurationFiles(self, fileNames = []): self._configurationFiles = fileNames self._composite.setConfigurationFiles(fileNames) @LInAndOut(DEBUG & ITEMS) def setCompositeClassName(self, compositeClassName): self.compositeClassName = compositeClassName #---------------------------------------------------------------------- # Interface (get) @LInAndOut(DEBUG & ITEMS) def getVersion(self, version): return self.version @LInAndOut(DEBUG & ITEMS) def getComposite(self): if isinstance(self._composite, LExecutableComposite): self.resetComposite() return self._composite #---------------------------------------------------------------------- # Helpers @LInAndOut(DEBUG & ITEMS) def resetComposite(self): debug(self, 'confFiles = %s' % self._configurationFiles, 5) debug(self, 'name = %s' % self.name, 5) if self.compositeClassName == 'LOneVariableFeedbackComposite': self._composite = LOneVariableFeedbackComposite() self.compositeClassName = self._composite.getClassName() self._composite.setName(self.name) self._composite.setConfigurationFiles(self.configurationFiles) self._composite.loadConfiguration() if self.compositeClassName == 'LXVariableFeedbackComposite': self._composite = LXVariableFeedbackComposite() self.compositeClassName = self._composite.getClassName() self._composite.setName(self.name) self._composite.setConfigurationFiles(self._configurationFiles) self._composite.loadConfiguration() return self._composite