Diese Seite dient als Referenz für die verfügbaren überschreibbaren Methoden von Ein FeaturePython-Objekt erstellen Teil I oder Skriptgenerierte Objekte.
Die unten aufgeführten Methoden machen ~99% der Anwendungsfälle aus, die Vielnutzer für Python-Proxy-Klassen haben können.
execute(self, obj)
|
Wird während der Neuberechnung von Dokumenten aufgerufen | recompute() nicht aus dieser Methode (oder einer anderen Methode, die aus execute() aufgerufen wird) aufrufen, da dies zu einer verschachtelten Neuberechnung führt.
|
onBeforeChange(self, obj, prop)
|
Wird aufgerufen, bevor ein Eigenschaftswert geändert wird | prop ist der Name der zu ändernden Eigenschaft, nicht das Eigenschaftsobjekt selbst. Eigenschaftsänderungen können nicht rückgängig gemacht werden. Vorherige/nächste Eigenschaftswerte stehen nicht gleichzeitig zum Vergleich zur Verfügung.
|
onChanged(self, obj, prop)
|
Wird aufgerufen, nachdem ein Eigenschaftswert geändert wurde | prop ist der Name der zu ändernden Eigenschaft, nicht das Eigenschaftsobjekt selbst.
|
onDocumentRestored(self, obj)
|
Wird aufgerufen, nachdem ein Dokument wiederhergestellt oder ein FeaturePython-Objekt kopiert wurde. | Gelegentlich können Verweise auf das FeaturePython-Objekt aus der Klasse oder auf die Klasse aus dem FeaturePython-Objekt unterbrochen sein, da die Methode __init__() der Klasse beim Wiederherstellen des Objekts nicht aufgerufen wird. Das Hinzufügen von self.Object = obj oder obj.Proxy = self löst diese Probleme oft.
|
Es kommt nicht selten vor, dass Python-Callbacks nicht wie vorgesehen ausgelöst werden. Anfänger in diesem Bereich können jedoch sicher sein, dass das FeaturePython-Callback-System nicht anfällig oder fehlerhaft ist. Wenn Callbacks nicht ausgeführt werden, liegt dies immer daran, dass eine Referenz im zugrunde liegenden Code verloren gegangen oder undefiniert ist. Wenn Callbacks jedoch ohne ersichtlichen Grund fehlschlagen, kann die Angabe von Objekt-/Proxy-Referenzen im Callback onDocumentRestored() (wie in der ersten Tabelle oben angegeben) diese Probleme beheben. Bis man mit dem Callback-System vertraut ist, kann es hilfreich sein, in jedem Callback Print-Anweisungen hinzuzufügen, um während der Entwicklung Meldungen auf der Konsole auszugeben.
Die folgenden Methoden dienen der fortgeschrittenen Verwendung von Python-Proxy-Klassen und werden in den meisten Fällen nicht benötigt.
Innerhalb der L161-L351 FeaturePython Template Class gibt es verschiedene imp-><method name>()-Aufrufe.
Jede davon entspricht einer verfügbaren gebundenen Python-Methode.
Zum Beispiel, imp->execute() in Zeile 193 bedeutet, dass die Methode execute verfügbar ist.
Man beachte, dass getPyObject() und init() Sonderfälle sind und nicht der oben genannten Heuristik folgen.