CDE Handbuch für fortgeschrittene Benutzer und Systemverwalter

Kapitel 10 Einführung in Aktionen und Datentypen

Bei Aktionen und Datentypen handelt es sich um wichtige Komponenten bei der Integration von Anwendungen auf dem Desktop. Sie stellen eine Möglichkeit zur Verfügung, eine Benutzerschnittstelle zum Starten von Anwendungen und zum Bearbeiten der Datendateien zu benutzen.

In diesem Kapitel wird das Konzept von Aktionen und Datentypen erläutert. Folgende Themen werden beschrieben:

Die Verfahren und Regeln für das Erstellen von Aktionen und Datentypen werden in diesem Handbuch in drei Kapiteln behandelt: In

Einführung in Aktionen

Bei Aktionen handelt es sich um Instruktionen, mit denen Desktop-Aufgaben wie die Ausführung von Anwendungen und das Öffnen von Datendateien automatisiert werden. Aktionen funktionieren ähnlich wie Anwendungsmakros oder Programmierfunktionen. Jede Aktion verfügt über einen Namen, der für die Ausführung der Aktion verwendet wird.

Sobald eine Aktion definiert wird, kann sie dazu verwendet werden, die Desktop-Benutzerschnittstelle anzupassen, so daß Aufgaben einfacher ausgeführt werden können. Das Desktop verfügt über Benutzerschnittstellenkomponenten wie zum Beispiel Symbole, Steuerungen im vorderen Steuerbereich und Menüelemente für Aktionen.

Beispielsweise enthält die Gruppe von Anwendungen 'Desktop_Werkzeuge' im Application Manager Symbole, über die verschiedene Dienstprogramme gestartet werden.

Abbildung 10–1 Symbole für Aktionen in der Anwendungsgruppe 'Desktop_Werkzeuge'

Graphic

Jedes dieser Symbole führt eine Aktion aus, wenn Sie auf dieses Symbol doppelklicken. Das folgende Beispiel zeigt einen Teil der Definition für die Aktion, die ausgeführt wird, wenn der Benutzer auf das Symbol mit der Bezeichnung 'Xwd Display' doppelklickt. Die Aktion ist in der Konfigurationsdatei /usr/dt/appconfig/types/sprache/xclients.dt festgelegt:

ACTION Xwud
 {
 	LABEL				Xwd Display
 	TYPE				COMMAND
 	EXEC_STRING		/usr/bin/X11/xwud -noclick -in \
				%(File)Arg_1"Xwd  Datei anzeigen:"%
	…
 }

Der Befehl im Feld EXEC_STRING der Aktion wird ausgeführt, wenn der Benutzer auf dieses Symbol doppelklickt.

Der vordere Steuerbereich verwendet ebenfalls Aktionen. Das folgende Beispiel zeigt einen Teil der Definition der Steuerung mit der Bezeichnung 'Terminal' im zusätzlichen Steuerbereich 'Persönliche Anwendungen'.Diese Steuerung ist in der Konfigurationsdatei /usr/dt/appconfig/types/Sprache/dtwm.fp definiert:

CONTROL Term
 {
 	ICON				Fpterm
 	LABEL				Terminal
 	PUSH_ACTION		Dtterm
 	…
 }

Das Feld PUSH_ACTION gibt die auszuführende Aktion an, wenn der Benutzer auf die Steuerung klickt. In diesem Fall handelt es sich um die Aktion 'Dtterm'.

Daneben werden Aktionen häufig in Menüs verwendet. Datendateien verwenden normalerweise Aktionen in ihrem Menü 'Ausgewählt' im Dateimanager. XWD-Dateien (Dateien mit der Erweiterung .xwd oder .wd) verfügen beispielsweise über eine Aktion 'Öffnen', die die Aktion 'Xwud' ausführt und die Bildschirmdarstellung anzeigt.

Abbildung 10–2 Aktion 'Öffnen' für Dateien des Datentyps XWD

Graphic

Die Aktionen im Menü 'Ausgewählt' werden in der Datentypdefinition für XWD-Dateien angegeben. Die Definition befindet sich in der Konfigurationsdatei /usr/dt/appconfig/types/sprache/xclients.dt.

