Der Benutzer kann persönliche Steuerungen durch Ablegen der entsprechenden Symbole auf der Steuerung 'Symbol installieren' erstellen.
Diese Vorgehensweise ermöglicht zwar eine einfache Anpassung der Benutzeroberfläche, jedoch steht nicht der volle Funktionsumfang der Steuerungen im vorderen Steuerbereich zur Verfügung. Eine mit 'Symbol installieren' erstellte Steuerung verfügt beispielsweise nicht über folgende Merkmale:
Animation
Anzeigen eines Client-Fensters
Ändern des Erscheinungsbilds bei einem bestimmten Ereignis (z. B. beim Empfangen neuer Post)
Dieser Abschnitt beschreibt, wie Steuerungen im vorderen Steuerbereich manuell erstellt werden können.
Vollständige Informationen zur Syntax für das Erstellen von Steuerungen sind auf der Hilfeseite dtfpfile(4X) zu finden.
Die Struktur der Definition einer Steuerung im vorderen Steuerbereich lautet:
CONTROL Steuerungsname { TYPE Steuerungstyp CONTAINER_NAME Wert CONTAINER_TYPE Wert andere Felder zum Definieren des Erscheinungsbilds und der Funktionsweise }
Das Feld TYPE der Definition bestimmt das grundlegende Verhalten der Steuerung.
Funktionsweise
Die Steuerung führt eine bestimmte Aktion aus, sobald der Benutzer sie anklickt oder eine Datei auf ihr abgelegt wird.
Platzhalter zum Festlegen des Abstands zwischen den Steuerungen.
Betriebsanzeige. Die Steuerung blinkt (schaltet die Grafik um), wenn eine Aktion aufgerufen wird.
Ein Client-Fenster im vorderen Steuerbereich.
Uhr.
zeigt das aktuelle Datum an.
repräsentiert eine Datei. Durch Auswählen der Steuerung wird die Standardaktion für die Datei ausgeführt.
Dieser Abschnitt enthält Informationen über die allgemeinen Schritte zum Definieren einer Steuerung und zum Erstellen der verschiedenen Steuerungstypen.
Soll die Steuerung über eine PUSH_ACTION und/oder DROP_ACTION verfügen, erstellen Sie die Aktionsdefinitionen. Diese Aktionen werden ausgeführt, wenn der Benutzer auf die Steuerung klickt oder eine Datei auf ihr ablegt.
Erstellen Sie die Symboldateien für die Steuerung.
Informationen über die Größe, Namen und Verzeichnisse der Symbole finden Sie im Abschnitt "Symbolbilddateien".
Erstellen Sie eine neue Konfigurationsdatei für den vorderen Steuerbereich im Verzeichnis:
Systemweit: /etc/dt/appconfig/types/ Sprache/*.fp
Persönlich: Home-Verzeichnis /.dt/types/*.fp
Fügen Sie die Steuerungsdefinition der Datei hinzu.
Speichern Sie die Datei.
Wählen Sie 'Workspace Manager neu starten' aus dem Menü 'Arbeitsbereich'.
Mit den folgenden Feldern wird die Funktionsweise der Steuerung definiert:
TYPE: Hat den Wert 'icon'.
PUSH_ACTION: Gibt den Namen der auszuführenden Aktion an.
Die folgende Steuerung wird dem zusätzlichen Steuerbereich 'Persönliche Anwendungen' hinzugefügt und startet ein Spiel:
CONTROL Ball { TYPE icon CONTAINER_NAME PersAppsSubpanel CONTAINER_TYPE SUBPANEL ICON ball PUSH_ACTION RunBallGame HELP_STRING "Wählen Sie diese Steuerung, um 'Ball' zu spielen." }
Die folgende Steuerung wird in der linken oberen Ecke des Wechselbereichs plaziert und startet eine Aktion namens CutDisp.
CONTROL StartCutDisp { TYPE icon CONTAINER_NAME Switch CONTAINER_TYPE SWITCH POSITION_HINTS first ICON cutdisp HELP_STRING "Wählen Sie diese Steuerung, um die Aktion cutdisp auszuführen." PUSH_ACTION CutDisp }
Mit den folgenden Feldern wird die Funktionsweise der Steuerung definiert:
TYPE: Hat den Wert 'file'.
PUSH_ACTION: Hat den Wert 'Open'.
Es muß eine Open-Aktion für den Datentyp der Datei existieren.
Im folgenden Beispiel wird eine Steuerung am rechten Rand des Hauptsteuerbereichs hinzugefügt. Sie ruft den Texteditor mit der Datendatei /users/ellen/PhoneList.txt auf. Die Open-Aktion für *.txt-Dateien ist in der Standardaktionsdatenbank enthalten.
CONTROL EditPhoneList { TYPE file FILE_NAME /users/ellen/PhoneList.txt CONTAINER_NAME Top CONTAINER_TYPE BOX POSITION_HINTS last ICON PhoneBook HELP_STRING "Diese Steuerung zeigt die Telefonliste von Ellen an." PUSH_ACTION Open }
Geben Sie mit Hilfe des Feldes DROP_ACTION die Aktion an, die beim Ablegen einer Datei auf der Steuerung ausgeführt wird. Die Aktion muß in der Lage sein, Dateiargumente zu verarbeiten.
Oftmals enthält eine Steuerungsdefinition sowohl das PUSH_ACTION - Feld als auch das DROP_ACTION -Feld. Es kann dann dieselbe Aktion für Ziehen und Ablegen verwendet werden.
Die folgende Steuerung befindet sich im zusätzlichen Steuerbereich 'Persönliche Anwendungen' und startet den X-Client xwud, der ein Dateiargument benötigt.
CONTROL Run_xwud { CONTAINER_NAME PerAppsSubpanel CONTAINER_TYPE SUBPANEL POSITION_HINTS 2 ICON XwudImage PUSH_ACTION RunXwud DROP_ACTION RunXwud }
Mit den folgenden Feldern wird die Funktionsweise der Steuerung definiert:
TYPE: Geben Sie einen der folgenden Werte an:
icon - Verwenden Sie diesen Typ, wenn eine PUSH_ACTION und/oder DROP_ACTION für die Steuerung definiert werden soll.
file - Verwenden Sie diesen Typ, wenn sich die Steuerung bei der Auswahl wie die entsprechende Datei verhalten soll, wenn im Dateimanager doppelt deren Symbol angeklickt wird.
ICON und ALTERNATE_ICON : Diese beiden Felder legen die Grafiken fest, die für den geänderten und den nicht geänderten Status der überwachten Datei angezeigt werden.
MONITOR_TYPE: Dieses Feld beschreibt die Bedingungen für das Ändern der Grafik. Verwenden Sie hier einen der folgenden Werte:
mail - Die Steuerung ändert das Erscheinungsbild, wenn Informationen in die Datei eingefügt werden.
file - Die Steuerung ändert das Erscheinungsbild, wenn die überwachte Datei nicht mehr leer ist.
FILE_NAME: Mit diesem Feld wird die zu überwachende Datei angegeben.
Die folgende Steuerung befindet sich am oberen Rand des zusätzlichen Steuerbereichs 'Persönliche Anwendungen' und sucht nach der Datei meetings, die per 'Anonymous FTP' auf das System übertragen wurde.
CONTROL MonitorCalendar { TYPE file CONTAINER_NAME PersonalApps CONTAINER_TYPE SUBPANEL POSITION_HINTS first FILE_NAME /users/ftp/meetings MONITOR_TYPE file ICON meetingsno ALTERNATE_ICON meetingsyes }
Eine Einzelinstanz-Steuerung prüft, ob der Prozeß bereits ausgeführt wird, der mit PUSH_ACTION gestartet wird. Wurde der Prozeß noch nicht gestartet, wird PUSH_ACTION ausgeführt. Läuft der Prozeß bereits, wird das betreffende Fenster in den Vordergrund des aktuellen Arbeitsbereichs gebracht.
Mit den folgenden Feldern wird die Funktionsweise der Steuerung definiert:
PUSH_RECALL: Hat den Wert True.
CLIENT_NAME: Gibt den Namen des Client an.
Der Wert von CLIENT_NAME muß mit der ersten Zeichenfolge (res_name) der Eigenschaft WM_CLASS des Hauptfensters der Anwendung übereinstimmen. Weitere Informationen hierzu finden Sie auf der Hilfeseite xprop(1).
PUSH_ACTION: Gibt die Aktion an, die beim Anklicken der Steuerung ausgeführt wird.
Folgende Steuerung startet eine Instanz einer Anwendung, deren Aktion den Namen MyEditor hat.
CONTROL MyEditor { TYPE icon CONTAINER_NAME Top CONTAINER_TYPE BOX POSITION_HINTS 15 PUSH_RECALL True CLIENT_NAME BestEditor PUSH_ACTION StartMyEditor ICON MyEd }
Eine Client-Fenstersteuerung ist ein Anwendungsfenster im vorderen Steuerbereich. Es kann beispielsweise durch Erstellen einer xload -Client-Fenstersteuerung im vorderen Steuerbereich eine Systemauslastungsanzeige eingefügt werden.
Definieren Sie die Steuerung.
Mit den folgenden Feldern wird die Funktionsweise der Steuerung definiert:
TYPE: Hat den Wert Client.
CLIENT_NAME: Gibt den zu startenden Client an.
Der Wert von CLIENT_NAME muß mit der ersten Zeichenfolge (res_name) der Eigenschaft WM_CLASS des Hauptfensters der Anwendung übereinstimmen. Weitere Informationen hierzu finden Sie auf der Hilfeseite xprop(1).
Wählen Sie 'Workspace Manager neu starten' aus dem Menü 'Arbeitsbereich'.
Starten Sie den Client an der Befehlszeile eines Terminal-Emulatorfensters.
Die folgende Steuerung zeigt eine Auslastungsanzeige von 30 x 20 Pixel an.
CONTROL LoadMeter { TYPE client CONTAINER_NAME Top CONTAINER_TYPE BOX CLIENT_NAME xload CLIENT_GEOMETRY 30x20 }
Wird der Client zwischen den Sitzungen nicht gespeichert und wiederhergestellt, sollten Sie die Steuerung so konfigurieren, daß sie beim Klicken des Benutzers auf das Symbol den Client startet. Sie können beispielsweise die Steuerung LoadMeter konfigurieren, den Client xload zu starten, indem Sie folgende Zeile zu der Definition hinzufügen:
PUSH_ACTION StartXload
und diese Aktion erstellen:
ACTION StartXload { WINDOW_TYPE NO_STDIO EXEC_STRING /usr/contrib/bin/X11/xload }
Sie können einer Steuerung eine Animationssequenz zuordnen, die beim Klicken auf die oder Ablegen auf der Komponente verwendet wird.
Damit eine Animation verwendet werden kann, muß die Steuerung folgende Bedingungen erfüllen:
Sie muß diesem Typ entsprechen: icon
Sie muá folgendes enthalten: PUSH_ACTION oder DROP_ACTION
Die Animationssequenz wird mit der Komponente ANIMATION angegeben:
ANIMATION Animationsname { ANIMATION icon1 [milisecond_delay] ANIMATION icon2 [milisecond_delay] ... }
wobei icon1, icon 2, etc. die Namen der Symbole sind und milisecond_delay die Zeitverzögerung zwischen Animationssymbolen in Millisekunden ist. Die Standardzeitverzögerung beträgt 200 Millisekunden.
Fügen Sie das Feld PUSH_ANIMATION und/oder das Feld DROP_ANIMATION der Steuerungsdefinition hinzu, um den Namen der ANIMATION -Sequenz anzugeben.
Im folgenden Beispiel wird eine Steuerung animiert, mit der die Anwendung BestEditor gestartet werden kann. Die Zeitverzögerung zwischen den Symbolen beträgt 300 Millisekunden. Es wird vorausgesetzt, daß die Symboldateien frame1, frame2 usw. vorhanden sind.
CONTROL BestEditor { ... PUSH_ANIMATION BestEdAnimation ... }
ANIMATION BestEdAnimation { frame1 300 frame2 ... }
Elementhilfe kann auf zwei Arten für eine Steuerung bereitgestellt werden:
Durch eine Zeichenfolge in der Steuerungsdefinition.
Die Zeichenfolge wird angezeigt, wenn der Benutzer für die Steuerung Elementhilfe anfordert. Sie darf keine Formatierungsinformationen (z. B. Kopfzeilen) oder Verweise enthalten.
Die Hilfe-Zeichenfolge muß folgendermaßen in der Definition der Steuerung angegeben werden:
HELP_STRING Hilfe_Zeichenfolge
Durch Angabe eines Hilfethemas in einem registrierten Hilfeband.
Eine Hilfethema enthält Informationen, die mit den Funktionen des Hilfesystems erstellt wurden. Um ein Hilfethema zu erstellen, benötigen Sie das Help Developers Kit des Desktops.
Der Hilfeband und die ID des Themas müssen in der Steuerungsdefinition angegeben werden:
HELP_VOLUME Hilfeband HELP_TOPIC Thema_ID