Beim Ändern eines Attributwertes der folgenden Klasse soll immer eine Funktion nach Zuweisung des neuen Wertes ausgeführt werden.
Jetzt kann ich für jedes Atribute wie unten aufgeführt die 'proporties' einzeln schreiben. Bei steigender Zahl der Attribute wird das aber
ziemlich viel Codewiederholung. Kann man das auch kürzer zusammenfassen, so dass 'self.ctrl.send_data_to_view([self.instance_name])
' bei jedem Verändern eines Attributes ausgeführt wird? (egal um welches Attribut es sich handelt)
Code: Alles auswählen
class GenericSpec():
def __init__(self, instance_name, controller):
self.instance_name = instance_name
self.ctrl = controller
self._work_directory = 'No directory choosen...'
self._nomenclature = ''
@property
def work_directory(self):
return self._work_directory
@work_directory.setter
def work_directory(self, work_directory):
self._work_directory = work_directory
self.ctrl.send_data_to_view([self.instance_name])
@property
def nomenclature(self):
return self._nomenclature
@nomenclature.setter
def nomenclature(self, nomenclature):
self._nomenclature = nomenclature
self.ctrl.send_data_to_view([self.instance_name])