DATA_ATTRIBUTES XWD
 {
 	ACTIONS				Open,Print
 	ICON				Dtxwd
 	…
}

Erläuterungen zum Datentyp XWD und den zugehörigen Aktionen 'Öffnen' und 'Drucken' finden Sie im Abschnitt Wie Datentypen Datendateien mit Aktionen verbinden.

Wie Aktionen Symbole für Anwendungen erstellen

Als Beispiel soll das Symbol 'Xwd Display' in der Anwendungsgruppe 'Desktop_Werkzeuge' betrachtet werden. Wenn Sie auf dieses Symbol doppelklicken, wird der X-Client xwud ausgeführt. Dieses Symbol repräsentiert jedoch nicht direkt die tatsächliche ausführbare xwud-Datei /usr/bin/X11/xwud.

Das Symbol mit der Bezeichnung 'Xwd Display' wird in der Anwendungsgruppe angezeigt, weil sich in diesem Verzeichnis eine Datei mit Namen Xwud befindet (weitere Informationen finden Sie in Abbildung 10–3). Diese Datei stellt eine zugrundeliegende Aktion mit demselben Namen (d.h. Xwud) dar. In der Aktionsdefinition ist der Aktionsname der Name, der nach dem Schlüsselwort ACTION angegeben ist:

ACTION Xwud
 {
 	LABEL						Xwd Display
 	TYPE						COMMAND
 	WINDOW_TYPE				NO_STDIO
 	EXEC_STRING				/usr/bin/X11/xwud -noclick -in \
 								%(File)Arg_1"Xwd Datei anzeigen:"%
 	DESCRIPTION				Die Xwd-Anzeige (Xwud) 'Aktion XwdDisplay' \
 								zeigt eine xwd-Datei, die mit der \
 								Aktion 'Xws Capture' (Xwd) 
 								erstellt wurde. \
 								Der Befehl 'xwud' wird verwendet.
 }

Die Datei wird als Aktionsdatei bezeichnet, da sie eine Aktion darstellt. Eine Datei ist eine Aktionsdatei, wenn es sich um eine ausführbare Datei handelt, die denselben Namen wie eine bestimmte Aktion trägt. Das zugehörige Symbol im Application Manager (oder im Dateimanager) wird Aktionssymbol oder Anwendungssymbol genannt, da durch Doppelklicken auf dieses Symbol eine Anwendung gestartet wird.

Abbildung 10–3 Anwendungs-(Aktions-)Symbol, das eine Aktionsdatei darstellt

Graphic

Ermittelt der Application Manager eine ausführbare Datei, durchsucht er die Datenbank nach Aktionen, deren Namen dem Dateinamen entsprechen. Ist eine Entsprechung vorhanden, stellt der Application Manager fest, daß es sich bei der Datei um eine Aktionsdatei handelt.

Der Inhalt der Aktionsdatei ist irrelevant. Aktionsdateien enthalten normalerweise Kommentare mit der Beschreibung ihrer Desktop-Funktionen.


Hinweis –

Bei einer Aktionsdatei handelt es sich nicht um eine Definitionsdatei für Aktionen. Die Aktionsdatei ist eine Datei, die denselben Namen wie die Aktion trägt. Sie wird verwendet, um das Anwendungssymbol im Dateimanager oder im Application Manager zu erstellen. Die Definitionsdatei für Aktionen ist die Datei mit dem Namen name.dt, die die Definition der Aktion enthält.


Sobald das Desktop festgestellt hat, daß es sich bei einer Datei um eine Aktionsdatei handelt, wird die zugrundeliegende Aktionsdefinition verwendet, um das Erscheinungsbild und das Verhalten der Aktionsdatei zu definieren.

Abbildung 10–4 Symbolbild, das durch das Feld ICON in der Aktionsdefinition angegeben wird

Graphic

Die Aktion 'Xwud' wird als Befehlsaktion bezeichnet, da die entsprechende Definition den auszuführenden Befehl (EXEC_STRING) enthält. Über das Feld TYPE in der Aktionsdefinition wird der Aktionstyp definiert.

