def set_property(self, name, value, push_undo=True): """ Set the value on the node custom property. Args: name (str): name of the property. value (object): property data (python built in types). push_undo (bool): register the command to the undo stack. (default: True) """ # prevent signals from causing a infinite loop. if self.get_property(name) == value: return if self.graph and name == 'name': value = self.graph.get_unique_name(value) self.NODE_NAME = value if self.graph: if push_undo: undo_stack = self.graph.undo_stack() undo_stack.push(PropertyChangedCmd(self, name, value)) else: PropertyChangedCmd(self, name, value).redo() else: if hasattr(self.view, name): setattr(self.view, name, value) self.model.set_property(name, value)
def set_property(self, name, value): """ Set the value on the node custom property. Args: name (str): name of the property. value: the new property value. """ if self.graph and name == 'name': value = self.graph.get_unique_name(value) self.NODE_NAME = value exists = any([ name in self.model.properties.keys(), name in self.model.custom_properties.keys() ]) if not exists: raise KeyError('No property "{}"'.format(name)) if self.graph: undo_stack = self.graph.undo_stack() undo_stack.push(PropertyChangedCmd(self, name, value)) else: setattr(self.view, name, value) if name in self.model.properties.keys(): setattr(self.model, name, value) elif name in self.model.custom_properties.keys(): self.model.custom_properties[name] = value
def set_property(self, name, value): """ Set the value on the node custom property. Args: name (str): name of the property. value (object): property data. """ # prevent signals from causing a infinite loop. try: if self.get_property(name) == value: return except: pass if self.graph and name == 'name': value = self.graph.get_unique_name(value) self.NODE_NAME = value if self.graph: undo_stack = self.graph.undo_stack() undo_stack.push(PropertyChangedCmd(self, name, value)) else: if hasattr(self.view, name): setattr(self.view, name, value) self.model.set_property(name, value)
def set_property(self, name, value): """ Set the value on the node custom property. Args: name (str): name of the property. value (object): property data. """ if self.get_property(name) == value: return if self.graph and name == 'name': value = self.graph.get_unique_name(value) self.NODE_NAME = value if self.graph: undo_stack = self.graph.undo_stack() undo_stack.push(PropertyChangedCmd(self, name, value)) else: if hasattr(self.view, name): setattr(self.view, name, value) self.model.set_property(name, value)