Solaris CDE: Benutzerhandbuch für Fortgeschrittene und Systemverwalter

Einführung in Datentypen

Erstellt der Benutzer eine neue Datendatei, kann das Erscheinungsbild und das Verhalten des Symbols der Datei im Dateimanager je nach Typ der Datendatei sehr unterschiedlich sein. Diese Fähigkeit, ein angepaßtes Erscheinungsbild und angepaßtes Verhalten für Dateien und Verzeichnisse zu erstellen, wird über den Datentypmechanismus des Desktop 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 in der Regel erstellt, \
				wenn mit der Aktion 'XwdCapture' \
 			Bilder von Fensterausschnitten erstellt werden.
 			Die Bezeichnung des Datentyps lautet XWD. Die Namen der XWD-Dateien \
				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 die Zuordnung einer Datei zu einem bestimmten Datentyp an.

Im Feld DATA_ATTRIBUTES_NAME werden die Kriterien mit den Attributen verbunden.

Es können mehrere DATA_CRITERIA zu einem DATA_ATTRIBUTE. zugeordnet werden. Beispielsweise verfügt der Datentyp XWD über zwei Kriterien, um zwei unterschiedliche Namenskriterien (NAME_PATTERN) festzulegen - die Namensendungen .xwd und .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 Kriterium für die Zuordnung einer Datei zu diesem Datentyp.

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 { ACTIONS Open,Print ... }

Der Inhalt des Menüs 'Ausgewählt' ist abhängig vom Datentyp. Für viele verschiedene Datentypen steht jedoch die Aktion 'Öffnen' zur Verfügung. Bei Auswahl einer Datei dieses bestimmten Datentyps im Dateimanager und anschlieáender Anzeige des Menüs 'Ausgewählt' wird im Menü der Befehl 'Öffnen' eingeblendet.

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

Graphic

Die Aktion 'Öffnen' führt normalerweise die mit der Datendatei verbundene 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 des Datentyps 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. Die Definition befindet sich in der Datenbankkonfigurationdatei /usr/dt/appconfig/types/C/xclients.dt.

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

Das Feld TYPE gibt an, daß es sich um eine Zuordnungsaktion (map) handelt. Das Feld MAP_ACTION gibt an, daß diese Aktion die Aktion Xwud ausführt. Im Feld ARG_TYPE wird angegeben, daß diese Aktion nur auf Dateien des Datentyps XWD angewendet wird.

Vergleichen Sie die vorherige Definition der Aktion 'Öffnen' mit der folgenden Definition, die in der Datenbankdatei /usr/dt/appconfig/types/C/dt.dt angezeigt wird.

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 Symbol-Editor ausführt.

Verhalten des Datentyps bei Doppelklicken definieren

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

Eine Datendatei an ein Aktionssymbol übergeben

Übergibt der Benutzer eine Datendatei an ein Aktionssymbol, 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 an das Symbol Xwd Display übergeben, 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' für den XWD-Datentyp dargestellt. Die Definition befindet sich in /usr/dt/appconfig/types/Sprache/xclients.dt:

ACTION Print
 {
 	LABEL					Print
 	ARG_TYPE				XWD
 	TYPE					MAP
 	MAP_ACTION			NoPrint
 }

Die Aktion 'Drucken', die speziell für XWD-Dateien zur Verfügung steht, wird zu einer Aktion 'NoPrint' zugeordnet. Bei 'NoPrint' handelt es sich um eine spezielle Aktion, die in /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.

Vergleichen Sie die XWD-Aktion 'Drucken' mit der folgenden Aktion 'Drucken' für PCL-Dateien:

ACTION Print
{
 	LABEL				Print
 	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%
}