Zunächst wird das Symbol 'Xwd Display' in der Anwendungsgruppe 'Desktop_Werkzeuge' angezeigt. Der Benutzer kann jedoch zusätzliche Exemplare des Aktionssymbols in jedem Verzeichnis erstellen, wenn er über eine entsprechende Schreibberechtigung verfügt. Solange die Aktionsdefinition für Xwud Bestandteil der Datenbank ist, wird jede ausführbare Datei mit dem Namen Xwud, die Sie erstellt haben, als Aktionsdatei geführt, die die entsprechende Aktion darstellt. Das dazugehörige Symbol im Dateimanager oder im Application Manager kann zum Ausführen der Aktion verwendet werden.

Wie Aktionen Datendateien als Argumente verwenden

Ein Argument ist das Objekt, normalerweise eine Datei, an dem der Befehl ausgeführt wird. Aktionen können so definiert werden, daß sie Dateiargumente akzeptieren.

Beispielsweise gibt das Feld EXEC_STRING der Aktion 'Xwud' an, daß ein Dateiargument erforderlich ist:

EXEC_STRING				/usr/bin/X11/xwud -noclick -in \
 							%(File)Arg_1"Xwd Datei anzeigen:"%

Der Term Arg steht für das Wort Argument. Die Syntax Arg_1 bedeutet das erste Argument, und (File) bedeutet, daß die Aktion dieses Argument als eine Datei behandelt.

Der Benutzer kann ein Dateiargument auf einfache Weise zur Verfügung stellen, indem er dem Anwendungssymbol eine Datendatei übergibt. Das Desktop bestimmt den Pfad für die übergebene Datei und setzt diesen in der Befehlszeile anstelle des Textes zwischen den Symbolen % (%(File)Arg_1"Xwd Datei anzeigen:"%) ein. Dann wird folgender Befehl ausgeführt:

/usr/bin/X11/xwud -noclick -in datei_pfad

Wenn der Benutzer auf das Anwendungssymbol doppelklickt, stellt das Desktop im Feld EXEC_STRING fest, daß ein Dateiargument erforderlich ist, und zeigt ein Dialogfenster an, in dem der Benutzer aufgefordert wird, einen Dateinamen oder Pfad einzugeben. Im Fall der Aktion 'Xwud' lautet die Aufforderung:

Xwd Datei anzeigen:

Der Dateiname oder Pfad, den der Benutzer eingibt, wird als Dateiargument verwendet.

Zusätzliche Verwendung für Aktionen

Zusätzlich zum Starten von Anwendungen werden Aktionen im gesamten Desktop verwendet, um Funktionalität in folgenden Bereichen herzustellen:

Einführung in Datentypen

Erstellt der Benutzer eine neue Datendatei, können die Darstellung und das Verhalten des Dateisymbols im Dateimanager je nach Typ der Datendatei unterschiedlich sein. Diese Fähigkeit zum Erzeugen von angepaßter Darstellung und angepaßtem Verhalten für Dateien und Verzeichnisse wird über den Datentypmechanismus des Desktops zur Verfügung gestellt.

Was ist ein Datentyp?

Bei einem Datentyp handelt es sich um ein Konstrukt, das innerhalb der Desktop-Datenbank definiert ist. Das folgende Beispiel zeigt die Definition des Datentyps XWD. Die Definition befindet sich in der Konfigurationsdatei /usr/dt/appconfig/types/sprache/xclients.dt:

DATA_ATTRIBUTES XWD
 {
 	ACTIONS				Open,Print
 	ICON					Dtxwd
 	NAME_TEMPLATE		%s.xwd
 	MIME_TYPE      	application/octet-stream
 	SUNV3_TYPE    		xwd-file
		DESCRIPTION    	Diese Datei enthält ein Grafikbild im 
							Format XWD.\
 							Diese Dateien werden erstellt, wenn \
 							mit der Aktion 'XwdCapture' Bilder von 
 							Fensterausschnitten \ gemacht werden. 
 							Der Datentyp wird XWD genannt. 
 							XWD-Dateinamen\ enden mit '.xwd' 
 							oder '.wd'.
 }
