Files
cdesktop/cde/doc/ja_JP.dt-eucJP/guides/progGuide/ch01.sgm

427 lines
29 KiB
Plaintext

<!-- Fragment document type declaration subset:
ArborText, Inc., 1988-1995, v.4001
<!DOCTYPE DOCBOOK [
<!ENTITY PG.BIntg.fig.1 SYSTEM "./progGuide/graphics/NoPrint.eps" NDATA eps>
<!ENTITY PG.BIntg.fig.2 SYSTEM "./progGuide/graphics/package.eps" NDATA eps>
<!ENTITY PG.BIntg.fig.3 SYSTEM "./progGuide/graphics/approot.eps" NDATA eps>
<!ENTITY PG.dndPG.fig.1 SYSTEM "./progGuide/graphics/PG.dndPG.iFrame.1.eps" NDATA eps>
<!ENTITY PG.dndPG.fig.2 SYSTEM "./progGuide/graphics/PG.dndPG.iFrame.2.eps" NDATA eps>
<!ENTITY PG.dndPG.fig.3 SYSTEM "./progGuide/graphics/PG.dndPG.iFrame.3.eps" NDATA eps>
<!ENTITY PG.dndPG.fig.4 SYSTEM "./progGuide/graphics/PG.dndPG.iFrame.4.eps" NDATA eps>
<!ENTITY PG.dndPG.fig.5 SYSTEM "./progGuide/graphics/PG.dndPG.iFrame.5.eps" NDATA eps>
<!ENTITY PG.dndPG.fig.6 SYSTEM "./progGuide/graphics/PG.dndPG.iFrame.6.eps" NDATA eps>
<!ENTITY PG.dndPG.fig.7 SYSTEM "./progGuide/graphics/PG.dndPG.iFrame.7.eps" NDATA eps>
<!ENTITY PG.dndPG.fig.8 SYSTEM "./progGuide/graphics/PG.dndPG.iFrame.8.eps" NDATA eps>
<!ENTITY PG.dndPG.fig.9 SYSTEM "./progGuide/graphics/PG.dndPG.iFrame.9.eps" NDATA eps>
<!ENTITY PG.dndPG.fig.10 SYSTEM "./progGuide/graphics/PG.dndPG.iFrame.10.eps" NDATA eps>
<!ENTITY PG.dndPG.fig.11 SYSTEM "./progGuide/graphics/PG.dndPG.iFrame.11.eps" NDATA eps>
<!ENTITY PG.dndPG.fig.12 SYSTEM "./progGuide/graphics/PG.dndPG.iFrame.12.eps" NDATA eps>
<!ENTITY PG.dndPG.fig.13 SYSTEM "./progGuide/graphics/PG.dndPG.iFrame.13.eps" NDATA eps>
<!ENTITY PG.dndPG.fig.14 SYSTEM "./progGuide/graphics/PG.dndPG.iFrame.14.eps" NDATA eps>
<!ENTITY PG.dndPG.fig.15 SYSTEM "./progGuide/graphics/PG.dndPG.iFrame.15.eps" NDATA eps>
<!ENTITY PG.dndPG.fig.16 SYSTEM "./progGuide/graphics/PG.dndPG.iFrame.16.eps" NDATA eps>
<!ENTITY PG.dndPG.fig.17 SYSTEM "./progGuide/graphics/PG.dndPG.iFrame.17.eps" NDATA eps>
<!ENTITY PG.dndPG.fig.18 SYSTEM "./progGuide/graphics/PG.dndPG.iFrame.18.eps" NDATA eps>
<!ENTITY PG.dndPG.fig.19 SYSTEM "./progGuide/graphics/PG.dndPG.iFrame.19.eps" NDATA eps>
<!ENTITY PG.dndPG.fig.20 SYSTEM "./progGuide/graphics/PG.dndPG.iFrame.20.eps" NDATA eps>
<!ENTITY PG.widgs.fig.1 SYSTEM "./progGuide/graphics/PG.widgs.iFrame.1.eps" NDATA eps>
<!ENTITY PG.widgs.fig.2 SYSTEM "./progGuide/graphics/ComboBox.rs" NDATA eps>
<!ENTITY PG.widgs.fig.3 SYSTEM "./progGuide/graphics/MenuButton2.rs" NDATA eps>
<!ENTITY PG.calmg.fig.1 SYSTEM "./progGuide/graphics/PG.calmg.iFrame.1.eps" NDATA eps>
<!ENTITY PG.calmg.fig.2 SYSTEM "./progGuide/graphics/PG.calmg.iFrame.2.eps" NDATA eps>
<!ENTITY PG.basc1.fig.1 SYSTEM "./progGuide/graphics/NoPrint.eps" NDATA eps>
<!ENTITY PG.basic.fig.1 SYSTEM "./progGuide/graphics/NoPrint.eps" NDATA eps>
<!ENTITY PG.basic.fig.2 SYSTEM "./progGuide/graphics/package.eps" NDATA eps>
<!ENTITY PG.basic.fig.3 SYSTEM "./progGuide/graphics/approot.eps" NDATA eps>
<!ENTITY Copyr SYSTEM "./progGuide/copyright.sgm">
<!ENTITY Pref SYSTEM "./progGuide/preface.sgm">
<!ENTITY prtI SYSTEM "./progGuide/part1.sgm">
<!ENTITY prt2 SYSTEM "./progGuide/part2.sgm">
<!ENTITY fonts SYSTEM "./progGuide/ch02.sgm">
<!ENTITY msgs SYSTEM "./progGuide/ch03.sgm">
<!ENTITY smgr SYSTEM "./progGuide/ch04.sgm">
<!ENTITY dndPG SYSTEM "./progGuide/ch05.sgm">
<!ENTITY prt3 SYSTEM "./progGuide/part3.sgm">
<!ENTITY wsmgr SYSTEM "./progGuide/ch06.sgm">
<!ENTITY widgs SYSTEM "./progGuide/ch07.sgm">
<!ENTITY aIII SYSTEM "./progGuide/ch08.sgm">
<!ENTITY datat SYSTEM "./progGuide/ch09.sgm">
<!ENTITY calmg SYSTEM "./progGuide/ch10.sgm">
<!ENTITY gloss SYSTEM "./progGuide/glossary.sgm">
]>
-->
<!-- $XConsortium: ch01.sgm /main/1 1996/12/17 06:05:57 cde-hit $ -->
<!-- (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="PG.basc1.div.1">
<title id="PG.basc1.mkr.1">基本的なアプリケーションの統合方法</title>
<para>基本的なアプリケーションの統合方法は、実行することが強く推奨されるタスクのセットです。<indexterm><primary>基本的な統合方法</primary><secondary>定義</secondary></indexterm></para>
<informaltable id="PG.basc1.itbl.1" frame="All">
<tgroup cols="1">
<colspec colname="1" colwidth="4.0 in">
<tbody>
<row rowsep="1">
<entry><para><!--Original XRef content: 'Basic Integration Features3'--><xref
role="JumpText" linkend="PG.basc1.mkr.2"></para></entry></row>
<row rowsep="1">
<entry><para><!--Original XRef content: 'Basic Integration Tasks5'--><xref
role="JumpText" linkend="PG.basc1.mkr.3"></para></entry></row>
<row rowsep="1">
<entry><para><!--Original XRef content: 'Complete Print Integration6'--><xref
role="JumpText" linkend="PG.basc1.mkr.6"></para></entry></row>
<row rowsep="1">
<entry><para><!--Original XRef content: 'Partial Print Integration10'--><xref
role="JumpText" linkend="PG.basc1.mkr.8"></para></entry></row>
<row rowsep="1">
<entry><para><!--Original XRef content: 'Nonintegrated Printing13'--><xref
role="JumpText" linkend="PG.basc1.mkr.9"></para></entry></row></tbody></tgroup>
</informaltable>
<para>基本的な統合方法には、デスクトップのアプリケーション・プログラマ・インタフェース(API)の拡張仕様は含まれません。
したがって、ドラッグ&ドロップ、セッション管理、
ToolTalk&reg;
メッセージ、アクションおよびデータ型データベースへのプログラムのアクセスなど、デスクトップとの他の相互作用は提供されません。</para>
<para>この章で説明する統合方法の作業の一部は、ソースコードの変更を必要とします。それらはオプションですが、基本的な統合方法の作業と密接な、関係があるため、ここで説明します。</para>
<sect1 id="PG.basc1.div.2">
<title id="PG.basc1.mkr.2">基本的な統合方法の特徴</title>
<para>基本的なアプリケーションの統合方法には、エンドユーザ向けの次のような特徴があります。</para>
<itemizedlist remap="Bullet1"><listitem><para>デスクトップ上のアプリケーションを探して起動するためのグラフィカルな方法</para>
<para>アプリケーションはデスクトップ<indexterm><primary>登録パッケージ
</primary></indexterm><symbol role="Variable">登録パッケージ</symbol>を提供し、インストール・スクリプトはアプリケーションを自動的に登録します。</para>
<para>登録によって、アプリケーション・マネージャのトップ・レベルにアプリケーション・グループが作成されます。アプリケーション・グループにはアイコンがあり、ユーザがアイコンをダブルクリックすると、アプリケーションが起動します。<indexterm><primary>登録</primary><secondary>定義</secondary></indexterm></para>
</listitem><listitem><para>アプリケーションのデータ・ファイルを認識し、操作する機能</para>
<para>アプリケーションは、データ・ファイルにデータ型を提供します。</para>
<para>データ型定義は、データ・ファイルが固有のアイコンを使うように構成して、データ・ファイルを見分けやすくします。また、データ・ファイルは、意味があるデスクトップ動作も持っています。たとえば、ユーザはデータ・ファイルをダブルクリックすることによってアプリケーションを起動したり、デスクトップのプリンタ・ドロップ領域にデータ・ファイルをドロップして、適切な印刷コマンドを使用してファイルを印刷することができます。<indexterm><primary>データ型</primary><secondary>データ型の目的</secondary></indexterm></para>
</listitem><listitem><para>スタイル・マネージャによる簡単なフォントとカラーの選択<indexterm>
<primary>スタイル・マネージャ</primary><secondary>スタイル・マネージャとの統合</secondary></indexterm></para>
<para>アプリケーションは、インタフェースのフォントと、バックグラウンド、フォアグラウンド、およびシャドウの色を動的に変更します。</para>
<para>デスクトップは、対応するアプリケーション固有のリソースがない場合に使われる、一般的なインタフェースのフォントおよびカラーのリソースを定義します。<indexterm><primary>スタイル・マネージャ</primary><secondary>スタイル・マネージャからのフォントの獲得</secondary></indexterm><indexterm><primary>スタイル・マネージャ</primary><secondary>スタイル・マネージャからのカラーの獲得</secondary></indexterm></para>
</listitem></itemizedlist>
<para>基本的な統合方法では、システム管理者に次のような利点を提供します。<indexterm><primary>基本的な統合方法</primary><secondary>基本的な統合方法の利点</secondary></indexterm></para>
<itemizedlist remap="Bullet1"><listitem><para>インストールと登録が容易</para>
<para>インストール時に、アプリケーションは自動的に登録されます。他にシステム管理者がしなければならないことはほとんどありません。</para>
</listitem><listitem><para>運用時の管理が容易</para>
<para>デスクトップの構成ファイルは、すべて一ヶ所に集められます。また、たとえば管理者がアプリケーションを更新したい場合や、別のアプリケーション・サーバに移動したい場合には、アプリケーションの登録解除が簡単にできます。</para>
</listitem></itemizedlist>
<sect2 id="PG.basc1.div.3">
<title>基本的な統合方法情報の構成</title>
<para>基本的な統合に必要な作業の大部分は、既存のアプリケーションをデスクトップに統合するシステム管理者によって実行されます。
したがって、基本的な統合方法の説明の大部分は、<emphasis>共通デスクトップ環境 上級ユーザ及びシステム管理者ガイド</emphasis>の「アプリケーションの登録」の章にあります。</para>
<para>この章では、その説明の概要を紹介し、アプリケーション・プログラマ向けの追加説明をします。</para>
</sect2>
</sect1>
<sect1 id="PG.basc1.div.4">
<title id="PG.basc1.mkr.3">基本的な統合方法の作業</title>
<para>基本的な統合に必要な一般的な作業は次のとおりです。</para>
<itemizedlist remap="Bullet1"><listitem><para>フォントとカラーを設定するアプリケーションのリソースを変更する。これによってユーザは、スタイル・マネージャを使ってアプリケーションのインタフェース・フォントおよびカラーを変更することができます。<indexterm><primary>基本的な統合方法</primary><secondary>基本的な統合方法の作業の概要</secondary></indexterm></para> <para><emphasis>共通デスクトップ環境 上級ユーザおよびシステム管理者ガイド</emphasis>の「アプリケーションの登録」の章の「フォント・リソースおよびカラー・リソースの変更」の節を参照してください。</para>
</listitem><listitem><para>アプリケーションのための登録パッケージを作成する。</para>
<para>このマニュアルの<!--Original XRef content: '&xd2;Creating a Registration
Package for Your Application'--><xref role="SectionTitle" linkend="PG.basc1.mkr.11">
と<emphasis>共通デスクトップ環境 上級ユーザおよびシステム管理者ガイド</emphasis>の「アプリケーションの登録」の章を参照してください。</para>
</listitem><listitem><para>登録パッケージ・ファイルをインストールし、登録手順を実行するように、アプリケーションのインストール・スクリプトを変更する。</para>
<para id="pg.basc1.mkr.4"><emphasis>共通デスクトップ環境 上級ユーザおよびシステム管理者ガイド</emphasis>の「アプリケーションの登録」の章の「<command>dtappintegrate</command>を使用したアプリケーションの登録」の節を参照してください。<indexterm><primary>データ型</primary><secondary>データ型の印刷</secondary></indexterm><indexterm><primary>登録パッケージ</primary><secondary>印刷の提供</secondary></indexterm><indexterm><primary>印刷統合</primary></indexterm></para>
</listitem><listitem><para>ネットワークおよびローカル・プリンタでアプリケーション・データ・ファイルを印刷する。デスクトップ・プリンタ・モデルは、印刷のためのグラフィカルな方法をユーザに提供し、UNIXの<command>lp</command>サービスの本来のネットワーク機能の上に構築されます。</para>
</listitem></itemizedlist>
<sect2 id="PG.basc1.div.5">
<title id="PG.basc1.mkr.5">印刷統合のレベル<indexterm><primary>印刷統合</primary></indexterm><indexterm><primary>基本的な統合方法</primary><secondary>印刷</secondary></indexterm></title>
<para>ユーザが使用できる印刷機能は、統合のレベルによって異なります。統合には次の3つのレベルがあります。<indexterm><primary>印刷統合</primary><secondary>印刷統合のレベル</secondary></indexterm></para>
<itemizedlist remap="Bullet1"><listitem><para>完全な統合。<!--Original
XRef content: '&xd2;Complete Print Integration&xd3; on page&numsp;6'--><xref
role="SecTitleAndPageNum" linkend="PG.basc1.mkr.6">を参照してください。</para>
<para>アプリケーションのソースコードを変更する能力がある場合には、完全な統合を行ってください。</para>
<para>完全な統合を行うと、ユーザはデータ・ファイルをプリンタ・ドロップ領域(フロントパネルのプリンタとプリント・マネージャのプリンタ・アイコン)にドロップすることによって、さまざまなプリンタで印刷することができます。その他の特定のデスクトップ動作も実現します(<!--Original XRef content: '&xd2;Desktop
Printing Environment
Variables&xd3; on page&numsp;6'--><xref role="SecTitleAndPageNum" linkend="PG.basc1.mkr.7">を参照)。
</para>
</listitem><listitem><para>部分的な統合。<!--Original XRef content:
'&xd2;Partial Print Integration&xd3; on page&numsp;10'--><xref role="SecTitleAndPageNum"
linkend="PG.basc1.mkr.8">を参照してください。</para>
<para>アプリケーションのソースコードを変更する能力はないが、アクションによって印刷機能を呼び出すことができる場合には、部分的な統合を行ってください。</para>
<para>部分的な統合をした場合、アプリケーションは完全統合機能の一部分の機能を提供します。たとえば、<command>LPDEST</command>環境変数を使用することによって、アプリケーションの印刷機能は、印刷の出力先をドロップ領域から獲得します。</para>
</listitem><listitem><para>統合なし。<!--Original XRef content:
'&xd2;Nonintegrated Printing&xd3; on page&numsp;13'--><xref role="SecTitleAndPageNum"
linkend="PG.basc1.mkr.9">を参照してください。</para>
<para>アプリケーションがデータ・ファイルの印刷アクションを提供できない場合には、ユーザがファイルをプリンタ・ドロップ領域にドロップしたときに[エラー]ダイアログ・ボックスを表示するように、データ・ファイルを構成しなければなりません。</para>
</listitem></itemizedlist>
</sect2>
<sect2 id="PG.basc1.div.6">
<title id="PG.basc1.mkr.6">完全な印刷統合<indexterm><primary>印刷統合</primary><secondary>完全な印刷統合</secondary></indexterm></title>
<para>完全な印刷統合をするためには、アプリケーションは次の条件を備えていなければなりません。</para>
<itemizedlist remap="Bullet1"><listitem><para>印刷アクションを提供する。</para>
</listitem><listitem><para>4つのデスクトップ印刷環境変数を使用する。</para>
</listitem></itemizedlist>
<sect3 id="PG.basc1.div.7">
<title id="PG.basc1.mkr.7">デスクトップ印刷環境変数<indexterm><primary>印刷統合</primary><secondary>環境変数</secondary></indexterm><indexterm><primary>印刷環境変数</primary></indexterm></title>
<para>完全に統合された印刷機能を持つためには、アプリケーションは次の4つの環境変数を参照しなければなりません。<command>LPDEST</command>変数は、とくに重要です。これによってユーザは、特定のプリンタ・ドロップ領域を使用して印刷の出力先を選ぶことができます。</para>
<informaltable>
<tgroup cols="2" colsep="0" rowsep="0">
<?PubTbl tgroup dispwid="6.58in">
<colspec align="left" colwidth="188*">
<colspec align="left" colwidth="355*">
<thead>
<row><entry align="left" valign="bottom"><para>印刷環境変数</para></entry>
<entry align="left" valign="bottom"><para>説明</para></entry></row>
</thead>
<tbody>
<row>
<entry align="left" valign="top"><para><command>LPDEST</command><indexterm>
<primary>LPDEST変数</primary></indexterm></para></entry>
<entry align="left" valign="top"><para>指定された値をファイルのプリンタ出力先として使います。この変数が設定されていない場合には、アプリケーションのデフォルトの印刷装置が使用されます。<indexterm><primary>印刷統合</primary><secondary>出力先プリンタの指定</secondary></indexterm></para></entry>
</row>
<row>
<entry align="left" valign="top"><para><command>DTPRINTUSERFILENAME</command><indexterm>
<primary>DTPRINTUSERFILENAME変数</primary></indexterm></para></entry>
<entry align="left" valign="top"><para>印刷ダイアログまたは印刷出力に表示されるファイルの名前を指定します。この変数が設定されていない場合には、実際のファイル名が使用されます。<indexterm><primary>印刷統合</primary><secondary>ファイル名の指定</secondary></indexterm></para></entry>
</row>
<row>
<entry align="left" valign="top"><para><command>DTPRINTSILENT</command><indexterm><primary>DTPRINTSILENT変数</primary></indexterm></para></entry>
<entry align="left" valign="top"><para>[印刷]ダイアログ・ボックスを表示するかどうかを指定します。この変数にTrueが設定されているときには、印刷ダイアログは表示されません。この変数が設定されていない場合には、[印刷]ダイアログ・ボックスが表示されます。<indexterm>
<primary>印刷統合</primary><secondary>[印刷]ダイアログ・ボックスなしの印刷</secondary></indexterm><indexterm><primary>[印刷]ダイアログ・ボックス</primary></indexterm></para></entry></row>
<row>
<entry align="left" valign="top"><para><command>DTPRINTFILEREMOVE</command><indexterm>
<primary>DTPRINTFILEREMOVE変数</primary></indexterm></para></entry>
<entry align="left" valign="top"><para>この変数にTrueが設定されているときには、印刷したあと、そのファイルは削除されます。この機能は、印刷後は保存しておく必要がない一時ファイルを対象にしています。
この変数が設定されていない場合には、ファイルは削除されません。<indexterm><primary>印刷統合</primary><secondary>一時ファイルの削除</secondary></indexterm></para></entry></row></tbody></tgroup></informaltable>
</sect3>
<sect3 id="pg.basc1.div.8">
<title>完全に統合された印刷アクション<indexterm><primary>印刷アクション</primary></indexterm></title>
<para>印刷アクションは、登録パッケージの一部分であり、構成ファイル<symbol role="Variable">app_root</symbol><filename>/dt/appconfig/types/language/</filename><symbol role="Variable">name</symbol><filename>.dt</filename>の中で提供されます。</para>
<para>印刷アクションが、<!--Original XRef content: '&xd2;Desktop Printing
Environment Variables'--><xref role="SectionTitle" linkend="pg.basc1.mkr.7">で示した4つの環境変数を参照するプログラムを実行する場合には、
データ型は完全に統合されています。
印刷アクションは、アプリケーションのデータ型に応じて書かなければならず、1つのファイルだけを受け入れなければなりません。</para>
<para>たとえば、次の印刷アクションは、<command>ThisAppData</command>という名前のデータ型に固有です。</para>
<programlisting>Print
{
ARG_TYPE ThisAppData
EXEC_STRING <symbol role="Variable">print_command</symbol> -file %(file)Arg_1%
}</programlisting>
<para>アプリケーションがToolTalkの印刷要求を処理する場合には、印刷アクションは次のアクションの変形で送ることができます。(4つの環境変数のどれかが設定されていない場合には、対応するメッセージ引数はヌルになります。メッセージ引数がヌルのときのデフォルトの解釈については、「デスクトップ印刷環境変数」を参照してください。)</para>
<programlisting>ACTION Print
{
ARG_TYPE ThisAppData
ARG_CLASS FILE
ARG_COUNT 1
TYPE TT_MSG
TT_CLASS TT_REQUEST
TT_SCOPE TT_SESSION
TT_OPERATION Print
TT_FILE %Arg_1%
TT_ARG0_MODE TT_IN
TT_ARG0_VTYPE %Arg_1%
TT_ARG1_MODE TT_IN
TT_ARG1_VTYPE LPDEST
TT_ARG1_VALUE $LPDEST
TT_ARG2_MODE TT_IN
TT_ARG2_VTYPE DTPRINTUSERFILENAME
TT_ARG2_VALUE $DTPRINTUSERFILENAME
TT_ARG3_MODE TT_IN
TT_ARG3_VTYPE DTPRINTSILENT
TT_ARG3_VALUE $DTPRINTSILENT
TT_ARG4_MODE TT_IN
TT_ARG4_VTYPE DTPRINTFILEREMOVE
TT_ARG4_VALUE $DTPRINTFILEREMOVE
}
ACTION Print
{
ARG_TYPE ThisAppData
ARG_CLASS BUFFER
ARG_COUNT 1
TYPE TT_MSG
TT_CLASS TT_REQUEST
TT_SCOPE TT_SESSION
TT_OPERATION Print
TT_ARG0_MODE TT_IN
TT_ARG0_VTYPE %Arg_1%
TT_ARG0_VALUE %Arg_1%
TT_ARG1_MODE TT_IN
TT_ARG1_VTYPE LPDEST
TT_ARG1_VALUE $LPDEST
TT_ARG2_MODE TT_IN
TT_ARG2_VTYPE DTPRINTUSERFILENAME
TT_ARG2_VALUE $DTPRINTUSERFILENAME
TT_ARG3_MODE TT_IN
TT_ARG3_VTYPE DTPRINTSILENT
TT_ARG3_VALUE $DTPRINTSILENT
TT_ARG4_MODE TT_IN
TT_ARG4_VTYPE DTPRINTFILEREMOVE
TT_ARG4_VALUE false
}</programlisting>
</sect3>
<sect3 id="PG.basc1.div.9">
<title>フィルタされたデータまたは印刷の準備ができているデータのための印刷アクションの作成<indexterm><primary>印刷フィルタ</primary></indexterm><indexterm><primary>フィルタ、印刷</primary></indexterm><indexterm><primary>印刷アクション</primary></indexterm></title>
<para>デスクトップ印刷ユーティリティ<filename>/usr/dt/dtlp</filename>は、<command>lp</command>サブシステムに基づく機能を提供します。<command>lp</command>の印刷オプションを集めて、指定されたファイルを印刷します。</para>
<para>次の条件のどちらかに該当する場合には、アプリケーションは、<command>dtlp</command>を使用することができます。</para>
<itemizedlist remap="Bullet1"><listitem><para>プリンタに送る前にデータ・ファイルを処理する必要がない。</para>
</listitem><listitem><para>アプリケーションがデータ・ファイルを印刷できる形式に変換するためのフィルタを備えている。</para>
</listitem></itemizedlist>
<para>アプリケーションのデータ・ファイルが上記の条件に合わない場合には、アプリケーションの印刷システムへのエントリ・ポイントを設定しなければなりません。それによってアプリケーションは、データ・ファイルを印刷するためにXプリント・システムを使用することができます。たとえば次のようにします。</para>
<programlisting>
Print
{
ARG_TYPE ThisAppData
EXEC_STRING app_name -print %Arg_1%
}
</programlisting>
<para><command>dtlp</command>サービスは、アクション・システムによる印刷(アプリケーションによる印刷ではなく)を対象としていることに、注意してください。
<command>dtlp</command>の詳細については、<filename moreinfo="RefEntry">dtlp</filename>(1) リファレンス・ページを参照してください。</para>
<para>ファイルを印刷する準備ができている場合には、印刷アクションは、<command>EXEC_STRING</command>の中で<command>dtlp</command>を実行します。たとえば次のようにします。</para>
<programlisting>Print
{
ARG_TYPE ThisAppData
EXEC_STRING dtlp %Arg_1%
}</programlisting>
<para>アプリケーションが変換フィルタを備えている場合には、<filename>dtlp</filename>を実行する前にフィルタが実行されなければなりません。たとえば次のようにします。</para>
<programlisting>Print
{
ARG_TYPE MyAppData
EXEC_STRING /bin/sh `cat %Arg_1%| <symbol role="Variable">filter_name</symbol> | dtlp`
}</programlisting>
<para><symbol role="Variable">filter_name</symbol>は印刷ファイルの名前です。</para>
</sect3>
</sect2>
<sect2 id="PG.basc1.div.10">
<title id="PG.basc1.mkr.8">部分的な印刷統合<indexterm><primary>印刷統合</primary><secondary>部分的な印刷統合</secondary></indexterm></title>
<para>部分的な印刷統合をするためには、アプリケーションは次のものを提供しなければなりません。</para>
<itemizedlist remap="Bullet1"><listitem><para>印刷アクション</para>
</listitem><listitem><para>
どの印刷環境変数がアクションによって処理されるかによって印刷が統合される範囲</para>
</listitem></itemizedlist>
<sect3 id="pg.basc1.div.11">
<title>部分的な統合のための印刷コマンドの提供<indexterm><primary>印刷コマンド行</primary><secondary>部分的な統合</secondary></indexterm></title>
<para>部分的な印刷統合を提供するためには、アプリケーションは次の形式の印刷コマンド行を提供しなければなりません。</para>
<programlisting><symbol role="Variable">print_command</symbol> [<symbol role="Variable">options</symbol>] -file <symbol role="Variable">filename</symbol></programlisting>
<para><symbol role="Variable">options</symbol>は、
印刷環境変数のいくつかまたはすべてを参照する、あるいはどれも参照しないためのメカニズムを提供します(<!--Original XRef content: '&xd2;Desktop Printing
Environment Variables&xd--><!--3;
on page&numsp;6'--><xref role="SecTitleAndPageNum" linkend="pg.basc1.mkr.7">を参照してください)。</para>
<para>この印刷コマンド行のもっとも単純な形式では、オプションを省略します。</para>
<programlisting><symbol role="Variable">print_command</symbol> -file <symbol role="Variable">filename</symbol></programlisting>
<para>このコマンド行を使うと、ユーザはデスクトップのプリンタ・ドロップ領域を使用して、アプリケーションのデータ・ファイルを印刷することができます。
ただし、印刷の出力先はドロップ領域によって設定されません。
また環境変数によって設定されたその他の印刷動作は実装されません。
たとえば、デスクトップは直接サイレント印刷を行ったり、一時ファイルを削除することはできません。</para>
<para>印刷コマンド行でデスクトップ
環境変数に対応する別のコマンド行<symbol role="Variable">options</symbol>を提供する場合には、別の統合を提供することができます。</para>
<para>たとえば、次のコマンド行は<command>LPDEST</command>を参照する能力を提供します。</para>
<programlisting><symbol role="Variable">print_command</symbol> [-d <symbol role="Variable">destination</symbol>] [-file <symbol role="Variable">filename</symbol>]</programlisting>
<para><symbol role="Variable">destination</symbol>は、出力先プリンタです。</para>
<para>次の印刷コマンド行は、4つの変数すべてを参照するためのオプションを提供します。</para>
<programlisting><symbol role="Variable">print_command</symbol> [-d <symbol role="Variable">destination</symbol>] [-u <symbol role="Variable">user_file_name</symbol>] [-s] [-e] -file <symbol role="Variable">filename</symbol></programlisting>
<informaltable>
<tgroup cols="2" colsep="0" rowsep="0">
<colspec align="left" colwidth="100*">
<colspec align="left" colwidth="356*">
<tbody>
<row>
<entry><para><symbol role="Variable">user_file_name</symbol></para></entry>
<entry><para>画面に表示されるファイル名。</para></entry></row>
<row>
<entry><para><filename>-s</filename></para></entry>
<entry><para>サイレント印刷([印刷]ダイアログ・ボックスは表示されません)。</para></entry>
</row>
<row>
<entry><para><filename>-e</filename></para></entry>
<entry><para>印刷後に、ファイルは削除されます。</para></entry></row>
</tbody></tgroup></informaltable>
<para>参照は、アクション定義で発生します。詳しくは、<!--Original XRef content: '&xd2;Desktop
Printing Environment Variables&xd--><!--3; on page&numsp;6'--><xref role="SecTitleAndPageNum"
linkend="pg.basc1.mkr.7">を参照してください。</para>
</sect3>
<sect3 id="pg.basc1.div.11a">
<title>環境変数のコマンド行スイッチへの変換</title>
<para>アクションは4つの環境変数を参照できないが、対応するコマンド行オプションをとることができる場合について、この項では環境変数をコマンド行オプションに変換する方法を説明します。</para>
<para>たとえば、次の例は<command>LPDEST</command>を参照する簡単な印刷アクション です。</para>
<programlisting>Print
{
ARG_TYPE <symbol role="Variable">data_type</symbol>
EXEC_STRING <symbol role="Variable">print_command</symbol> -d $LPDEST -file %(file)Arg_1%
}</programlisting>
<para>しかし、この印刷アクションは、<command>LPDEST</command>が設定されていない場合には、予測できない動作を生む場合もあります。</para>
<para>変数が設定されていないときに適切な動作を提供する印刷アクションを作成するための1つの方法は、印刷アクションが使うシェル・スクリプトを作成することです。</para>
<para>
たとえば、次のアクションとそれが使用するスクリプトは、4つの環境変数すべてを正しく処理します。</para>
<programlisting>Print
ARG_TYPE <symbol role="Variable">data_type</symbol>
EXEC_STRING <symbol role="Variable">app_root</symbol>/bin/envprint %(File)Arg_1%
}</programlisting>
<para><command>envprint</command>スクリプトの内容は次のとおりです。
<indexterm><primary>印刷統合</primary><secondary>印刷統合のためのスクリプト</secondary></indexterm></para>
<programlisting>#!/bin/sh
# envprint - sample print script
DEST=&rdquo;&rdquo;
USERFILENAME=&rdquo;&rdquo;
REMOVE=&rdquo;&rdquo;
SILENT=&rdquo;&rdquo;
if [ $LPDEST ]; then
DEST=&rdquo;-d $LPDEST&rdquo;
fi
if [ $DTPRINTUSERFILENAME ]; then
USERFILENAME=&rdquo;-u $DTPRINTUSERFILENAME&rdquo;
fi
DTPRINTFILEREMOVE=echo $DTPRINTFILEREMOVE | tr &ldquo;[:upper:]&rdquo;
&ldquo;[:lower:]&rdquo;`
if [ &ldquo;$DTPRINTFILEREMOVE&rdquo; = &ldquo;true&rdquo; ]; then
REMOVE=&rdquo;-e&rdquo;
fi
DTPRINTSILENT=`echo $DTPRINTSILENT | tr &ldquo;[:upper:]&rdquo; &ldquo;[:lower:]&rdquo;`
if [ &ldquo;$DTPRINTSILENT&rdquo; = &ldquo;true&rdquo; ]; then
SILENT=&rdquo;-s&rdquo;
fi
<symbol role="Variable">print_command</symbol> $DEST $USERFILENAME $REMOVE $SILENT -file $1
</programlisting>
</sect3>
</sect2>
<sect2 id="PG.basc1.div.12">
<title id="PG.basc1.mkr.9">統合されていない印刷<indexterm><primary>印刷統合</primary><secondary>[印刷なし]アクションの使用</secondary></indexterm></title>
<para>アプリケーションがデスクトップと印刷機能を統合しない場合には、データ・ファイルを正しく印刷するために、ユーザがアプリケーションを開かなければなりません。</para>
<para>それでも、アプリケーションのデータ・ファイルをプリンタ・ドロップ領域にドロップするときに動作する印刷アクションを提供すべきでしょう。
さもなければ、デスクトップはファイルがテキスト・データを含むとみなして、印刷出力を勝手に行うかもしれません。</para>
<para>デスクトップはこの目的のために[印刷なし]という印刷アクションを提供します。
[印刷なし]アクションは、プリンタ・ドロップ領域を使用してデータ・ファイルを印刷できないことをユーザに知らせるダイアログ・ボックスを表示します。</para>
<para><indexterm><primary>[印刷なし]アクション</primary></indexterm>
[印刷なし]アクションは、<indexterm><primary>[印刷できません]ダイアログ・ボックス</primary></indexterm><!--Original XRef content:
'Figure&numsp;1&hyphen;1'--><xref role="CodeOrFigureOrTable" linkend="PG.basc1.mkr.10">
に示されている[印刷できません]ダイアログ・ボックスを表示します。</para>
<figure>
<title id="PG.basc1.mkr.10">組み込みの[印刷なし]アクションによって表示されるダイアログ・ボックス</title>
<graphic id="PG.basc1.grph.1" entityref="PG.basc1.fig.1"></graphic>
</figure>
<para>
[印刷できません]ダイアログ・ボックスを使用するには、[印刷なし]アクションにマップされる、データ型に固有の印刷アクションを作成します。
たとえば、アプリケーションのデータ型を次のように仮定します。</para>
<programlisting>DATA_ATTRIBUTES MySpreadSheet_Data1
{
&mdash;
}</programlisting>
<para>次の印刷アクションは、このデータ型の[印刷なし]にマップされます。</para>
<programlisting>ACTION Print
{
ARG_TYPE MySpreadSheet_Data1
TYPE MAP
MAP_ACTION NoPrint
}</programlisting>
</sect2>
<sect2 id="PG.basc1.div.13">
<title id="PG.basc1.mkr.11">アプリケーションのための登録パッケージの作成<indexterm><primary>登録パッケージ</primary><secondary>作成</secondary></indexterm><indexterm><primary>基本的な統合方法</primary><secondary>登録パッケージ</secondary>
</indexterm></title>
<para>アプリケーションのために作成するデスクトップ登録パッケージは、アプリケーションのインストール・パッケージの一部にならなければなりません。
登録パッケージを作成するための手順は、既存のアプリケーションをデスクトップに統合するシステム管理者によって実行されます。
これらの手順については、<emphasis>共通デスク トップ環境 上級ユーザおよびシステム管理者ガイド</emphasis>の「アプリケーションの登録」の章に説明があります。</para>
</sect2>
</sect1>
</chapter>
<!--fickle 1.14 mif-to-docbook 1.7 01/02/96 09:54:57-->
<?Pub Caret>
<?Pub *0000030451>