541 lines
31 KiB
Plaintext
541 lines
31 KiB
Plaintext
<!-- $XConsortium: ch08.sgm /main/10 1996/12/21 18:26:11 rws $ -->
|
|
<!-- (c) Copyright 1995 Digital Equipment Corporation. -->
|
|
<!-- (c) Copyright 1995 Hewlett-Packard Company. -->
|
|
<!-- (c) Copyright 1995 International Business Machines Corp. -->
|
|
<!-- (c) Copyright 1995 Sun Microsystems, Inc. -->
|
|
<!-- (c) Copyright 1995 Novell, Inc. -->
|
|
<!-- (c) Copyright 1995 FUJITSU LIMITED. -->
|
|
<!-- (c) Copyright 1995 Hitachi. -->
|
|
<chapter id="SAG.IntAc.div.1">
|
|
<title id="SAG.IntAc.mkr.1">Einführung in Aktionen und Datentypen</title>
|
|
<para><indexterm><primary>Aktionen</primary><secondary>Einführung</secondary>
|
|
</indexterm><indexterm><primary>Datentypen</primary><secondary>Einführung</secondary></indexterm>Bei <emphasis>Aktionen</emphasis> und <emphasis>Datentypen</emphasis> handelt es sich um wichtige Komponenten bei der Integrierung von
|
|
Anwendungen auf dem Desktop. Sie stellen eine Möglichkeit zur Verfügung,
|
|
eine Benutzerschnittstelle zum Starten von Anwendungen und zum Bearbeiten
|
|
von deren Datendateien zu benutzen.</para>
|
|
<informaltable id="SAG.IntAc.itbl.1" frame="All">
|
|
<tgroup cols="1">
|
|
<colspec colname="1" colwidth="4.0 in">
|
|
<tbody>
|
|
<row rowsep="1">
|
|
<entry><para><!--Original XRef content: 'Einführung in Aktionen142'--><xref
|
|
role="JumpText" linkend="SAG.IntAc.mkr.2"></para></entry>
|
|
</row>
|
|
<row rowsep="1">
|
|
<entry><para><!--Original XRef content: 'Einführung in Datentypen150'--><xref
|
|
role="JumpText" linkend="SAG.IntAc.mkr.5"></para></entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
<para>In diesem Kapitel wird das Konzept von Aktionen und Datentypen erläutert.
|
|
Es wird beschrieben,</para>
|
|
<itemizedlist remap="Bullet1"><listitem><para>warum es günstig ist, Aktionen
|
|
und Datentypen für Anwendungen zu erstellen.</para>
|
|
</listitem><listitem><para>welche Beziehung zwischen Aktionen und Datentypen
|
|
besteht.</para>
|
|
</listitem><listitem><para>in welcher Beziehung Aktionen und Datentypen zum
|
|
Drucken über das Desktop stehen.</para>
|
|
</listitem></itemizedlist>
|
|
<sect1 id="SAG.IntAc.div.2">
|
|
<title>Weiterführende Informationen</title>
|
|
<para>Die Verfahren und Regeln für das Erstellen von Aktionen und Datentypen
|
|
werden in diesem Handbuch in drei Kapiteln behandelt:</para>
|
|
<itemizedlist remap="Bullet1"><listitem><para>In <!--Original XRef content:
|
|
'Kapitel 9'--><xref role="ChapterNumber" linkend="SAG.dtCrA.mkr.1">
|
|
wird erläutert, wie Aktionen und Datentypen mit der Desktop- Anwendung
|
|
'Aktion erstellen' erstellt werden.</para>
|
|
<para>Mit 'Aktion erstellen' können Aktionen und Datentypen für
|
|
die meisten Anwendungen erstellt werden, ohne daß der Benutzer die Syntaxregeln
|
|
für deren Definitionen lernen muß.</para>
|
|
</listitem><listitem><para>In <!--Original XRef content: 'Kapitel 10'--><xref
|
|
role="ChapterNumber" linkend="SAG.CrAct.mkr.1"> und <!--Original XRef content:
|
|
'Kapitel 11'--><xref role="ChapterNumber" linkend="SAG.CrDT.mkr.1">
|
|
wird erläutert, wie Aktionen und Datentypen manuell erstellt werden,
|
|
indem Konfigurationsdateien erstellt und bearbeitet werden.</para>
|
|
<para>Wenn der Benutzer erweiterte Funktionen verwenden möchte, die durch
|
|
'Aktion erstellen' nicht unterstützt werden, ist es notwendig, daß
|
|
er Aktionen und Datentypen manuell erstellt.</para>
|
|
</listitem></itemizedlist>
|
|
</sect1>
|
|
<sect1 id="SAG.IntAc.div.3">
|
|
<title id="SAG.IntAc.mkr.2">Einführung in Aktionen<indexterm><primary>Aktionen</primary><secondary>Einführung</secondary></indexterm></title>
|
|
<para>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.</para>
|
|
<para>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, um Bedienelemente im Bedienfeld und Menüelemente
|
|
für Aktionen zur Verfügung zu stellen.</para>
|
|
<figure>
|
|
<title>Verwendungsmöglichkeiten für Aktionen</title>
|
|
<graphic id="SAG.IntAc.grph.1" entityref="SAG.IntAc.fig.1"></graphic>
|
|
</figure>
|
|
<para>Beispielsweise enthält die Gruppe von Anwendungen 'Desktop_Werkzeuge'
|
|
im Anwendungsmanager Symbole, über die verschiedene Dienstprogramme
|
|
gestartet werden.</para>
|
|
<figure>
|
|
<title>Symbole für Aktionen in der Gruppe von Anwendungen Desktop_Werkzeuge</title>
|
|
<graphic id="SAG.IntAc.grph.2" entityref="SAG.IntAc.fig.2"></graphic>
|
|
</figure>
|
|
<para>Jedes dieser Symbole führt eine Aktion aus, wenn auf diesem Symbol
|
|
doppelt geklickt wird. Das folgende Beispiel zeigt einen Teil der Definition
|
|
der Aktion, die ausgeführt wird, wenn der Benutzer auf dem Symbol mit
|
|
der Bezeichnung Xwd Display doppelt klickt. Die Aktion ist in der Konfigurationsdatei
|
|
<filename>/usr/dt/appconfig/types/</filename><symbol role="Variable">sprache</symbol><filename>/xclients.dt</filename> definiert.</para>
|
|
<programlisting>ACTION Xwud
|
|
{
|
|
LABEL Xwd Display
|
|
TYPE COMMAND
|
|
EXEC_STRING /usr/bin/X11/xwud -noclick -in \
|
|
%(File)Arg_1“Xwd File To Display:"%
|
|
…
|
|
}</programlisting>
|
|
<para>Der Befehl im Feld <command>EXEC_STRING</command> der Aktion wird ausgeführt,
|
|
wenn der Benutzer dieses Symbol doppelklickt.</para>
|
|
<para><indexterm><primary>Aktionen</primary><secondary>Bedienfeld</secondary>
|
|
</indexterm><indexterm><primary>Bedienfeld</primary><secondary>Verwendung
|
|
von Aktionen</secondary></indexterm>Das Bedienfeld verwendet ebenfalls Aktionen.
|
|
Das folgende Beispiel zeigt einen Teil der Definition des Bedienelements mit
|
|
der Bezeichnung 'Terminal' in der Bedientafel 'Persönliche Anwendungen'.
|
|
Das Bedienelement ist in der Konfigurationsdatei <filename>/usr/dt/appconfig/types/</filename><symbol role="Variable">sprache</symbol><filename>/dtwm.fp</filename>
|
|
definiert.</para>
|
|
<programlisting>CONTROL Term
|
|
{
|
|
ICON Fpterm
|
|
LABEL Terminal
|
|
PUSH_ACTION Dtterm
|
|
…
|
|
}</programlisting>
|
|
<para>Das Feld <command>PUSH_ACTION</command> gibt an, welche Aktion ausgeführt
|
|
werden soll, wenn der Benutzer das Bedienelement anklickt. In diesem Fall
|
|
handelt es sich um eine Aktion mit dem Namen Dtterm.</para>
|
|
<para><indexterm><primary>Aktionen</primary><secondary>verwendet in Menü</secondary></indexterm><indexterm><primary>Menü</primary><secondary>Verwendung von Aktionen</secondary></indexterm>Daneben werden Aktionen häufig
|
|
in Menüs verwendet. Datendateien verwenden normalerweise Aktionen in
|
|
ihrem Menü 'Ausgewählt' im Dateimanager. Zum Beispiel verfügen
|
|
XWD-Dateien (Dateien, deren Namen die Erweiterung<filename>.xwd</filename>
|
|
oder<filename>.wd</filename> haben) über eine Aktion 'Öffnen', die
|
|
das Anzeigenbild anzeigt, indem die Aktion 'Xwud' ausgeführt wird.</para>
|
|
<figure>
|
|
<title>Aktion "Öffnen" für Dateien des Datentyps XWD</title>
|
|
<graphic id="SAG.IntAc.grph.3" entityref="SAG.IntAc.fig.3"></graphic>
|
|
</figure>
|
|
<para>Die Aktionen im<indexterm><primary>Ausgewählt Menü</primary>
|
|
</indexterm> Menü 'Ausgewählt' werden in der Datentypdefinition für
|
|
XWD-Dateien angegeben. Die Definition befindet sich in der Konfigurationsdatei <filename>/usr/dt/appconfig/types/</filename><symbol role="Variable">sprache</symbol><filename>/xclients.dt.</filename></para>
|
|
<programlisting>DATA_ATTRIBUTES XWD
|
|
{
|
|
ACTIONS Open,Print
|
|
ICON Dtxwd
|
|
…
|
|
}</programlisting>
|
|
<para>Der Datentyp XWD und die zugehörigen Aktionen 'Öffnen' und
|
|
'Drucken' werden im Abschnitt <!--Original XRef content: '“Wie Datentypen
|
|
Datendateien mit Aktionen verbinden” auf Seite 152'--><xref role="SecTitleAndPageNum"
|
|
linkend="SAG.IntAc.mkr.6"> erläutert.</para>
|
|
<sect2 id="SAG.IntAc.div.4">
|
|
<title><indexterm><primary>Aktionen</primary><secondary>Symbole für Anwendungen
|
|
erstellen</secondary></indexterm><indexterm><primary>Anwendungen</primary>
|
|
<secondary>Symbole erstellen</secondary></indexterm><indexterm><primary>Symbole</primary><secondary>für Anwendungen</secondary></indexterm>Wie
|
|
Aktionen Symbole für Anwendungen erstellen</title>
|
|
<para>Als Beispiel soll das Symbol Xwd Display in der Gruppe von Anwendungen
|
|
Desktop_Werkzeuge betrachtet werden. Wird auf diesem Symbol doppelt geklickt,
|
|
wird der X-Client <command>xwud</command> ausgeführt. Dennoch stellt
|
|
dieses Symbol nicht direkt die ausführbare Datei <filename>/usr/bin/X11/xwud</filename> dar.</para>
|
|
<para>Das Symbol Xwd Display wird in der Gruppe von Anwendungen angezeigt,
|
|
weil in diesem Verzeichnis eine Datei mit dem Namen <command>Xwud</command>
|
|
steht (siehe <!--Original XRef content: 'Abbildung 8‐4'--><xref
|
|
role="CodeOrFigureOrTable" linkend="SAG.IntAc.mkr.3">). Diese Datei stellt
|
|
eine zugrundeliegende Aktion mit demselben Namen, nämlich Xwud dar. In
|
|
der Aktionsdefinition ist der Aktionsname der Name, der nach dem Schlüsselwort <command>ACTION</command> angegeben ist:</para>
|
|
<programlisting>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 Xwd-Anzeige" zeigt\
|
|
eine xwd-Datei, die mit der Aktion "Xws Capture" (Xwd)\
|
|
erstellt wurde. Es wird der Befehl "xwud" verwendet.
|
|
}</programlisting>
|
|
<para><indexterm><primary>Aktionsdatei</primary><secondary>Definition</secondary>
|
|
</indexterm>Die Datei wird als <emphasis>Aktionsdatei</emphasis> bezeichnet,
|
|
weil sie eine Aktion darstellt. Eine Datei ist eine Aktionsdatei, wenn es
|
|
sich um eine ausführbare Datei mit demselben Namen wie eine Aktion handelt.
|
|
Das zugehörige Symbol im Anwendungsmanager (oder im Dateimanager) wird<indexterm>
|
|
<primary>Aktionssymbol</primary></indexterm> <emphasis>Aktionssymbol</emphasis>
|
|
oder<indexterm><primary>Anwendungssymbol</primary><secondary>erstellen</secondary>
|
|
</indexterm> <emphasis>Anwendungssymbol</emphasis> genannt, weil durch Doppelklicken
|
|
auf diesem Symbol eine Anwendung gestartet wird.</para>
|
|
<figure>
|
|
<title id="SAG.IntAc.mkr.3">Anwendungs-(Aktions-)symbol, das eine Aktionsdatei
|
|
darstellt</title>
|
|
<graphic id="SAG.IntAc.grph.4" entityref="SAG.IntAc.fig.4"></graphic>
|
|
</figure>
|
|
<para>Stellt der Anwendungsmanager eine ausführbare Datei fest, durchsucht
|
|
er die Datenbank nach Aktionen, um festzustellen, ob Aktionen vorhanden sind,
|
|
deren Namen dem Dateinamen entsprechen. Wird eine Entsprechung gefunden,
|
|
weiß der Anwendungsmanager, daß es sich bei der Datei um eine
|
|
Aktionsdatei handelt.</para>
|
|
<para><indexterm><primary>Aktionsdatei</primary><secondary>Inhalt</secondary>
|
|
</indexterm>Der Inhalt der Aktionsdatei ist irrelevant. Aktionsdateien enthalten
|
|
normalerweise Kommentare mit der Beschreibung ihrer Desktop-Funktionen.</para>
|
|
<note>
|
|
<para>Bei einer <emphasis>Aktionsdatei</emphasis> handelt es sich nicht um
|
|
eine <emphasis>Definitionsdatei für Aktionen</emphasis>. Die <emphasis>Aktionsdatei</emphasis> ist eine Datei mit demselben Namen wie die Aktion.
|
|
Sie wird verwendet, um das <emphasis>Anwendungssymbol</emphasis> im Dateimanager
|
|
oder im Anwendungsmanager zu erstellen. Die <emphasis>Definitionsdatei für
|
|
Aktionen</emphasis> ist die Datei mit dem Namen <symbol role="Variable">name</symbol><filename>.dt</filename>, die die Definition der Aktion enthält.
|
|
</para>
|
|
</note>
|
|
<para>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.</para>
|
|
<itemizedlist remap="Bullet1"><listitem><para>Im Feld <command>EXEC_STRING</command> wird das Verhalten des Anwendungssymbols angegeben. Im Fall des
|
|
Symbols Xwd Display wird im Feld <command>EXEC_STRING</command> angegeben,
|
|
daß das Aktionssymbol den X-Client <command>xwud</command> mit bestimmten
|
|
Befehlszeilenargumenten ausführt.</para>
|
|
</listitem><listitem><para>Im Feld <command>LABEL</command> wird die Bezeichnung
|
|
für das Anwendungssymbol angegeben.</para>
|
|
</listitem><listitem><para>Im Feld <command>DESCRIPTION</command> wird der
|
|
Text angegeben, der angezeigt wird, wenn der Benutzer die Kontexthilfe aufruft.
|
|
</para>
|
|
</listitem><listitem><para>Das Anwendungssymbol Xwud verwendet das Standardsymbolbild
|
|
für Aktionen, da die Aktionsdefinition kein Feld <command>ICON</command>
|
|
enthält, in dem ein anderes Abbild definiert ist.</para>
|
|
<para>Im Gegensatz dazu verwendet das Symbol mit der Bezeichnung Compress
|
|
File ein anderes Symbolbild, da die zugrundeliegende Aktionsdefinition ein
|
|
Feld <command>ICON</command> enthält:</para>
|
|
<para>Beispiel:</para>
|
|
<programlisting>ACTION Compress
|
|
{
|
|
LABEL Datei komprimieren
|
|
ICON Dtcmprs
|
|
…
|
|
}</programlisting>
|
|
</listitem></itemizedlist>
|
|
<figure>
|
|
<title>Symbolbild, das durch das Feld ICON in der Aktionsdefinition angegeben
|
|
wird</title>
|
|
<graphic id="SAG.IntAc.grph.5" entityref="SAG.IntAc.fig.5"></graphic>
|
|
</figure>
|
|
<para>Die Aktion Xwud wird als <emphasis>Befehlsaktion</emphasis> bezeichnet,
|
|
da ihre Definition den auszuführenden Befehl (<command>EXEC_STRING</command>)
|
|
enthält. Das Feld <command>TYPE</command> in der Aktionsdefinition definiert
|
|
den Aktionstyp.</para>
|
|
<para>Zunächst wird das Symbol Xwd Display in der Gruppe von Anwendungen
|
|
Desktop_Werkzeuge angezeigt. Der Benutzer kann jedoch zusätzliche Exemplare
|
|
des Aktionssymbols in jedem Verzeichnis erstellen, für das er Schreibberechtigung
|
|
hat. Solange die Aktionsdefinition für Xwud Bestandteil der Datenbank
|
|
ist, wird jede ausführbare Datei mit dem Namen <command>Xwud</command>,
|
|
die der Benutzer erstellt, eine Aktionsdatei sein, die diese Aktion darstellt,
|
|
und das zugehörige Symbol im Dateimanager oder Anwendungsmanager kann
|
|
verwendet werden, um die Aktion auszuführen.</para>
|
|
</sect2>
|
|
<sect2 id="SAG.IntAc.div.5">
|
|
<title id="SAG.IntAc.mkr.4">Wie Aktionen Datendateien als<indexterm><primary>Aktionen</primary><secondary>Dateiargumente</secondary></indexterm><indexterm>
|
|
<primary>Argumente</primary><secondary>von Aktionen</secondary></indexterm> Argumente
|
|
verwenden</title>
|
|
<para>Ein<indexterm><primary>Argumente</primary><secondary>von Aktionen</secondary>
|
|
</indexterm> <emphasis>Argument</emphasis> ist das Objekt, normalerweise eine<indexterm>
|
|
<primary>Dateiargument</primary><secondary>verwendet in Aktionen</secondary>
|
|
</indexterm> Datei, an dem der Befehl ausgeführt wird. Aktionen können
|
|
so definiert werden, daß sie Dateiargumente akzeptieren.</para>
|
|
<para>Beispielsweise gibt das Feld <command>EXEC_STRING</command> der Aktion
|
|
Xwud an, daß ein Dateiargument erforderlich ist:</para>
|
|
<programlisting>EXEC_STRING /usr/bin/X11/xwud -noclick -in \
|
|
%(File)Arg_1“Xwd Datei anzeigen:"%</programlisting>
|
|
<para>Der Term <command>Arg</command> steht für das Wort <symbol role="Variable">Argument.</symbol> Die Syntax<indexterm><primary>Arg_1 Syntax</primary></indexterm> <filename>Arg_1</filename> bedeutet das erste Argument, und <filename>(File)</filename>
|
|
bedeutet, daß die Aktion dieses Argument als eine Datei behandelt.
|
|
</para>
|
|
<para><indexterm><primary>Anwendungssymbol</primary><secondary>übergebene
|
|
Dateien</secondary></indexterm><indexterm><primary>Aktionen</primary><secondary>übergebene Dateien akzeptieren</secondary></indexterm><indexterm><primary>Anwendungssymbol</primary><secondary>doppelklicken</secondary></indexterm>Die
|
|
einfachste Weise, in der ein Benutzer ein Dateiargument zur Verfügung
|
|
stellen kann, besteht darin, eine Datendatei dem Anwendungssymbol zu übergeben.
|
|
Das Desktop stellt den Pfad der übergebenen Datei fest und setzt diesen
|
|
in der Befehlszeile anstelle des Texts zwischen den Symbolen <computeroutput>% (%(File)Arg_1“Xwd Datei anzeigen:”%)</computeroutput>. Dann
|
|
wird folgender Befehl ausgeführt:</para>
|
|
<programlisting>/usr/bin/X11/xwud -noclick -in datei_pfad</programlisting>
|
|
<para>Wenn der Benutzer auf dem Anwendungssymbol doppelt klickt, stellt das
|
|
Desktop im Feld <command>EXEC_STRING</command> 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:</para>
|
|
<programlisting>Xwd Datei anzeigen:</programlisting>
|
|
<para>Der Dateiname oder Pfad, den der Benutzer eingibt, wird als Dateiargument
|
|
verwendet.</para>
|
|
</sect2>
|
|
<sect2 id="SAG.IntAc.div.6">
|
|
<title>Zusätzliche Verwendung für Aktionen<indexterm><primary>Aktionen</primary><secondary>Verwendungen</secondary></indexterm></title>
|
|
<para>Zusätzlich zum Starten von Anwendungen werden Aktionen im gesamten
|
|
Desktop verwendet, um Funktionalität in folgenden Bereichen herzustellen:
|
|
</para>
|
|
<itemizedlist remap="Bullet1"><listitem><para>im Bedienfeld</para>
|
|
<para>Die Definition für ein Bedienelement im Bedienfeld enthält
|
|
Felder, in denen die Aktion angegeben wird, die ausgeführt wird, wenn
|
|
der Benutzer das Bedienelement anklickt oder dem Bedienelement eine Datei
|
|
übergibt. Weitere Informationen hierzu können dem Abschnitt <!--Original
|
|
XRef content: '“Bedienelemente im Bedienfeld definieren” auf
|
|
Seite 251'--><xref role="SecTitleAndPageNum" linkend="SAG.FrPC.mkr.15"><indexterm><primary>Aktionen</primary><secondary>Verwendungen</secondary>
|
|
</indexterm>
|
|
entnommen werden.</para>
|
|
</listitem><listitem><para>in Menüs</para>
|
|
<para>Die Syntax von Fenstermenü- und Arbeitsbereichsmenüdefinitionen
|
|
ermöglicht dem Benutzer, die Aktion anzugeben, die über ein Menüelement
|
|
ausgeführt wird. Weitere Informationen hierzu können dem Abschnitt
|
|
<!--Original XRef content: '“Arbeitsbereichsmanagermenüs”
|
|
auf Seite 271'--><xref role="SecTitleAndPageNum" linkend="SAG.WMCnf.mkr.6">
|
|
und der Hilfeseite <filename moreinfo="RefEntry">dtwmrc(4)</filename> entnommen
|
|
werden.</para>
|
|
</listitem><listitem><para>bei der Kommunikation zwischen Anwendungen</para>
|
|
<para>Eine Anwendung kann so eingerichtet werden, daß sie mit einem
|
|
speziellen Typ von Aktion, nämlich ToolTalk message (<command>TT_MSG</command>), Informationen sendet und empfängt. <command>TT_MSG-</command>
|
|
Aktionen werden in der Entwicklerumgebungsdokumentation für das Desktop
|
|
beschrieben.</para>
|
|
</listitem></itemizedlist>
|
|
</sect2>
|
|
</sect1>
|
|
<sect1 id="SAG.IntAc.div.7">
|
|
<title id="SAG.IntAc.mkr.5">Einführung in Datentypen<indexterm><primary>Datentypen</primary><secondary>Einführung</secondary></indexterm></title>
|
|
<para>Erstellt der Benutzer eine neue Datendatei, kann das Erscheinungsbild
|
|
und das Verhalten des Symbols der Datei im Dateimanager je nach dem 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 Desktops zur Verfügung
|
|
gestellt.</para>
|
|
<sect2 id="SAG.IntAc.div.8">
|
|
<title><indexterm><primary>Aktion erstellen</primary><secondary>Datentyp erstellen</secondary></indexterm><indexterm><primary>Datentypen</primary><secondary>mit Aktion erstellt</secondary></indexterm>Was ist ein Datentyp?</title>
|
|
<para>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
|
|
<filename>/usr/dt/appconfig/types/</filename><symbol role="Variable">sprache</symbol><filename>/xclients.dt</filename>.</para>
|
|
<programlisting>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
|
|
}</programlisting>
|
|
<para>Jede Datentypdefinition besteht aus zwei Teilen:</para>
|
|
<informaltable>
|
|
<tgroup cols="2" colsep="0" rowsep="0">
|
|
<colspec colwidth="197*">
|
|
<colspec colwidth="331*">
|
|
<tbody>
|
|
<row>
|
|
<entry align="left" valign="top"><para><filename>DATA_ATTRIBUTES</filename></para></entry>
|
|
<entry align="left" valign="top"><para>beschreibt das Erscheinungsbild und
|
|
das Verhalten des Datentyps.</para></entry>
|
|
</row>
|
|
<row>
|
|
<entry align="left" valign="top"><para><filename>DATA_CRITERIA</filename></para></entry>
|
|
<entry align="left" valign="top"><para>gibt an, nach welchen Regeln (Name
|
|
oder Inhalt) eine Datei diesem Datentyp zugerechnet wird.</para></entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
<para>Das Feld <filename>DATA_ATTRIBUTES_NAME</filename> verbindet die Kriterien
|
|
mit den Attributen.</para>
|
|
<para>Einem <filename>DATA_ATTRIBUTE</filename> können mehrere <filename>DATA_CRITERIA</filename> zugeordnet sein. Beispielsweise sind für den
|
|
Datentyp XWD zwei verschiedene Namenskriterien (<filename>NAME_PATTERN</filename>)
|
|
definiert, nämlich Namen, die in <filename>.xwd</filename> oder in <filename>.wd</filename> enden.</para>
|
|
</sect2>
|
|
<sect2 id="SAG.IntAc.div.9">
|
|
<title id="SAG.IntAc.mkr.6"><indexterm><primary>Datentypen</primary><secondary>Aktionen</secondary></indexterm><indexterm><primary>Aktionen</primary><secondary>Datentypen</secondary></indexterm>Wie Datentypen Datendateien mit Aktionen
|
|
verbinden</title>
|
|
<para>Als Beispiel soll der Datentyp XWD betrachtet werden. Der Benutzer erstellt
|
|
eine Datei mit dem Datentyp XWD, indem er der Datei eine der zwei Dateinamenerweiterungen <filename>.xwd</filename> oder<filename>.wd</filename> gibt. Das Desktop verwendet den
|
|
Dateinamen als das <emphasis>Kriterium</emphasis>, nach dem es eine Datei
|
|
einem Datentyp zuordnet.</para>
|
|
<para>Der Datentyp XWD stellt für jede Datei dieses Datentyps folgendes
|
|
zur Verfügung:</para>
|
|
<itemizedlist remap="Bullet1"><listitem><para>Ein eindeutiges Symbol, das
|
|
Benutzern hilft, die Datendateien zu erkennen.</para>
|
|
</listitem><listitem><para>Kontexthilfe mit Informationen über den Datentyp.
|
|
</para>
|
|
</listitem><listitem><para>Ein angepaßtes Menü 'Ausgewählt'
|
|
im Dateimanager, das die Aktionen 'Öffnen' und 'Drucken' enthält.
|
|
Die Aktion 'Öffnen' für XWD-Dateien führt die Aktion Xwud aus.
|
|
</para>
|
|
</listitem></itemizedlist>
|
|
<sect3 id="SAG.IntAc.div.10">
|
|
<title>Aktionen über das Menü "Ausgewählt" ausführen<indexterm>
|
|
<primary>Ausgewählt Menü</primary></indexterm></title>
|
|
<para>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'.</para>
|
|
<para>Das Feld <command>ACTIONS</command> in der Datentypdefinition gibt an,
|
|
welche Befehle im Menü 'Ausgewählt' des Datentyps unten angefügt
|
|
werden.</para>
|
|
<programlisting>DATA_ATTRIBUTES XWD
|
|
{
|
|
ACTIONS Open,Print
|
|
…
|
|
}</programlisting>
|
|
<para><indexterm><primary>Ausgewählt Menü</primary></indexterm>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.</para>
|
|
<figure>
|
|
<title>Das Menü "Ausgewählt" für eine XWD-Datei</title>
|
|
<graphic id="SAG.IntAc.grph.6" entityref="SAG.IntAc.fig.6"></graphic>
|
|
</figure>
|
|
<para>Die<indexterm><primary>Öffnen Aktion</primary></indexterm> 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 <command>xwud</command>
|
|
ausführt, um das Anzeigeabbild 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.
|
|
</para>
|
|
<para>Die Möglichkeit, verschiedene Aktionen 'Öffnen' zu erstellen,
|
|
die unterschiedlich verwendet werden, basiert auf zwei Merkmalen von Aktionsdefinitionen:
|
|
</para>
|
|
<itemizedlist remap="Bullet1"><listitem><para><indexterm><primary>Aktionen</primary><secondary>zuordnen</secondary></indexterm><indexterm><primary>Zuordnungsaktionen</primary></indexterm>Aktionszuordnung</para>
|
|
<para>Die Aktionszuordnung ermöglicht dem Benutzer, eine Aktion zu erstellen,
|
|
die eine andere Aktion ausführt, anstatt einen Befehl direkt auszuführen.
|
|
Beispielsweise kann eine Aktion 'Öffnen' erstellt werden, die die Aktion
|
|
Xwud zuordnet (ausführt).</para>
|
|
</listitem><listitem><para><indexterm><primary>Aktionen</primary><secondary>Datentypeinschränkungen</secondary></indexterm>Datentypeinschränkungen
|
|
für eine Aktion</para>
|
|
<para>Aktionsdefinitionen können ein Feld <command>ARG_TYPE</command>
|
|
enthalten, das die Aktion auf bestimmte Datentypen begrenzt. Beispielsweise
|
|
kann angegeben werden, daß die Aktion 'Öffnen', die die Aktion
|
|
Xwud zuordnet, nur auf Dateien des Datentyps XWD angewendet wird.</para>
|
|
</listitem></itemizedlist>
|
|
<para>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 Datenbankkonfigurationsdatei
|
|
<filename>/usr/dt/appconfig/types/<symbol role="Variable">sprache</symbol>/xclients.dt</filename>:</para>
|
|
<programlisting>ACTION Open
|
|
{
|
|
LABEL Öffnen
|
|
ARG_TYPE XWD
|
|
TYPE MAP
|
|
MAP_ACTION Xwud
|
|
}</programlisting>
|
|
<para>In dem Feld <command>TYPE</command> wird angegeben, daß es sich
|
|
um eine Zuordnungsaktion (map) handelt. Das Feld <command>MAP_ACTION</command>
|
|
gibt an, daß diese Aktion die Aktion Xwud ausführt. Das Feld <command>ARG_TYPE</command> gibt an, daß diese Aktion nur auf Dateien vom Datentyp
|
|
XWD angewendet wird.</para>
|
|
<para>Hierzu zum Vergleich die Definition der Aktion 'Öffnen' in der
|
|
Datenbankdatei <filename>/usr/dt/appconfig/types/<symbol role="Variable">sprache</symbol>/dt.dt</filename>:</para>
|
|
<programlisting>ACTION Open
|
|
{
|
|
LABEL Öffnen
|
|
ARG_TYPE BM
|
|
TYPE MAP
|
|
MAP_ACTION Dticon
|
|
}</programlisting>
|
|
<para>Diese Definition bezieht sich auf Dateien des Datentyps (<command>ARG_TYPE</command>) BM (Bitmap-Dateien). Die Definition ordnet die Aktion 'Öffnen'
|
|
der Aktion Dticon zu, die den Symbol-Editor ausführt.</para>
|
|
</sect3>
|
|
<sect3 id="SAG.IntAc.div.11">
|
|
<title><indexterm><primary>Datentypen</primary><secondary>Verhalten bei Doppelklicken</secondary></indexterm>Verhalten des Datentyps bei Doppelklicken definieren</title>
|
|
<para>Das Verhalten des Datentyps bei Doppelklicken wird durch den ersten
|
|
Eintrag im Feld <command>ACTIONS</command> bestimmt. Beispielsweise wird beim
|
|
Datentyp XWD durch Doppelklicken die Aktion 'Öffnen' ausgeführt,
|
|
die ihrerseits die Aktion Xwud ausführt.</para>
|
|
</sect3>
|
|
<sect3 id="SAG.IntAc.div.12">
|
|
<title>Eine Datendatei an ein Aktionssymbol übergeben</title>
|
|
<para>Übergibt der Benutzer eine Datendatei an ein Aktionssymbol, führt
|
|
das System die Aktion aus und verwendet diese Datendatei als das Argument
|
|
für die Aktion. (Weitere Informationen können dem Abschnitt <!--Original
|
|
XRef content: '“Wie Aktionen Datendateien als Argumente verwenden”
|
|
auf Seite 149'--><xref role="SecTitleAndPageNum" linkend="SAG.IntAc.mkr.4">
|
|
entnommen werden.)</para>
|
|
<para>Wird beispielsweise eine XWD-Datendatei an ein Symbol Xwd Display übergeben,
|
|
wird die Aktion Xwud ausgeführt und das Datendateiargument verwendet.
|
|
Dadurch wird der X-Client <command>xwud</command> mit dieser Datendatei ausgeführt.
|
|
</para>
|
|
</sect3>
|
|
</sect2>
|
|
<sect2 id="SAG.IntAc.div.13">
|
|
<title><indexterm><primary>Datentypen</primary><secondary>drucken</secondary>
|
|
</indexterm><indexterm><primary>Drucken</primary><secondary>konfigurieren
|
|
für Datentyp</secondary></indexterm>Drucken über das Desktop für
|
|
einen Datentyp einrichten</title>
|
|
<para>Über das Desktop bestehen folgende Möglichkeiten, eine Datendatei
|
|
zu drucken:</para>
|
|
<itemizedlist remap="Bullet1"><listitem><para>über den Befehl 'Drucken'
|
|
(falls verfügbar) im Menü 'Ausgewählt' des Dateimanagers.</para>
|
|
</listitem><listitem><para>durch das Übergeben einer Datendatei an einen
|
|
Desktop- Druckerübergabebereich (das Druckersymbol im Bedienfeld oder
|
|
ein Druckersymbol im Druckmanager).</para>
|
|
</listitem></itemizedlist>
|
|
<para>Zusätzlich zum Drucken über das Desktop stellen viele Anwendungen
|
|
noch eine Möglichkeit zur Verfügung, von innerhalb der Anwendung
|
|
zu drucken.</para>
|
|
<para>Beim Drucken über 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 werden bei den Aktionen 'Drucken' die Aktionszuordnung und
|
|
das Feld <command>ARG_TYPE</command> verwendet, um das Drucken für jeden
|
|
einzelnen Datentyp anzupassen.</para>
|
|
<para>Als Beispiel soll die Aktion 'Drucken' für den Datentyp XWD betrachtet
|
|
werden. Die Definition befindet sich im Verzeichnis<filename>/usr/dt/appconfig/types/</filename><symbol role="Variable">sprache</symbol><filename>/xclients.dt</filename>:</para>
|
|
<programlisting>ACTION Print
|
|
{
|
|
LABEL Drucken
|
|
ARG_TYPE XWD
|
|
TYPE MAP
|
|
MAP_ACTION NoPrint
|
|
}</programlisting>
|
|
<para>Diese Aktion 'Drucken', die sich speziell auf XWD-Dateien bezieht, ist
|
|
einer Aktion 'NoPrint' zugeordnet. Bei der Aktion NoPrint handelt es sich
|
|
um eine spezielle Aktion, die in <filename>/usr/dt/appconfig/types/</filename><symbol role="Variable">sprache</symbol><filename>/dt.dt</filename> definiert ist.
|
|
Die Aktion<indexterm><primary>NoPrint Aktion</primary></indexterm> 'NoPrint'
|
|
zeigt ein Dialogfenster an, das dem Benutzer mitteilt, daß dieser Datentyp
|
|
nicht gedruckt werden kann.</para>
|
|
<para>Hierzu zum Vergleich die Aktion 'Drucken' für PCL-Dateien:</para>
|
|
<programlisting>ACTION Print
|
|
{
|
|
LABEL Drucken
|
|
ARG_TYPE PCL
|
|
TYPE MAP
|
|
MAP_ACTION PrintRaw
|
|
}</programlisting>
|
|
<para>Die Aktion 'PrintRaw'<?Pub Caret>, die in der Konfigurationsdatei <filename>/usr/dt/appconfig/types/</filename><symbol role="Variable">sprache</symbol><filename>/print.dt</filename> definiert ist, enthält die Befehlszeile zum Drucken
|
|
von PCL-Dateien.</para>
|
|
<programlisting>ACTION PrintRaw
|
|
{
|
|
TYPE COMMAND
|
|
WINDOW_TYPE NO_STDIO
|
|
EXEC_STRING /usr/dt/bin/dtlp -w %(File)Arg_1%
|
|
}</programlisting>
|
|
</sect2>
|
|
</sect1>
|
|
</chapter>
|
|
<!--fickle 1.14 mif-to-docbook 1.7 01/02/96 13:50:20-->
|
|
|