DATA_CRITERIA XWD1
 {
 	DATA_ATTRIBUTES_NAME			XWD
 	MODE									f
 	NAME_PATTERN						*.xwd
 }

 DATA_CRITERIA XWD2
 {
 	DATA_ATTRIBUTES_NAME			XWD
 	MODE									f
 	NAME_PATTERN						*.wd
 }

Jede Datentypdefinition besteht aus zwei Teilen:

DATA_ATTRIBUTES— beschreibt Darstellung und Verhalten des Datentyps.

DATA_CRITERIA— gibt die Regeln (Benennung oder Inhalt) für das Zuordnen einer Datei zu einem bestimmten Datentyp an.

Das Feld DATA_ATTRIBUTES_NAME verbindet die Kriterien mit den Attributen.

Es können mehrere DATA_CRITERIA zu einem DATA_ATTRIBUTE zugeordnet werden. Beispielsweise verfügt der Datentyp XWD über zwei Kriterien, die jeweils unterschiedliche Benennungskriterien angeben: NAME_PATTERN)—Namen mit der Dateierweiterung .xwd oder .wd.

Wie Datentypen Datendateien mit Aktionen verbinden

Als Beispiel wird der Datentyp XWD herangezogen. Der Benutzer erstellt eine Datei des Typs XWD, indem er der Datei eine der beiden folgenden Dateinamenerweiterungen zuweist: .xwd oder .wd. Das Desktop verwendet den Dateinamen als das Kriterium, dem entsprechend eine Datei einem Datentyp zugeordnet wird.

Der Datentyp XWD stellt für jede Datei dieses Datentyps folgendes zur Verfügung:

Aktionen über das Menü 'Ausgewählt' ausführen

Das Menü 'Ausgewählt' im Dateimanager ist nur aktiv, wenn eine Datei oder ein Verzeichnis ausgewählt ist. Die Befehle, die unten im Menü 'Ausgewählt' angezeigt werden, sind abhängig vom Datentyp. Wird beispielsweise eine XWD-Datei ausgewählt, enthält das Menü 'Ausgewählt' die Elemente 'Öffnen' und 'Drucken'.

Das Feld ACTIONS in der Datentypdefinition gibt an, welche Befehle im Menü 'Ausgewählt' des Datentyps unten angefügt werden.

DATA_ATTRIBUTES XWD

Der Inhalt des Menüs 'Ausgewählt' ist abhängig vom Datentyp. Aber viele verschiedene Datentypen stellen eine Aktion 'Öffnen' zur Verfügung. Wird eine Datei dieses bestimmten Datentyps im Dateimanager ausgewählt und das Menü 'Ausgewählt' angezeigt, wird im Menü der Befehl 'Öffnen' angezeigt.

Abbildung 10–5 Das Menü 'Ausgewählt' für eine XWD-Datei

Graphic

Die Aktion 'Öffnen' führt normalerweise die der Datendatei zugehörige Anwendung aus. Beispielsweise wird durch das Öffnen einer XWD-Datei die Aktion 'Xwud' ausgeführt, die wiederum den X-Client xwud ausführt, um das jeweilige Bild anzuzeigen. Das heißt, bei dem Datentyp XWD ist die Aktion 'Öffnen' synonym mit der Aktion 'Xwud'. Ebenso wird durch das Öffnen einer Datei vom Datentyp TEXTFILE der Texteditor und durch das Öffnen einer Bitmap- oder Pixmap-Datei der Symboleditor ausgeführt.

Die Möglichkeit, verschiedene Aktionen 'Öffnen' zu erstellen, die unterschiedlich verwendet werden, basiert auf zwei Merkmalen von Aktionsdefinitionen:

Das folgende Beispiel zeigt die Definition der Aktion, die die Aktion 'Öffnen' für den Datentyp XWD der Aktion 'Xwud' zuordnet. Sie befindet sich in der Datenbank-Konfigurationsdatei /usr/dt/appconfig/types/C/xclients.dt.

ACTION Open
 {
 	LABEL				Open
 	ARG_TYPE			XWD
 	TYPE				MAP
 	MAP_ACTION		Xwud
 }

