# Bedienelemente

Die Grundbausteine von &kommander;-Dialogen sind die Bedienelemente. Sie entsprechen den Bedienelementen in der &Qt; oder den &kde;-Bibliotheken, außer das sie als Zusatzfunktionalität eine Verbindung mit Text haben. Ein Text ist mit dem jeweiligen Status (Zustand) des Bedienelementes oder seines Population Slots verbunden. Die Anzahl der möglichen Zustände hängt vom Bedienelement ab. Wenn es nur einen gibt, wird er Standard genannt.

Bedienelement Text

Der Dialog hat zwei spezielle Zustände für &kommander;-Text. Sie heißen Initiate und Destroy. Sie werden ausgeführt, wenn der Dialog geschaffen oder weggeworfen wird. Dies schützt gegen race-Probleme beim Öffnen und bedeutet, dass keine besonderen Vorkehrungen beim Beenden getroffen werden müssen.

Schaltergruppe

- Ein Behälter zum Organisieren von Schaltern in einer Gruppe. Zusätzlich kann mit der title-Eigenschaft ein Titel dafür vergeben werden. Der Rahmen kann mit der lineWidth-Eigenschaft angepasst werden. Die Schaltergruppe kann mit der exclusive-Eigenschaft auf exklusiv einen gesetzt werden. Das bedeutet, wenn einer der Schalter aktiviert ist, sind alle anderen automatisch ausgeblendet, mit der Ausnahme von Auswahl-Knöpfen, die immer exklusiv sind, auch wenn die Gruppe nicht auf exclusive gesetzt ist. Auswahlknöpfe können mit der Eigenschaft radioButtonExclusive auf nicht exklusiv gesetzt werden. (Es ist nicht sicher, dass diese Eigenschaft derzeit funktioniert.)

  Die Schaltergruppe hat einen Status, Standard.

  Der Bedienelement-Text für eine Schaltergruppe ist die Text-Verbindung für jeden Schalter in der Reihenfolge, wie sie in der Schaltergruppe erscheinen.

Ankreuzfeld

- Ein Schalter, der angehakt werden kann. Es ist auch ein halb-angehakt möglich, wenn die tristate-Eigenschaft aktiviert (wahr) ist. Die mit dem Ankreuzfeld verbundenen Beschriftung wird in der text-Eigenschaft festgelegt. Mit Aktivierung der checked-Eigenschaft wird das Ankreuzfeld von Beginn an angehakt.

  Ein Ankreuzfeld hat 3 Zustände, checked, semichecked und unchecked.

  Der Bedienelement-Text für ein Ankreuzfeld ist der Wert der text-Eigenschaft.

Schließenschalter

- Ein Schalter, der beim Anklicken seine Text-Verbindung ausführt und dann den Dialog schließt. Die Beschriftung auf dem Schalter wird mit der text-Eigenschaft festgelegt. Die Ausgabe der Text-Verbindung wird auf der Standardausgabe ausgegeben, wenn die writeStdout-Eigenschaft aktiviert ist. Der Schalter kann die Standard-Aktion des Dialoges sein, wenn die default-Eigenschaft auf wahr gesetzt wird.

  Der Schließenschalter hat einen Zustand, Standard.

  Mit dem Schließenschalter ist kein Bedienelement-Text verbunden.

Auswahlfeld

- Auswahlfeld ist ein Bedienelement zum Auswählen, das einen Schalter mit einem Kontextmenü verbindet. Es zeigt dem Anwender die aktuelle Auswahl aus einer Liste von Möglichkeiten auf kleinem Raum an. Die Elemente werden über das Bearbeitungsfenster an die Liste gehängt. Wenn die editable-Eigenschaft aktiviert ist, kann der Anwender eigene Eingaben unabhängig von der Liste tätigen.

  Das Auswahlfeld hat nur den Standard-Status.

  Der Bedienelement-Text für ein Auswahlfeld ist der Text des ausgewählten Elementes.

Ausführschalter

