.. _ref-widget-methoden:
Ausgewählte Methoden der Widget-Klasse
------------------------------
Das Widget stellt zahlreiche Methoden zur Verwendung in Skripten zur Verfügung. Hier werden die am häufigsten genutzten erläutert.
**callActionOnNextFrame(String)**
Diese Methode ruft beim nächsten Frame der Wiedergabe die genannte Action auf.
**lookup(String)**
Mit der Methode ``lookup(Suchbegriff)`` kann nach Widgets mit dem gesuchten Namen innerhalb des Widgets-Baums gesucht werden. Dabei wird im Namensraum des Widgets selbst und - falls die Bezeichnung dort nicht gefunden wird - vom aufrufenden Widget aufwärts bis in die Presentation gesucht::
// bei klick auf das Widget wird mittels Lookup eine Referenz
// auf "widget1" erzeugt auf diesem die Property Location gesetzt.
this.lookup("widget1").Location = "100,100";
**route(Object)**
Die Methode ``route(Object)`` versucht das übergebene Objekt anhand der auf dem Widget registrierten Routen weiterzuleiten. Siehe dazu auch das Kapitel zu :ref:`Routen `.
**queueData(Data)**
Mittels der Methode ``queueData(Data)`` wird das übergebene ``Data`` beim nächsten Framedurchlauf mit dem Trigger ``data`` als Signal vom Widget in die Anwendung gesendet.
**getValueForKey(String)**
Die Methode ``getValueForKey(KeyName)`` liefert den für den genannten Key auf dem Widget gespeicherten Wert zurück. Sollte weder eine Property oder eine selbstdefinierte Eigenschaft auf dem Widget existieren, liefert die Methode ``null`` zurück.
**getWithDefault(String, Object)**
Wie ``getValueForKey(Key)``, aber ``getWithDefault(Key, DefaultValue)`` liefert statt ``null`` den DefaultValue zurück.
::
this.getWithDefault("Name", "Hans") // liefert "widget1" zurück
this.getWithDefault("LastName", "Hans") // liefert "Hans" zurück
**addChild(Widget)**
Mittels ``addChild(Widget)`` kann ein Widget per Script in den Widget-Baum als Child eingehängt werden.
**removeChild(Widget)**
Diese Funktion entfernt das übergebene Widget aus dem Widget-Baum, sofern es ein Child des aufrufenden Widgets ist. Das entfernte Widget wird zurückgeliefert. Sofern das übergebene Widget nicht gefunden wird, liefert die Methode ``null`` zurück.
**removeChildAt(Number)**
Entfernt ein Child an einer bestimmten Index-Position und liefert dieses als Rückgabewert zurück.
**getChildren()**
Mittels dieser Funktion kann eine Liste der Children von eines Widgets abgerufen werden. Vgl. auch die Property ``Children``.
**getChildAt(Number)**
Hiermit wird ein Child an einer bestimmten Position angesprochen und eine Referenz auf dieses Child zurückgeliefert.
Weitere Methoden des Widgets werden in der API-Dokumentation erläutert.
CLASSDOC:Widget