CDE Handbuch für fortgeschrittene Benutzer und Systemverwalter

Eine neue Steuerung erstellen

Dieser Abschnitt enthält Informationen über die allgemeinen Schritte zum Definieren einer Steuerung und zum Erstellen der verschiedenen Steuerungstypen.

  1. 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.

  2. Erstellen Sie die Symboldateien für die Steuerung.

    Informationen über die Größe, Namen und Verzeichnisse der Symbole finden Sie im Abschnitt Symbolbilddateien.

  3. Erstellen Sie eine neue Konfigurationsdatei für den vorderen Steuerbereich im folgenden Verzeichnis:

    • Systemweit: /etc/dt/appconfig/types/Sprache/*.fp

    • Persönlich: Home-Verzeichnis/.dt/types/*.fp

  4. Fügen Sie die Steuerungsdefinition der Datei hinzu.

  5. Speichern Sie die Datei.

  6. Wählen Sie 'Workspace Manager neu starten' aus dem Menü 'Arbeitsbereich'.

Eine Steuerung erstellen, die beim Klicken eine Aktion ausführt

Mit den folgenden Feldern wird die Funktionsweise der Steuerung definiert:

Eine Steuerung erstellen, die eine Datei öffnet

Mit den folgenden Feldern wird die Funktionsweise der Steuerung definiert:

Eine Steuerung als Ablagezone erstellen

Verwenden Sie das Feld DROP_ACTION, um die Aktion festzulegen, 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 Feld PUSH_ACTION als auch DROP_ACTION. Es kann dann dieselbe Aktion für Klicken 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
 }

Eine Steuerung erstellen, die eine Datei überwacht

Mit den folgenden Feldern wird die Funktionsweise der Steuerung definiert:

Eine Einzelinstanz-Steuerung (Schalter) erstellen

Eine Einzelinstanz-Steuerung prüft, ob der Prozeß bereits ausgeführt wird, der mit PUSH_ACTION gestartet wurde. 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:

Eine Client-Fenstersteuerung erstellen

Eine Client-Fenstersteuerung ist ein Anwendungsfenster im vorderen Steuerbereich. Es kann beispielsweise eine Systemsauslastungsanzeige im vorderen Steuerbereich durch Erstellen einer xload-Client-Fenstersteuerung angezeigt werden.

  1. 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).

    • CLIENT_GEOMETRY: Gibt die Größe (in Pixel) an, die für den vorderen Steuerbereich des Client-Fensters benötigt wird.

      Die Hilfeseite xwininfo(1) beschreibt, wie die Größe eines Fensters in Pixel ermittelt werden kann.

  2. Wählen Sie 'Workspace Manager neu starten' aus dem Menü 'Arbeitsbereich'.

  3. Starten Sie den Client von der Befehlszeile eines Terminal-Emulatorfensters.

    Die folgende Steuerung zeigt eine Auslastungsanzeige von 30 × 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, um 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
       	EXEC_STRING				/usr/contrib/bin/X11/xload
     }

Eine Steuerung animieren

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:

  1. Die Animationssequenz wird mit der Komponente ANIMATION angegeben:

    	ANIMATION Animationsname
     	{
    
    		ANIMATION	Symbol1				[Verzögerung_in_Millisekunden]
    
    		ANIMATION	Symbol2				[Verzögerung_in_Millisekunden]
     		…
     	}

    Dabei sind Symbol1, Symbol2 usw. die Namen von Symbolen und Verzögerung_in_Millisekunden die Zeitdauer in Millisekunden, die für Animationssymbole vergeht. Die Standardeinstellung für die Zeitverzögerung beträgt 200 Millisekunden.

  2. Fügen Sie das Feld PUSH_ANIMATION und/oder DROP_ANIMATION der Steuerungsdefinition hinzu. Der Wert ist dabei der Name der ANIMATION-Sequenz.

    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 für die Steuerungen im vorderen Steuerbereich bereitstellen

Elementhilfe kann auf zwei Arten für eine Steuerung bereitgestellt werden: