예제 #1
0
    def removeNewField(self, dep, newField):
        """ Remote a new field on the fly.

        It removes a new field already created when conditions are not met.
        """
        if config.getResourceAttrDepsEnable(dep):
            # Delete dialog entry here, because conditions are not met.
            oldAttr = config.lookForResourceAttrWithName(self.resource, newField)
            if oldAttr:
                self.disableAttribute(oldAttr)
                self.disableAttributeDependency(dep)
                self.removeNewCtrl(oldAttr)
예제 #2
0
    def createNewField(self, dep, newField):
        """ Create a new field on the fly.

        It creates a new field when conditions are met.
        """
        if not config.getResourceAttrDepsEnable(dep):
            # Create new dialog entry here.
            handler = config.getResourceAttrDepsHandler(dep)
            newAttr = config.lookForResourceAttrWithName(self.resource, newField)
            if newAttr:
                self.enableAttribute(newAttr, handler)
                self.enableAttributeDependency(dep)
                self.createNewCtrl(newAttr)