- Ein Schalter, der beim Anklicken seine Text-Verbindung ausführt. Die Beschriftung am Schalter wird mit der text-Eigenschaft eingestellt. Die Ausgabe der Text-Verbindung wird auf die Standardausgabe geschrieben, wenn die writeStdout-Eigenschaft aktiviert ist. Der Schalter kann die Standard-Aktion für den ganzen Dialog sein, wenn die default-Eigenschaft auf wahr gesetzt ist.

  Der Ausführschalter hat einen Status, Standard.

  Mit dem Ausführschalter ist kein Bedienelement-Text verbunden.

Dateiauswahl

- Die Dateiauswahl verbindet ein Eingabefeld mit einem Schalter, der zu einem Dateiauswahldialog für die grafische Auswahl von Dateien/Ordnern führt. Die Auswahl (Datei/Ordner) wird ins Eingabefeld übertragen. Der Typ einer Dateiauswahl wird mit der selectionType-Eigenschaft festgelegt. Mögliche Typen sind Offnen, Speichern und Ordner. Wenn die selectionOpenMultiple-Eigenschaft aktiviert ist, können viele Dateien/Ordner auf einmal ausgewählt werden. Die Fensterüberschrift für die Dateiauswahl kann mit der selectionCaption-Eigenschaft bestimmt werden und wird in der Titelleiste des Dialoges angezeigt. Wenn keine Fensterüberschrift angegeben wird, bestimmt der Typ der Dateiauswahl den Titel. Die auswählbaren Dateien können mit der selectionFilter-Eigenschaft gefiltert werden.

  Die Dateiauswahl hat nur einen Status, Standard.

  Der Bedienelement-Text für eine Dateiauswahl ist der Text im Eingabefeld (die vom Benutzer ausgewählte Datei).

Gruppenbereich

- Ein Behälter-Bedienelement, das andere Bedienelemente enthält. Der Rahmen kann mit der lineWidth-Eigenschaft verändert werden. Mit der title-Eigenschaft kann ein Titel vergeben werden.

  Der Gruppenbereich hat nur den Standard-Status.

  Der Bedienelement-Text des Gruppenbereiches ist die Text-Verbindung von jedem Bedienelement, das es enthält, kombiniert. Sie erscheinen in dieser Reihenfolge innerhalb des Gruppenbereiches.

Eingabefeld

- Ein Eingabefeld-Bedienelement ist ein Texteditor für eine Zeile. Es ermöglicht dem Benutzer die Eingabe oder Bearbeitung von einer Zeile Text. Der anfangs schon enthaltene Text kann mit der text-Eigenschaft bestimmt werden. Das Bedienelement kann mit der readOnly-Eigenschaft auf nur lesbar gesetzt werden. Es gibt drei Modi für das Bedienelement, Normal, NoEcho und Password. Der Modus wird mit der echoMode-Eigenschaft festgelegt.

  Das Eingabefeld hat nur den Standard-Status.

  Der Bedienelement-Text für das Eingabefeld ist der darin enthaltene Text.

Listenauswahl

- Eine Listenauswahl ermöglicht die Auswahl aus einer Liste von Elementen. Normalerweise ist ein oder kein Element ausgewählt. Dieses Verhalten kann mit der selectionMode-Eigenschaft gestaltet werden. Die Elemente werden im Bearbeitungsfenster der Listenauswahl hinzugefügt.

  Eine Listenauswahl hat nur den Standard-Status.

  Der Bedienelement-Text einer Listenauswahl besteht aus den Elementen in der Listenauswahl. @selectedWidgetText gibt nur das aktuell ausgewählte Element zurück.

Listenansicht

- Dieses Bedienelement ist nun in &kommander; verfügbar. Seine Funktionalität entspricht dem Baum-Bedienelement, bitte dort nachsehen.

Bildbeschriftung

- Ein einfaches Bedienelement, das ein Bild oder eine Beschriftung enthält. Das anzuzeigende Bild wird mit der pixmap-Eigenschaft festgelegt. Der Text wird mit der text-Eigenschaft bestimmt. Es kann zu einer Zeit nur eine dieser Eigenschaften festgelegt sein (normalerweise verhindert der Editor, dass beide gleichzeitig gesetzt sind). Wenn scaledContents aktiviert ist, wird das Bild auf die Größe des Bedienelementes skaliert. Das Format des Textes kann mit der textFormat-Eigenschaft geändert werden.

  Dieses Bedienelement ist in &kommander; nicht aktiviert und hat keinen Status oder Bedienelement-Text.

