Zugriff auf Java Client-GUI per API?
Author: arnbae
Publication Date: 12/18/2012 16:13
Hallo,
kurze Frage: Ist es aus Scripten heraus möglich, auf das Objektmodell des Java-Clients zuzugreifen? Anwendungen:
- Scriptgesteuerter Refresh von Objekten (Tree)
- Auslesen von Feldern, die noch nicht auf den Server gespeichert wurden.
Danke & Grüße,
Arndt
Tags: gui, java-client, javaclient, script, scripting
-
Author: MichaelaReydt - 4/25/2013 12:43
Hallo Arndt,
wie versprochen, habe ich mich nochmal mit dem zweiten Punkt beschäftigt.
Es wurde intern noch der Ansatz vorgeschlagen, sich den umbenannten Absatz per Skript erneut zu holen und ihn dadurch zu aktualisieren. Dieser Ansatz zeigt bei mir aber dieselbe Wirkung, wie das bisherige Skript: Ohne eine manuelle Aktualisierung des Elements bzw. des Baums werden die Anzeigenamen des Absatzes nicht aktualisiert.
Wie mir intern auf eine weitere Nachfrage bestätigt wurde, darf bzw. kann dein Skript tatsächlich nicht dasselbe machen, wie der F9-Dialog, weil die API-Schnittstelle fehlt. Es müsste somit wirklich ein Feature Request gestellt werden.
Summa Summarum lässt sich die Situation also wie folgt zusammenfassen:
Das 1. Anliegen
Setzen aller Sprachen (aus den verschieden sprachlichen Feldern) bei nur einem Klick auf den Button gleichzeitig (egal auf welcher Sprache),
kann über das folgende Skript realisiert werden. Die Voraussetzung dafür ist jedoch,dass der Absatz nach dem Befüllen der Felder und vor dem Klicken des Buttons einmal gespeichert wird.
Skript:
//!BeanShell
import de.espirit.firstspirit.common.gui.*;
languages = element.getProject().getLanguages();
for(lang:languages){
langinfo = element.getLanguageInfo(lang);
formField = element.getFormData().get(lang, headline.getName());
langinfo.setDisplayName(formField.get());
}Zum 2. Anliegen
sofortige Aktualisierung des Namens im Baum beim Button-Klick
siehe oben. :smileywink:
Alternativ wurde noch den Ansatz genannt, über den Button per Skript einen Dialog zu öffnen, der die Eingabefelder für die entsprechenden Sprachen enthält, deren Werte dann durch das Skript weiter verarbeitet und für die Anzeigenamen gesetzt werden. Ob dieses Vorgehen durch das Schließen des Dialogs eine Aktualisierung des Knotens im Baum und damit auch eine Aktualisierung der umbenannten Anzeigenamen hervorrufen würde, kann ich allerdings nicht sagen. Ich habe diesen Ansatz nicht getestet.
Abschließend möchte ich mich noch einmal für die von mir gestiftete Verwirrung entschuldigen. Dass in Schritt 4 der Baum durch das Schließen des F9-Dialogs aktualisiert wird, hatte ich tatsächlich übersehen, obwohl ich es ja noch selbst beschrieben hatte. Da war ich selbst zu sehr auf meine eigene Erklärung fixiert. :smileywink:
Lieben Gruß
Michaela
0
Please sign in to leave a comment.
Comments
1 comment