ch08.sgm 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540
  1. <!-- $XConsortium: ch08.sgm /main/10 1996/12/21 18:26:11 rws $ -->
  2. <!-- (c) Copyright 1995 Digital Equipment Corporation. -->
  3. <!-- (c) Copyright 1995 Hewlett-Packard Company. -->
  4. <!-- (c) Copyright 1995 International Business Machines Corp. -->
  5. <!-- (c) Copyright 1995 Sun Microsystems, Inc. -->
  6. <!-- (c) Copyright 1995 Novell, Inc. -->
  7. <!-- (c) Copyright 1995 FUJITSU LIMITED. -->
  8. <!-- (c) Copyright 1995 Hitachi. -->
  9. <chapter id="SAG.IntAc.div.1">
  10. <title id="SAG.IntAc.mkr.1">Einf&uuml;hrung in Aktionen und Datentypen</title>
  11. <para><indexterm><primary>Aktionen</primary><secondary>Einf&uuml;hrung</secondary>
  12. </indexterm><indexterm><primary>Datentypen</primary><secondary>Einf&uuml;hrung</secondary></indexterm>Bei <emphasis>Aktionen</emphasis> und <emphasis>Datentypen</emphasis> handelt es sich um wichtige Komponenten bei der Integrierung von
  13. Anwendungen auf dem Desktop. Sie stellen eine M&ouml;glichkeit zur Verf&uuml;gung,
  14. eine Benutzerschnittstelle zum Starten von Anwendungen und zum Bearbeiten
  15. von deren Datendateien zu benutzen.</para>
  16. <informaltable id="SAG.IntAc.itbl.1" frame="All">
  17. <tgroup cols="1">
  18. <colspec colname="1" colwidth="4.0 in">
  19. <tbody>
  20. <row rowsep="1">
  21. <entry><para><!--Original XRef content: 'Einf&uuml;hrung in Aktionen142'--><xref
  22. role="JumpText" linkend="SAG.IntAc.mkr.2"></para></entry>
  23. </row>
  24. <row rowsep="1">
  25. <entry><para><!--Original XRef content: 'Einf&uuml;hrung in Datentypen150'--><xref
  26. role="JumpText" linkend="SAG.IntAc.mkr.5"></para></entry>
  27. </row>
  28. </tbody>
  29. </tgroup>
  30. </informaltable>
  31. <para>In diesem Kapitel wird das Konzept von Aktionen und Datentypen erl&auml;utert.
  32. Es wird beschrieben,</para>
  33. <itemizedlist remap="Bullet1"><listitem><para>warum es g&uuml;nstig ist, Aktionen
  34. und Datentypen f&uuml;r Anwendungen zu erstellen.</para>
  35. </listitem><listitem><para>welche Beziehung zwischen Aktionen und Datentypen
  36. besteht.</para>
  37. </listitem><listitem><para>in welcher Beziehung Aktionen und Datentypen zum
  38. Drucken &uuml;ber das Desktop stehen.</para>
  39. </listitem></itemizedlist>
  40. <sect1 id="SAG.IntAc.div.2">
  41. <title>Weiterf&uuml;hrende Informationen</title>
  42. <para>Die Verfahren und Regeln f&uuml;r das Erstellen von Aktionen und Datentypen
  43. werden in diesem Handbuch in drei Kapiteln behandelt:</para>
  44. <itemizedlist remap="Bullet1"><listitem><para>In <!--Original XRef content:
  45. 'Kapitel&numsp;9'--><xref role="ChapterNumber" linkend="SAG.dtCrA.mkr.1">
  46. wird erl&auml;utert, wie Aktionen und Datentypen mit der Desktop- Anwendung
  47. 'Aktion erstellen' erstellt werden.</para>
  48. <para>Mit 'Aktion erstellen' k&ouml;nnen Aktionen und Datentypen f&uuml;r
  49. die meisten Anwendungen erstellt werden, ohne da&szlig; der Benutzer die Syntaxregeln
  50. f&uuml;r deren Definitionen lernen mu&szlig;.</para>
  51. </listitem><listitem><para>In <!--Original XRef content: 'Kapitel&numsp;10'--><xref
  52. role="ChapterNumber" linkend="SAG.CrAct.mkr.1"> und <!--Original XRef content:
  53. 'Kapitel&numsp;11'--><xref role="ChapterNumber" linkend="SAG.CrDT.mkr.1">
  54. wird erl&auml;utert, wie Aktionen und Datentypen manuell erstellt werden,
  55. indem Konfigurationsdateien erstellt und bearbeitet werden.</para>
  56. <para>Wenn der Benutzer erweiterte Funktionen verwenden m&ouml;chte, die durch
  57. 'Aktion erstellen' nicht unterst&uuml;tzt werden, ist es notwendig, da&szlig;
  58. er Aktionen und Datentypen manuell erstellt.</para>
  59. </listitem></itemizedlist>
  60. </sect1>
  61. <sect1 id="SAG.IntAc.div.3">
  62. <title id="SAG.IntAc.mkr.2">Einf&uuml;hrung in Aktionen<indexterm><primary>Aktionen</primary><secondary>Einf&uuml;hrung</secondary></indexterm></title>
  63. <para>Bei Aktionen handelt es sich um Instruktionen, mit denen Desktop-Aufgaben
  64. wie die Ausf&uuml;hrung von Anwendungen und das &Ouml;ffnen von Datendateien
  65. automatisiert werden. Aktionen funktionieren &auml;hnlich wie Anwendungsmakros
  66. oder Programmierfunktionen. Jede Aktion verf&uuml;gt &uuml;ber einen Namen,
  67. der f&uuml;r die Ausf&uuml;hrung der Aktion verwendet wird.</para>
  68. <para>Sobald eine Aktion definiert wird, kann sie dazu verwendet werden, die
  69. Desktop-Benutzerschnittstelle anzupassen, so da&szlig; Aufgaben einfacher
  70. ausgef&uuml;hrt werden k&ouml;nnen. Das Desktop verf&uuml;gt &uuml;ber Benutzerschnittstellenkomponenten
  71. wie zum Beispiel Symbole, um Bedienelemente im Bedienfeld und Men&uuml;elemente
  72. f&uuml;r Aktionen zur Verf&uuml;gung zu stellen.</para>
  73. <figure>
  74. <title>Verwendungsm&ouml;glichkeiten f&uuml;r Aktionen</title>
  75. <graphic id="SAG.IntAc.grph.1" entityref="SAG.IntAc.fig.1"></graphic>
  76. </figure>
  77. <para>Beispielsweise enth&auml;lt die Gruppe von Anwendungen 'Desktop_Werkzeuge'
  78. im Anwendungsmanager Symbole, &uuml;ber die verschiedene Dienstprogramme
  79. gestartet werden.</para>
  80. <figure>
  81. <title>Symbole f&uuml;r Aktionen in der Gruppe von Anwendungen Desktop_Werkzeuge</title>
  82. <graphic id="SAG.IntAc.grph.2" entityref="SAG.IntAc.fig.2"></graphic>
  83. </figure>
  84. <para>Jedes dieser Symbole f&uuml;hrt eine Aktion aus, wenn auf diesem Symbol
  85. doppelt geklickt wird. Das folgende Beispiel zeigt einen Teil der Definition
  86. der Aktion, die ausgef&uuml;hrt wird, wenn der Benutzer auf dem Symbol mit
  87. der Bezeichnung Xwd Display doppelt klickt. Die Aktion ist in der Konfigurationsdatei
  88. <filename>/usr/dt/appconfig/types/</filename><symbol role="Variable">sprache</symbol><filename>/xclients.dt</filename> definiert.</para>
  89. <programlisting>ACTION Xwud
  90. {
  91. LABEL Xwd Display
  92. TYPE COMMAND
  93. EXEC_STRING /usr/bin/X11/xwud -noclick -in \
  94. %(File)Arg_1&ldquo;Xwd File To Display:"%
  95. &hellip;
  96. }</programlisting>
  97. <para>Der Befehl im Feld <command>EXEC_STRING</command> der Aktion wird ausgef&uuml;hrt,
  98. wenn der Benutzer dieses Symbol doppelklickt.</para>
  99. <para><indexterm><primary>Aktionen</primary><secondary>Bedienfeld</secondary>
  100. </indexterm><indexterm><primary>Bedienfeld</primary><secondary>Verwendung
  101. von Aktionen</secondary></indexterm>Das Bedienfeld verwendet ebenfalls Aktionen.
  102. Das folgende Beispiel zeigt einen Teil der Definition des Bedienelements mit
  103. der Bezeichnung 'Terminal' in der Bedientafel 'Pers&ouml;nliche Anwendungen'.
  104. Das Bedienelement ist in der Konfigurationsdatei <filename>/usr/dt/appconfig/types/</filename><symbol role="Variable">sprache</symbol><filename>/dtwm.fp</filename>
  105. definiert.</para>
  106. <programlisting>CONTROL Term
  107. {
  108. ICON Fpterm
  109. LABEL Terminal
  110. PUSH_ACTION Dtterm
  111. &hellip;
  112. }</programlisting>
  113. <para>Das Feld <command>PUSH_ACTION</command> gibt an, welche Aktion ausgef&uuml;hrt
  114. werden soll, wenn der Benutzer das Bedienelement anklickt. In diesem Fall
  115. handelt es sich um eine Aktion mit dem Namen Dtterm.</para>
  116. <para><indexterm><primary>Aktionen</primary><secondary>verwendet in Men&uuml;</secondary></indexterm><indexterm><primary>Men&uuml;</primary><secondary>Verwendung von Aktionen</secondary></indexterm>Daneben werden Aktionen h&auml;ufig
  117. in Men&uuml;s verwendet. Datendateien verwenden normalerweise Aktionen in
  118. ihrem Men&uuml; 'Ausgew&auml;hlt' im Dateimanager. Zum Beispiel verf&uuml;gen
  119. XWD-Dateien (Dateien, deren Namen die Erweiterung<filename>.xwd</filename>
  120. oder<filename>.wd</filename> haben) &uuml;ber eine Aktion '&Ouml;ffnen', die
  121. das Anzeigenbild anzeigt, indem die Aktion 'Xwud' ausgef&uuml;hrt wird.</para>
  122. <figure>
  123. <title>Aktion "&Ouml;ffnen" f&uuml;r Dateien des Datentyps XWD</title>
  124. <graphic id="SAG.IntAc.grph.3" entityref="SAG.IntAc.fig.3"></graphic>
  125. </figure>
  126. <para>Die Aktionen im<indexterm><primary>Ausgew&auml;hlt Men&uuml;</primary>
  127. </indexterm> Men&uuml; 'Ausgew&auml;hlt' werden in der Datentypdefinition f&uuml;r
  128. 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>
  129. <programlisting>DATA_ATTRIBUTES XWD
  130. {
  131. ACTIONS Open,Print
  132. ICON Dtxwd
  133. &hellip;
  134. }</programlisting>
  135. <para>Der Datentyp XWD und die zugeh&ouml;rigen Aktionen '&Ouml;ffnen' und
  136. 'Drucken' werden im Abschnitt <!--Original XRef content: '&ldquo;Wie Datentypen
  137. Datendateien mit Aktionen verbinden&rdquo; auf Seite&numsp;152'--><xref role="SecTitleAndPageNum"
  138. linkend="SAG.IntAc.mkr.6"> erl&auml;utert.</para>
  139. <sect2 id="SAG.IntAc.div.4">
  140. <title><indexterm><primary>Aktionen</primary><secondary>Symbole f&uuml;r Anwendungen
  141. erstellen</secondary></indexterm><indexterm><primary>Anwendungen</primary>
  142. <secondary>Symbole erstellen</secondary></indexterm><indexterm><primary>Symbole</primary><secondary>f&uuml;r Anwendungen</secondary></indexterm>Wie
  143. Aktionen Symbole f&uuml;r Anwendungen erstellen</title>
  144. <para>Als Beispiel soll das Symbol Xwd Display in der Gruppe von Anwendungen
  145. Desktop_Werkzeuge betrachtet werden. Wird auf diesem Symbol doppelt geklickt,
  146. wird der X-Client <command>xwud</command> ausgef&uuml;hrt. Dennoch stellt
  147. dieses Symbol nicht direkt die ausf&uuml;hrbare Datei <filename>/usr/bin/X11/xwud</filename> dar.</para>
  148. <para>Das Symbol Xwd Display wird in der Gruppe von Anwendungen angezeigt,
  149. weil in diesem Verzeichnis eine Datei mit dem Namen <command>Xwud</command>
  150. steht (siehe <!--Original XRef content: 'Abbildung&numsp;8&hyphen;4'--><xref
  151. role="CodeOrFigureOrTable" linkend="SAG.IntAc.mkr.3">). Diese Datei stellt
  152. eine zugrundeliegende Aktion mit demselben Namen, n&auml;mlich Xwud dar. In
  153. der Aktionsdefinition ist der Aktionsname der Name, der nach dem Schl&uuml;sselwort <command>ACTION</command> angegeben ist:</para>
  154. <programlisting>ACTION Xwud
  155. {
  156. LABEL Xwd Display
  157. TYPE COMMAND
  158. WINDOW_TYPE NO_STDIO
  159. EXEC_STRING /usr/bin/X11/xwud -noclick -in \
  160. %(File)Arg_1"Xwd Datei anzeigen:"%
  161. DESCRIPTION Die Xwd-Anzeige (Xwud) "Aktion Xwd-Anzeige" zeigt\
  162. eine xwd-Datei, die mit der Aktion "Xws Capture" (Xwd)\
  163. erstellt wurde. Es wird der Befehl "xwud" verwendet.
  164. }</programlisting>
  165. <para><indexterm><primary>Aktionsdatei</primary><secondary>Definition</secondary>
  166. </indexterm>Die Datei wird als <emphasis>Aktionsdatei</emphasis> bezeichnet,
  167. weil sie eine Aktion darstellt. Eine Datei ist eine Aktionsdatei, wenn es
  168. sich um eine ausf&uuml;hrbare Datei mit demselben Namen wie eine Aktion handelt.
  169. Das zugeh&ouml;rige Symbol im Anwendungsmanager (oder im Dateimanager) wird<indexterm>
  170. <primary>Aktionssymbol</primary></indexterm> <emphasis>Aktionssymbol</emphasis>
  171. oder<indexterm><primary>Anwendungssymbol</primary><secondary>erstellen</secondary>
  172. </indexterm> <emphasis>Anwendungssymbol</emphasis> genannt, weil durch Doppelklicken
  173. auf diesem Symbol eine Anwendung gestartet wird.</para>
  174. <figure>
  175. <title id="SAG.IntAc.mkr.3">Anwendungs-(Aktions-)symbol, das eine Aktionsdatei
  176. darstellt</title>
  177. <graphic id="SAG.IntAc.grph.4" entityref="SAG.IntAc.fig.4"></graphic>
  178. </figure>
  179. <para>Stellt der Anwendungsmanager eine ausf&uuml;hrbare Datei fest, durchsucht
  180. er die Datenbank nach Aktionen, um festzustellen, ob Aktionen vorhanden sind,
  181. deren Namen dem Dateinamen entsprechen. Wird eine Entsprechung gefunden,
  182. wei&szlig; der Anwendungsmanager, da&szlig; es sich bei der Datei um eine
  183. Aktionsdatei handelt.</para>
  184. <para><indexterm><primary>Aktionsdatei</primary><secondary>Inhalt</secondary>
  185. </indexterm>Der Inhalt der Aktionsdatei ist irrelevant. Aktionsdateien enthalten
  186. normalerweise Kommentare mit der Beschreibung ihrer Desktop-Funktionen.</para>
  187. <note>
  188. <para>Bei einer <emphasis>Aktionsdatei</emphasis> handelt es sich nicht um
  189. eine <emphasis>Definitionsdatei f&uuml;r Aktionen</emphasis>. Die <emphasis>Aktionsdatei</emphasis> ist eine Datei mit demselben Namen wie die Aktion.
  190. Sie wird verwendet, um das <emphasis>Anwendungssymbol</emphasis> im Dateimanager
  191. oder im Anwendungsmanager zu erstellen. Die <emphasis>Definitionsdatei f&uuml;r
  192. Aktionen</emphasis> ist die Datei mit dem Namen <symbol role="Variable">name</symbol><filename>.dt</filename>, die die Definition der Aktion enth&auml;lt.
  193. </para>
  194. </note>
  195. <para>Sobald das Desktop festgestellt hat, da&szlig; es sich bei einer Datei
  196. um eine Aktionsdatei handelt, wird die zugrundeliegende Aktionsdefinition
  197. verwendet, um das Erscheinungsbild und das Verhalten der Aktionsdatei zu
  198. definieren.</para>
  199. <itemizedlist remap="Bullet1"><listitem><para>Im Feld <command>EXEC_STRING</command> wird das Verhalten des Anwendungssymbols angegeben. Im Fall des
  200. Symbols Xwd Display wird im Feld <command>EXEC_STRING</command> angegeben,
  201. da&szlig; das Aktionssymbol den X-Client <command>xwud</command> mit bestimmten
  202. Befehlszeilenargumenten ausf&uuml;hrt.</para>
  203. </listitem><listitem><para>Im Feld <command>LABEL</command> wird die Bezeichnung
  204. f&uuml;r das Anwendungssymbol angegeben.</para>
  205. </listitem><listitem><para>Im Feld <command>DESCRIPTION</command> wird der
  206. Text angegeben, der angezeigt wird, wenn der Benutzer die Kontexthilfe aufruft.
  207. </para>
  208. </listitem><listitem><para>Das Anwendungssymbol Xwud verwendet das Standardsymbolbild
  209. f&uuml;r Aktionen, da die Aktionsdefinition kein Feld <command>ICON</command>
  210. enth&auml;lt, in dem ein anderes Abbild definiert ist.</para>
  211. <para>Im Gegensatz dazu verwendet das Symbol mit der Bezeichnung Compress
  212. File ein anderes Symbolbild, da die zugrundeliegende Aktionsdefinition ein
  213. Feld <command>ICON</command> enth&auml;lt:</para>
  214. <para>Beispiel:</para>
  215. <programlisting>ACTION Compress
  216. {
  217. LABEL Datei komprimieren
  218. ICON Dtcmprs
  219. &hellip;
  220. }</programlisting>
  221. </listitem></itemizedlist>
  222. <figure>
  223. <title>Symbolbild, das durch das Feld ICON in der Aktionsdefinition angegeben
  224. wird</title>
  225. <graphic id="SAG.IntAc.grph.5" entityref="SAG.IntAc.fig.5"></graphic>
  226. </figure>
  227. <para>Die Aktion Xwud wird als <emphasis>Befehlsaktion</emphasis> bezeichnet,
  228. da ihre Definition den auszuf&uuml;hrenden Befehl (<command>EXEC_STRING</command>)
  229. enth&auml;lt. Das Feld <command>TYPE</command> in der Aktionsdefinition definiert
  230. den Aktionstyp.</para>
  231. <para>Zun&auml;chst wird das Symbol Xwd Display in der Gruppe von Anwendungen
  232. Desktop_Werkzeuge angezeigt. Der Benutzer kann jedoch zus&auml;tzliche Exemplare
  233. des Aktionssymbols in jedem Verzeichnis erstellen, f&uuml;r das er Schreibberechtigung
  234. hat. Solange die Aktionsdefinition f&uuml;r Xwud Bestandteil der Datenbank
  235. ist, wird jede ausf&uuml;hrbare Datei mit dem Namen <command>Xwud</command>,
  236. die der Benutzer erstellt, eine Aktionsdatei sein, die diese Aktion darstellt,
  237. und das zugeh&ouml;rige Symbol im Dateimanager oder Anwendungsmanager kann
  238. verwendet werden, um die Aktion auszuf&uuml;hren.</para>
  239. </sect2>
  240. <sect2 id="SAG.IntAc.div.5">
  241. <title id="SAG.IntAc.mkr.4">Wie Aktionen Datendateien als<indexterm><primary>Aktionen</primary><secondary>Dateiargumente</secondary></indexterm><indexterm>
  242. <primary>Argumente</primary><secondary>von Aktionen</secondary></indexterm> Argumente
  243. verwenden</title>
  244. <para>Ein<indexterm><primary>Argumente</primary><secondary>von Aktionen</secondary>
  245. </indexterm> <emphasis>Argument</emphasis> ist das Objekt, normalerweise eine<indexterm>
  246. <primary>Dateiargument</primary><secondary>verwendet in Aktionen</secondary>
  247. </indexterm> Datei, an dem der Befehl ausgef&uuml;hrt wird. Aktionen k&ouml;nnen
  248. so definiert werden, da&szlig; sie Dateiargumente akzeptieren.</para>
  249. <para>Beispielsweise gibt das Feld <command>EXEC_STRING</command> der Aktion
  250. Xwud an, da&szlig; ein Dateiargument erforderlich ist:</para>
  251. <programlisting>EXEC_STRING /usr/bin/X11/xwud -noclick -in \
  252. %(File)Arg_1&ldquo;Xwd Datei anzeigen:"%</programlisting>
  253. <para>Der Term <command>Arg</command> steht f&uuml;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>
  254. bedeutet, da&szlig; die Aktion dieses Argument als eine Datei behandelt.
  255. </para>
  256. <para><indexterm><primary>Anwendungssymbol</primary><secondary>&uuml;bergebene
  257. Dateien</secondary></indexterm><indexterm><primary>Aktionen</primary><secondary>&uuml;bergebene Dateien akzeptieren</secondary></indexterm><indexterm><primary>Anwendungssymbol</primary><secondary>doppelklicken</secondary></indexterm>Die
  258. einfachste Weise, in der ein Benutzer ein Dateiargument zur Verf&uuml;gung
  259. stellen kann, besteht darin, eine Datendatei dem Anwendungssymbol zu &uuml;bergeben.
  260. Das Desktop stellt den Pfad der &uuml;bergebenen Datei fest und setzt diesen
  261. in der Befehlszeile anstelle des Texts zwischen den Symbolen <computeroutput>% (%(File)Arg_1&ldquo;Xwd Datei anzeigen:&rdquo;%)</computeroutput>. Dann
  262. wird folgender Befehl ausgef&uuml;hrt:</para>
  263. <programlisting>/usr/bin/X11/xwud -noclick -in datei_pfad</programlisting>
  264. <para>Wenn der Benutzer auf dem Anwendungssymbol doppelt klickt, stellt das
  265. Desktop im Feld <command>EXEC_STRING</command> fest, da&szlig; ein Dateiargument
  266. erforderlich ist, und zeigt ein Dialogfenster an, in dem der Benutzer aufgefordert
  267. wird, einen Dateinamen oder Pfad einzugeben. Im Fall der Aktion Xwud lautet
  268. die Aufforderung:</para>
  269. <programlisting>Xwd Datei anzeigen:</programlisting>
  270. <para>Der Dateiname oder Pfad, den der Benutzer eingibt, wird als Dateiargument
  271. verwendet.</para>
  272. </sect2>
  273. <sect2 id="SAG.IntAc.div.6">
  274. <title>Zus&auml;tzliche Verwendung f&uuml;r Aktionen<indexterm><primary>Aktionen</primary><secondary>Verwendungen</secondary></indexterm></title>
  275. <para>Zus&auml;tzlich zum Starten von Anwendungen werden Aktionen im gesamten
  276. Desktop verwendet, um Funktionalit&auml;t in folgenden Bereichen herzustellen:
  277. </para>
  278. <itemizedlist remap="Bullet1"><listitem><para>im Bedienfeld</para>
  279. <para>Die Definition f&uuml;r ein Bedienelement im Bedienfeld enth&auml;lt
  280. Felder, in denen die Aktion angegeben wird, die ausgef&uuml;hrt wird, wenn
  281. der Benutzer das Bedienelement anklickt oder dem Bedienelement eine Datei
  282. &uuml;bergibt. Weitere Informationen hierzu k&ouml;nnen dem Abschnitt <!--Original
  283. XRef content: '&ldquo;Bedienelemente im Bedienfeld definieren&rdquo; auf
  284. Seite&numsp;251'--><xref role="SecTitleAndPageNum" linkend="SAG.FrPC.mkr.15"><indexterm><primary>Aktionen</primary><secondary>Verwendungen</secondary>
  285. </indexterm>
  286. entnommen werden.</para>
  287. </listitem><listitem><para>in Men&uuml;s</para>
  288. <para>Die Syntax von Fenstermen&uuml;- und Arbeitsbereichsmen&uuml;definitionen
  289. erm&ouml;glicht dem Benutzer, die Aktion anzugeben, die &uuml;ber ein Men&uuml;element
  290. ausgef&uuml;hrt wird. Weitere Informationen hierzu k&ouml;nnen dem Abschnitt
  291. <!--Original XRef content: '&ldquo;Arbeitsbereichsmanagermen&uuml;s&rdquo;
  292. auf Seite&numsp;271'--><xref role="SecTitleAndPageNum" linkend="SAG.WMCnf.mkr.6">
  293. und der Hilfeseite <filename moreinfo="RefEntry">dtwmrc(4)</filename> entnommen
  294. werden.</para>
  295. </listitem><listitem><para>bei der Kommunikation zwischen Anwendungen</para>
  296. <para>Eine Anwendung kann so eingerichtet werden, da&szlig; sie mit einem
  297. speziellen Typ von Aktion, n&auml;mlich ToolTalk message (<command>TT_MSG</command>), Informationen sendet und empf&auml;ngt. <command>TT_MSG-</command>
  298. Aktionen werden in der Entwicklerumgebungsdokumentation f&uuml;r das Desktop
  299. beschrieben.</para>
  300. </listitem></itemizedlist>
  301. </sect2>
  302. </sect1>
  303. <sect1 id="SAG.IntAc.div.7">
  304. <title id="SAG.IntAc.mkr.5">Einf&uuml;hrung in Datentypen<indexterm><primary>Datentypen</primary><secondary>Einf&uuml;hrung</secondary></indexterm></title>
  305. <para>Erstellt der Benutzer eine neue Datendatei, kann das Erscheinungsbild
  306. und das Verhalten des Symbols der Datei im Dateimanager je nach dem Typ der
  307. Datendatei sehr unterschiedlich sein. Diese F&auml;higkeit, ein angepa&szlig;tes
  308. Erscheinungsbild und angepa&szlig;tes Verhalten f&uuml;r Dateien und Verzeichnisse
  309. zu erstellen, wird &uuml;ber den Datentypmechanismus des Desktops zur Verf&uuml;gung
  310. gestellt.</para>
  311. <sect2 id="SAG.IntAc.div.8">
  312. <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>
  313. <para>Bei einem Datentyp handelt es sich um ein Konstrukt, das innerhalb der
  314. Desktop-Datenbank definiert ist. Das folgende Beispiel zeigt die Definition
  315. des Datentyps XWD. Die Definition befindet sich in der Konfigurationsdatei
  316. <filename>/usr/dt/appconfig/types/</filename><symbol role="Variable">sprache</symbol><filename>/xclients.dt</filename>.</para>
  317. <programlisting>DATA_ATTRIBUTES XWD
  318. {
  319. ACTIONS Open,Print
  320. ICON Dtxwd
  321. NAME_TEMPLATE %s.xwd
  322. MIME_TYPE application/octet-stream
  323. SUNV3_TYPE xwd-file
  324. DESCRIPTION Diese Datei enth&auml;lt ein Grafikbild im Format XWD.\
  325. Diese Dateien werden erstellt, wenn mit der Aktion\
  326. "XwdCapture" Bilder von Fensterausschnitten gemacht\
  327. werden. Der Datentyp wird XWD genannt. XWD-Dateinamen\
  328. enden mit ".xwd" oder ".wd".
  329. }
  330. DATA_CRITERIA XWD1
  331. {
  332. DATA_ATTRIBUTES_NAME XWD
  333. MODE f
  334. NAME_PATTERN *.xwd
  335. }
  336. DATA_CRITERIA XWD2
  337. {
  338. DATA_ATTRIBUTES_NAME XWD
  339. MODE f
  340. NAME_PATTERN *.wd
  341. }</programlisting>
  342. <para>Jede Datentypdefinition besteht aus zwei Teilen:</para>
  343. <informaltable>
  344. <tgroup cols="2" colsep="0" rowsep="0">
  345. <colspec colwidth="197*">
  346. <colspec colwidth="331*">
  347. <tbody>
  348. <row>
  349. <entry align="left" valign="top"><para><filename>DATA_ATTRIBUTES</filename></para></entry>
  350. <entry align="left" valign="top"><para>beschreibt das Erscheinungsbild und
  351. das Verhalten des Datentyps.</para></entry>
  352. </row>
  353. <row>
  354. <entry align="left" valign="top"><para><filename>DATA_CRITERIA</filename></para></entry>
  355. <entry align="left" valign="top"><para>gibt an, nach welchen Regeln (Name
  356. oder Inhalt) eine Datei diesem Datentyp zugerechnet wird.</para></entry>
  357. </row>
  358. </tbody>
  359. </tgroup>
  360. </informaltable>
  361. <para>Das Feld <filename>DATA_ATTRIBUTES_NAME</filename> verbindet die Kriterien
  362. mit den Attributen.</para>
  363. <para>Einem <filename>DATA_ATTRIBUTE</filename> k&ouml;nnen mehrere <filename>DATA_CRITERIA</filename> zugeordnet sein. Beispielsweise sind f&uuml;r den
  364. Datentyp XWD zwei verschiedene Namenskriterien (<filename>NAME_PATTERN</filename>)
  365. definiert, n&auml;mlich Namen, die in <filename>.xwd</filename> oder in <filename>.wd</filename> enden.</para>
  366. </sect2>
  367. <sect2 id="SAG.IntAc.div.9">
  368. <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
  369. verbinden</title>
  370. <para>Als Beispiel soll der Datentyp XWD betrachtet werden. Der Benutzer erstellt
  371. 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
  372. Dateinamen als das <emphasis>Kriterium</emphasis>, nach dem es eine Datei
  373. einem Datentyp zuordnet.</para>
  374. <para>Der Datentyp XWD stellt f&uuml;r jede Datei dieses Datentyps folgendes
  375. zur Verf&uuml;gung:</para>
  376. <itemizedlist remap="Bullet1"><listitem><para>Ein eindeutiges Symbol, das
  377. Benutzern hilft, die Datendateien zu erkennen.</para>
  378. </listitem><listitem><para>Kontexthilfe mit Informationen &uuml;ber den Datentyp.
  379. </para>
  380. </listitem><listitem><para>Ein angepa&szlig;tes Men&uuml; 'Ausgew&auml;hlt'
  381. im Dateimanager, das die Aktionen '&Ouml;ffnen' und 'Drucken' enth&auml;lt.
  382. Die Aktion '&Ouml;ffnen' f&uuml;r XWD-Dateien f&uuml;hrt die Aktion Xwud aus.
  383. </para>
  384. </listitem></itemizedlist>
  385. <sect3 id="SAG.IntAc.div.10">
  386. <title>Aktionen &uuml;ber das Men&uuml; "Ausgew&auml;hlt" ausf&uuml;hren<indexterm>
  387. <primary>Ausgew&auml;hlt Men&uuml;</primary></indexterm></title>
  388. <para>Das Men&uuml; 'Ausgew&auml;hlt' im Dateimanager ist nur aktiv, wenn
  389. eine Datei oder ein Verzeichnis ausgew&auml;hlt ist. Die Befehle, die unten
  390. im Men&uuml; 'Ausgew&auml;hlt' angezeigt werden, sind abh&auml;ngig vom Datentyp.
  391. Wird beispielsweise eine XWD-Datei ausgew&auml;hlt, enth&auml;lt das Men&uuml;
  392. 'Ausgew&auml;hlt' die Elemente '&Ouml;ffnen' und 'Drucken'.</para>
  393. <para>Das Feld <command>ACTIONS</command> in der Datentypdefinition gibt an,
  394. welche Befehle im Men&uuml; 'Ausgew&auml;hlt' des Datentyps unten angef&uuml;gt
  395. werden.</para>
  396. <programlisting>DATA_ATTRIBUTES XWD
  397. {
  398. ACTIONS Open,Print
  399. &hellip;
  400. }</programlisting>
  401. <para><indexterm><primary>Ausgew&auml;hlt Men&uuml;</primary></indexterm>Der
  402. Inhalt des Men&uuml;s 'Ausgew&auml;hlt' ist abh&auml;ngig vom Datentyp. Aber
  403. viele verschiedene Datentypen stellen eine Aktion '&Ouml;ffnen' zur Verf&uuml;gung.
  404. Wird eine Datei dieses bestimmten Datentyps im Dateimanager ausgew&auml;hlt
  405. und das Men&uuml; 'Ausgew&auml;hlt' angezeigt, wird im Men&uuml; der Befehl
  406. '&Ouml;ffnen' angezeigt.</para>
  407. <figure>
  408. <title>Das Men&uuml; "Ausgew&auml;hlt" f&uuml;r eine XWD-Datei</title>
  409. <graphic id="SAG.IntAc.grph.6" entityref="SAG.IntAc.fig.6"></graphic>
  410. </figure>
  411. <para>Die<indexterm><primary>&Ouml;ffnen Aktion</primary></indexterm> Aktion
  412. '&Ouml;ffnen' f&uuml;hrt normalerweise die der Datendatei zugeh&ouml;rige
  413. Anwendung aus. Beispielsweise wird durch das &Ouml;ffnen einer XWD-Datei
  414. die Aktion Xwud ausgef&uuml;hrt, die wiederum den X-Client <command>xwud</command>
  415. ausf&uuml;hrt, um das Anzeigeabbild anzuzeigen. Das hei&szlig;t, bei dem Datentyp
  416. XWD ist die Aktion '&Ouml;ffnen' synonym mit der Aktion Xwud. Ebenso wird
  417. durch das &Ouml;ffnen einer Datei vom Datentyp TEXTFILE der Texteditor und
  418. durch das &Ouml;ffnen einer Bitmap- oder Pixmap-Datei der Symboleditor ausgef&uuml;hrt.
  419. </para>
  420. <para>Die M&ouml;glichkeit, verschiedene Aktionen '&Ouml;ffnen' zu erstellen,
  421. die unterschiedlich verwendet werden, basiert auf zwei Merkmalen von Aktionsdefinitionen:
  422. </para>
  423. <itemizedlist remap="Bullet1"><listitem><para><indexterm><primary>Aktionen</primary><secondary>zuordnen</secondary></indexterm><indexterm><primary>Zuordnungsaktionen</primary></indexterm>Aktionszuordnung</para>
  424. <para>Die Aktionszuordnung erm&ouml;glicht dem Benutzer, eine Aktion zu erstellen,
  425. die eine andere Aktion ausf&uuml;hrt, anstatt einen Befehl direkt auszuf&uuml;hren.
  426. Beispielsweise kann eine Aktion '&Ouml;ffnen' erstellt werden, die die Aktion
  427. Xwud zuordnet (ausf&uuml;hrt).</para>
  428. </listitem><listitem><para><indexterm><primary>Aktionen</primary><secondary>Datentypeinschr&auml;nkungen</secondary></indexterm>Datentypeinschr&auml;nkungen
  429. f&uuml;r eine Aktion</para>
  430. <para>Aktionsdefinitionen k&ouml;nnen ein Feld <command>ARG_TYPE</command>
  431. enthalten, das die Aktion auf bestimmte Datentypen begrenzt. Beispielsweise
  432. kann angegeben werden, da&szlig; die Aktion '&Ouml;ffnen', die die Aktion
  433. Xwud zuordnet, nur auf Dateien des Datentyps XWD angewendet wird.</para>
  434. </listitem></itemizedlist>
  435. <para>Das folgende Beispiel zeigt die Definition der Aktion, die die Aktion
  436. '&Ouml;ffnen' f&uuml;r den Datentyp XWD der Aktion Xwud zuordnet. Sie befindet
  437. sich in der Datenbankkonfigurationsdatei
  438. <filename>/usr/dt/appconfig/types/<symbol role="Variable">sprache</symbol>/xclients.dt</filename>:</para>
  439. <programlisting>ACTION Open
  440. {
  441. LABEL &Ouml;ffnen
  442. ARG_TYPE XWD
  443. TYPE MAP
  444. MAP_ACTION Xwud
  445. }</programlisting>
  446. <para>In dem Feld <command>TYPE</command> wird angegeben, da&szlig; es sich
  447. um eine Zuordnungsaktion (map) handelt. Das Feld <command>MAP_ACTION</command>
  448. gibt an, da&szlig; diese Aktion die Aktion Xwud ausf&uuml;hrt. Das Feld <command>ARG_TYPE</command> gibt an, da&szlig; diese Aktion nur auf Dateien vom Datentyp
  449. XWD angewendet wird.</para>
  450. <para>Hierzu zum Vergleich die Definition der Aktion '&Ouml;ffnen' in der
  451. Datenbankdatei <filename>/usr/dt/appconfig/types/<symbol role="Variable">sprache</symbol>/dt.dt</filename>:</para>
  452. <programlisting>ACTION Open
  453. {
  454. LABEL &Ouml;ffnen
  455. ARG_TYPE BM
  456. TYPE MAP
  457. MAP_ACTION Dticon
  458. }</programlisting>
  459. <para>Diese Definition bezieht sich auf Dateien des Datentyps (<command>ARG_TYPE</command>) BM (Bitmap-Dateien). Die Definition ordnet die Aktion '&Ouml;ffnen'
  460. der Aktion Dticon zu, die den Symbol-Editor ausf&uuml;hrt.</para>
  461. </sect3>
  462. <sect3 id="SAG.IntAc.div.11">
  463. <title><indexterm><primary>Datentypen</primary><secondary>Verhalten bei Doppelklicken</secondary></indexterm>Verhalten des Datentyps bei Doppelklicken definieren</title>
  464. <para>Das Verhalten des Datentyps bei Doppelklicken wird durch den ersten
  465. Eintrag im Feld <command>ACTIONS</command> bestimmt. Beispielsweise wird beim
  466. Datentyp XWD durch Doppelklicken die Aktion '&Ouml;ffnen' ausgef&uuml;hrt,
  467. die ihrerseits die Aktion Xwud ausf&uuml;hrt.</para>
  468. </sect3>
  469. <sect3 id="SAG.IntAc.div.12">
  470. <title>Eine Datendatei an ein Aktionssymbol &uuml;bergeben</title>
  471. <para>&Uuml;bergibt der Benutzer eine Datendatei an ein Aktionssymbol, f&uuml;hrt
  472. das System die Aktion aus und verwendet diese Datendatei als das Argument
  473. f&uuml;r die Aktion. (Weitere Informationen k&ouml;nnen dem Abschnitt <!--Original
  474. XRef content: '&ldquo;Wie Aktionen Datendateien als Argumente verwenden&rdquo;
  475. auf Seite&numsp;149'--><xref role="SecTitleAndPageNum" linkend="SAG.IntAc.mkr.4">
  476. entnommen werden.)</para>
  477. <para>Wird beispielsweise eine XWD-Datendatei an ein Symbol Xwd Display &uuml;bergeben,
  478. wird die Aktion Xwud ausgef&uuml;hrt und das Datendateiargument verwendet.
  479. Dadurch wird der X-Client <command>xwud</command> mit dieser Datendatei ausgef&uuml;hrt.
  480. </para>
  481. </sect3>
  482. </sect2>
  483. <sect2 id="SAG.IntAc.div.13">
  484. <title><indexterm><primary>Datentypen</primary><secondary>drucken</secondary>
  485. </indexterm><indexterm><primary>Drucken</primary><secondary>konfigurieren
  486. f&uuml;r Datentyp</secondary></indexterm>Drucken &uuml;ber das Desktop f&uuml;r
  487. einen Datentyp einrichten</title>
  488. <para>&Uuml;ber das Desktop bestehen folgende M&ouml;glichkeiten, eine Datendatei
  489. zu drucken:</para>
  490. <itemizedlist remap="Bullet1"><listitem><para>&uuml;ber den Befehl 'Drucken'
  491. (falls verf&uuml;gbar) im Men&uuml; 'Ausgew&auml;hlt' des Dateimanagers.</para>
  492. </listitem><listitem><para>durch das &Uuml;bergeben einer Datendatei an einen
  493. Desktop- Drucker&uuml;bergabebereich (das Druckersymbol im Bedienfeld oder
  494. ein Druckersymbol im Druckmanager).</para>
  495. </listitem></itemizedlist>
  496. <para>Zus&auml;tzlich zum Drucken &uuml;ber das Desktop stellen viele Anwendungen
  497. noch eine M&ouml;glichkeit zur Verf&uuml;gung, von innerhalb der Anwendung
  498. zu drucken.</para>
  499. <para>Beim Drucken &uuml;ber Desktop werden Aktionen mit dem Namen 'Drucken'
  500. verwendet. Bei 'Drucken' handelt es sich, wie bei '&Ouml;ffnen', um einen
  501. Aktionsnamen, der f&uuml;r viele verschiedene Datentypen verwendet wird.
  502. Aus diesem Grund werden bei den Aktionen 'Drucken' die Aktionszuordnung und
  503. das Feld <command>ARG_TYPE</command> verwendet, um das Drucken f&uuml;r jeden
  504. einzelnen Datentyp anzupassen.</para>
  505. <para>Als Beispiel soll die Aktion 'Drucken' f&uuml;r den Datentyp XWD betrachtet
  506. werden. Die Definition befindet sich im Verzeichnis<filename>/usr/dt/appconfig/types/</filename><symbol role="Variable">sprache</symbol><filename>/xclients.dt</filename>:</para>
  507. <programlisting>ACTION Print
  508. {
  509. LABEL Drucken
  510. ARG_TYPE XWD
  511. TYPE MAP
  512. MAP_ACTION NoPrint
  513. }</programlisting>
  514. <para>Diese Aktion 'Drucken', die sich speziell auf XWD-Dateien bezieht, ist
  515. einer Aktion 'NoPrint' zugeordnet. Bei der Aktion NoPrint handelt es sich
  516. um eine spezielle Aktion, die in <filename>/usr/dt/appconfig/types/</filename><symbol role="Variable">sprache</symbol><filename>/dt.dt</filename> definiert ist.
  517. Die Aktion<indexterm><primary>NoPrint Aktion</primary></indexterm> 'NoPrint'
  518. zeigt ein Dialogfenster an, das dem Benutzer mitteilt, da&szlig; dieser Datentyp
  519. nicht gedruckt werden kann.</para>
  520. <para>Hierzu zum Vergleich die Aktion 'Drucken' f&uuml;r PCL-Dateien:</para>
  521. <programlisting>ACTION Print
  522. {
  523. LABEL Drucken
  524. ARG_TYPE PCL
  525. TYPE MAP
  526. MAP_ACTION PrintRaw
  527. }</programlisting>
  528. <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&auml;lt die Befehlszeile zum Drucken
  529. von PCL-Dateien.</para>
  530. <programlisting>ACTION PrintRaw
  531. {
  532. TYPE COMMAND
  533. WINDOW_TYPE NO_STDIO
  534. EXEC_STRING /usr/dt/bin/dtlp -w %(File)Arg_1%
  535. }</programlisting>
  536. </sect2>
  537. </sect1>
  538. </chapter>
  539. <!--fickle 1.14 mif-to-docbook 1.7 01/02/96 13:50:20-->