Über das Feld TYPE wird angegeben, daß es sich um eine Zuordnungsaktion (map) handelt. Das Feld MAP_ACTION gibt an, daß diese Aktion die Aktion 'Xwud' ausführt. Das Feld ARG_TYPE gibt an, daß diese Aktion nur auf Dateien vom Datentyp XWD angewendet wird.

Verglichen Sie die oben angegebene Definition für die Aktion 'Öffnen' mit der folgenden Definition, die in der Datenbankdatei /usr/dt/appconfig/types/C/dt.dt festgelegt ist.

ACTION Open
 {
 	LABEL					Open
 	ARG_TYPE				BM
 	TYPE					MAP
 	MAP_ACTION			Dticon
 }

Diese Definition bezieht sich auf Dateien des Datentyps (ARG_TYPE) BM (Bitmap-Dateien). Die Definition ordnet die Aktion 'Öffnen' der Aktion 'Dticon' zu, die den Symboleditor ausführt.

Verhalten des Datentyps bei Doppelklicken definieren

Das Verhalten des Datentyps bei Doppelklicken wird durch den ersten Eintrag im Feld ACTIONS festgelegt. Beispielsweise wird beim Datentyp XWD durch Doppelklicken die Aktion 'Öffnen' ausgeführt, die ihrerseits die Aktion 'Xwud' ausführt.

Eine Datendatei auf einem Aktionssymbol ablegen

Legt der Benutzer eine Datendatei auf einem Aktionssymbol ab, führt das System die Aktion aus und verwendet diese Datendatei als Argument für die Aktion. (Weitere Informationen finden Sie im Abschnitt Wie Aktionen Datendateien als Argumente verwenden).

Wird beispielsweise eine XWD-Datendatei auf einem Symbol 'Xwd Display' abgelegt, wird die Aktion 'Xwud' ausgeführt und das Datendateiargument verwendet. Dadurch wird der X-Client xwud mit dieser Datendatei ausgeführt.

Drucken über das Desktop für einen Datentyp einrichten

Folgende Möglichkeiten stehen zur Verfügung, um eine Datendatei über das Desktop zu drucken:

Zusätzlich zu dieser Druckoption besteht in vielen Anwendungen die Möglichkeit, über die jeweilige Anwendung zu drucken.

Beim Drucken über das Desktop werden Aktionen mit dem Namen 'Drucken' verwendet. Bei 'Drucken' handelt es sich, wie bei 'Öffnen', um einen Aktionsnamen, der für viele verschiedene Datentypen verwendet wird. Aus diesem Grund wird bei der Aktion 'Drucken' die Aktionszuordnung und das Feld ARG_TYPE verwendet, um das Drucken für jeden einzelnen Datentyp anzupassen.

Im folgenden Beispiel wird die Aktion 'Drucken' fpr den Datentyp XWD angegeben. Die Definition befindet sich in der Datei /usr/dt/appconfig/types/sprache/xclients.dt:

ACTION Print
 {

	LABEL					Drucken
 	ARG_TYPE				XWD
 	TYPE					MAP
 	MAP_ACTION			NoPrint
 }

Diese Aktion 'Drucken', die speziell für XWD-Dateien gilt, wird einer Aktion 'NoPrint' zugeordnet. Bei 'NoPrint' handelt es sich um eine spezielle Aktion, die in der Datei /usr/dt/appconfig/types/sprache/dt.dt definiert ist. Die Aktion 'NoPrint' zeigt ein Dialogfenster an, das dem Benutzer mitteilt, daß dieser Datentyp nicht gedruckt werden kann.

Hierzu zum Vergleich die Aktion 'Drucken' für PCL-Dateien:

ACTION Print
{

	LABEL				Drucken
 	ARG_TYPE			PCL
 	TYPE				MAP
 	MAP_ACTION		PrintRaw
 }

Die Aktion 'PrintRaw', die in der Konfigurationsdatei /usr/dt/appconfig/types/sprache/print.dt festgelegt wurde, enthält die Befehlszeile zum Drucken der PCL-Dateien.

ACTION PrintRaw
 {
 	TYPE						COMMAND
 	WINDOW_TYPE				NO_STDIO
 	EXEC_STRING				/usr/dt/bin/dtlp -w %(File)Arg_1%
 }