Auswahlknopf

- Ein Schalter, der aktiviert oder nicht aktiviert sein kann. Normalerweise innerhalb einer Schaltergruppe für genaue eine Auswahl in der Gruppe. Eine Beschriftung für den Schalter kann mit der text-Eigenschaft bestimmt werden. Ein Schalter kann von vornherein mittels der checked-Eigenschaft aktiviert werden. Das Aktivieren der checked-Eigenschaft innerhalb einer Gruppe deaktiviert automatisch diese Eigenschaft für den Schalter, der sie vorher hatte.

  Der Auswahlknopf hat entweder den Status aktiviert oder deaktiviert.

  Es ist mit dem Auswahlknopf kein Bedienelement-Text verbunden.

RichTextEditor

- Dieses Bedienelement ist ein Texteditor für einfache Textformatierungen.

  RichTextEditor hat nur einen Status, Standard.

  Der Bedienelement-Text des RichTextEditors ist der Text, der im Editor im RTF-Format enthalten ist. Ausgewählter Text kann mit @selectedWidgetText zurückgegeben werden.

Ganzzahl-Drehfeld

- Ein Bedienelement, das die Auswahl einer Ganzzahl entweder mit den Pfeilen oder durch Eingabe des Wertes in einem Feld erlaubt. Minimum- und Maximum-Werte können mit der minValue bzw. der maxValue-Eigenschaft festgelegt werden. Die specialValueText-Eigenschaft bestimmt einen Text, der anstatt des Minimums angezeigt wird.

  Das Bedienelement hat nur einen Status, Standard.

  Der Bedienelement-Text für Ganzzahl-Drehfeld ist die aktuell angezeigte Ganzzahl.

SubDialog

- Ein Schalter, der beim Drücken einen anderen &kommander;-Dialog startet. Der zu startende Dialog wird mit der kmdrFile-Eigenschaft festgelegt. Wenn die default-Eigenschaft aktiviert ist, wird der neue Dialog beim Drücken von Eingabe gestartet, soferne der Fokus am alten Dialog lag. Dies könnte auch als Behälter dienen.

  SubDialog hat nur einen Status, Standard.

  Der Bedienelement-Text für SubDialog ist die Textverknüpfung des Dialoges, die er ausführt.

  Dies war dazu gedacht, den Dialog zu enthalten, was aber mit dem neuen Projektkonzept veraltet ist. Sollten wir es mit dem `@dialog()` in seinem &kommander;-Text lassen oder loswerden? Wie auch immer, es würde nicht richtig sein.

TabWidget

- Ein Bedienelement, das viele Unterfenster zur Verfügung stellt, die andere Bedienelemente enthalten können.

TextEdit

- Ein einfacher Mehrzeileneditor.

TextLabel

- Ein einfaches Bedienelement, das einen Text enthält. Es kann auch ein Bild enthalten. Nun, beide sind QLabels. Warum zwei gleich ausssehende Bedienelement mit verschiedenem Namen? - Soll mit Version A7 richtiggestellt werden.

  In Version Alpha 6 ist dieses Bedienelement teilweise verfügbar und kann mit externen DCOP-Aufrufen eingestellt werden.

Baum-Bedienelement

- Ein Bedienelement, das eine Liste in Form einer Baumstruktur darstellt. Dieses Bedienelement ist nun voll verfügbar und seit Version Alpha 6 können Element hinzugefügt und entfernt werden. Es können auch Kindelemente und mehrspaltige Daten hinzugefügt werden. Die aktuelle Begrenzung ist, dass Spalten noch nicht verändert werden können. Zum Hinzufügen eines Kind-Knotens muss / als Trennzeichen verwendet werden. Spalten innerhalb von Daten werden mit einem entwerteten Tabulator \t getrennt.