You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tde-i18n/tde-i18n-de/docs/tdewebdev/kommander/dcop.docbook

151 lines
7.5 KiB

<?xml version="1.0" encoding="UTF-8" ?>
<sect1 id="dcop-interface">
<sect1info>
<title>&DCOP; Funktionen</title>
<authorgroup>
<author><firstname></firstname> <surname></surname> <affiliation><address> <email></email>
</address></affiliation>
</author>
<othercredit role="translator"><firstname>Georg</firstname><surname>Schuster</surname><affiliation><address><email>gschuster@utanet.at</email></address></affiliation><contrib>Deutsche Übersetzung</contrib></othercredit>
</authorgroup>
</sect1info>
<title>&DCOP; Funktionen</title>
<para>Das &DCOP; kann in &kommander; auf verschiedene Weise aufgerufen werden. Die Erste ist die Konsolenmethode </para>
<para>dcop kmdr-executor-@pid KommanderIf changeWidgetText myWidget <quote>neuer Text</quote> </para>
<para>Dies setzt voraus, dass Sie sich innerhalb einer &kommander;-Datei befinden und Zugriff auf die Anweisung @pid haben, die die Prozess-ID enhält. Da ist es einfacher, <quote>kmdr-executor-@pid</quote> mit @dcopid zu ersetzen. Diese Syntax (möglicherweise ohne Anweisungen) kann von der Befehlszeile oder jedem externen Skript genutzt werden, um das &kommander;-Fenster zu ändern. </para>
<para>Weil &kommander; in seiner Alfa-Entwicklungsstufe noch keinen vollständigen Parser hat, ist die Verwendung des viel schnelleren internen &DCOP; aus einem anderen Anwendungsfenster (Konsolen-&DCOP; ist langsam) viel schwieriger, weil viele Informationen mitgegeben werden müssen, einschließlich eines Prototyps des Aufrufes. Der Aufruf oben würde so aussehen: </para>
<para>@dcop(@dcopid, KommanderIf, <quote>enableWidget(QString, bool)</quote>, Bedienelement, true) </para>
<para>Zur Zeit der Erstellung sollte aufgepasst werden, dass die Schachtelung von &DCOP;-Aufrufen innerhalb von Skriptsprachkonstrukten (wie <application>bash</application>) die Verwendung von Konsolenaufrufen verlangt.<emphasis>Bei der Verwendung von internem &DCOP; werden alle &kommander;-Anweisungen zuerst ausgeführt und dann erst das Skript.</emphasis> </para>
<para>Es gibt einen neuen vereinfachten Weg, &DCOP; innerhalb von &kommander; zu nutzen, mittels Objektsyntax. Angenommen, der Text in einem Bedienelement namens @Zeileneingabefeld1 soll geändert werden. Dies würde so aussehen. </para>
<para>@Zeileneingabefeld1.changeWidgetText(Neuer Text) </para>
<para>Wie Sie sehen, ist die neue Syntax einfach und passt schlüssig zu den Funktionsgruppen. Die gesamte &DCOP;-Referenz benutzt die neue Objektsyntax, wie oben. <emphasis>Bitte beachten Sie, dass beim Referenzieren eines Bedienelementes mit &DCOP; aus einem anderen Fenster oder einer anderen Anwendung der erste Parameter immer der Name des Bedienelementes sein muss. Alle hier aufgelisteten Funktionen beginnen mit dem zweiten Parameter.</emphasis> </para>
<sect2 id="dcop-globals">
<title>&DCOP; für globale Variablen</title>
<variablelist>
<varlistentry>
<term>global(QString VariablenName)</term>
<listitem>
<para>Liefert den Wert der angegebenen globalen Variable zurück. Wenn ein Skript aus dem &kommander;-Fenster gestartet wird, verschwinden alle (nicht-globalen) Variablen, die im Skript belegt wurden, nach Ablauf des Skripts und sind so nicht für andere Skripte oder neue Instanzen des aufrufenden Prozesses verfügbar. Der <quote>Gültigkeitsbereich</quote> global bedeutet, dass die Variable für jeden Prozess dieses Fensters existiert, bis es geschlossen wird. Diese Variablen können jederzeit mit einem weiteren <function>@setGlobal</function>-Aufruf geändert werden. </para>
</listitem>
</varlistentry>
<varlistentry>
<term>setGlobal(QString VariablenName, QString value)</term>
<listitem>
<para>Erstellt eine Variable, die global im Hinblick auf den Fensterprozeß ist und weist ihr den Wert zu. Dieser Wert kann mit global(QString VariablenName) gelesen oder geändert werden. </para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2 id="dcop-all">
<title>&DCOP; für alle Bedienelemente</title>
<variablelist>
<varlistentry>
<term>changeWidgetText(QString Text)</term>
<listitem>
<para>Dies sollte in setWidgetText umbenannt werden und der Name ist daher veraltet. Es entfernt den angezeigten Text im Bedienelement und ersetzt ihn mit dem Parametertext. </para>
</listitem>
</varlistentry>
<varlistentry>
<term>enableWidget(bool schalter)</term>
<listitem>
<para>Schaltet ein Bedienelement ein oder aus. </para>
</listitem>
</varlistentry>
<varlistentry>
<term>associatedText</term>
<listitem>
<para>Liefert den mit dem angegebenen Bedienelement verbundenen Text zurück. Das ist nicht das gleiche, wie der angezeigte Text. Diesen würde man mit <quote>@widgetText </quote> oder Skriptbefehlen erreichen, um den angezeigten Wert zu erhalten. </para>
</listitem>
</varlistentry>
<varlistentry>
<term>setAssociatedText(QString Text)</term>
<listitem>
<para>Dies setzt den Standardtext von &kommander;. Das ist typischerweise gleich wie <quote>@widgetText</quote> um anzuzeigen, was im Bedienelement enthalten ist. Normalerweise hat man keinen Bedarf dafür, aber auf jeden Fall vorhanden. Trifft für alle Bedienelemente zu, die Text enthalten können. </para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2 id="dcop-box">
<title>&DCOP; für Listenfeld- und Kombinationsfeld-Bedienelemente</title>
<variablelist>
<varlistentry>
<term>addListItem(QString Element, int Index)</term>
<listitem>
<para>Fügt ein Element zu einem ListBox-Bedienelement am angegebenen Index hinzu. Der Index beginnt mit Null. Zum Hinzufügen am Ende der Liste dient -1. </para>
</listitem>
</varlistentry>
<varlistentry>
<term>addListItems(QStringList Elemente, int Index)</term>
<listitem>
<para>Dies fügt eine Liste von Zeichenketten auf einmal hinzu. Die Liste sollte mit <acronym>EOL</acronym> (\n - Zeilenschaltungen) getrennt sein. Das ist praktisch, weil man über bash leicht zu so einer Liste kommt. So liefert z. B. @exec(ls -l ~/projects | grep kmdr) ein Inhaltsverzeichnis von &kommander;-Dateien im Projektordner als passende Liste. Der Listenindex beginnt bei Null. Mit -1 kann am Ende der bestehenden Liste angehängt werden. </para>
</listitem>
</varlistentry>
<varlistentry>
<term>addUniqueItem(QString Element)</term>
<listitem>
<para>addUniqueItem fügt ein Element am Ende der Liste nur dann hinzu, wenn es einmalig ist. </para>
</listitem>
</varlistentry>
<varlistentry>
<term>clearList</term>
<listitem>
<para>Entfernt alle Elemente. </para>
</listitem>
</varlistentry>
<varlistentry>
<term>removeListItem(int Index)</term>
<listitem>
<para>Entfernt das Element mit angegebenem Index. </para>
</listitem>
</varlistentry>
<varlistentry>
<term>item(int Index)</term>
<listitem>
<para>Liefert den Text des Elementes mit angegebenem Index zurück. </para>
</listitem>
</varlistentry>
<varlistentry>
<term>setCurrentListItem(int Index)</term>
<listitem>
<para>Setze das aktuelle (oder ausgewählte) Element auf den angegebenen Index. Verwendbar in Listbox und ComboBox-Bedienelementen. </para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2 id="dcop-button">
<title>&DCOP; für Ankreuzfeld- und Auswahlknopf-Bedienelemente</title>
<variablelist>
<varlistentry>
<term>setChecked(QString BedienelementName, bool aktiviert)</term>
<listitem>
<para>Aktiviert/deaktiviert Ankreuzfeld- oder Auswahlknopf-Bedienelemente. </para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2 id="dcop-tab">
<title>&DCOP; für Karteireiter-Bedienelemente</title>
<variablelist>
<varlistentry>
<term>setCurrentTab(QString BedienelementName, int Index)</term>
<listitem>
<para>Wählt das Unterfenster mittels Index für Karteireiter-Bedienelemente. Der Index beginnt bei Null. </para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>