<!-- $XConsortium: ch07.sgm /main/12 1996/09/08 19:47:09 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="RDMAP.optin.div.1">
<title id="RDMAP.optin.mkr.1">オプションの統合方法</title>
<para>この章で説明する共通デスクトップ環境のコンポーネントによって、特殊な
タスクを実行するためにデスクトップが提供するサービスを使用することができます。
<indexterm><primary>オプションの統合方法 &lt;$startrange></primary></indexterm>
<indexterm><primary>統合</primary><secondary>オプション</secondary></indexterm>
<indexterm><primary>統合のレベル</primary><secondary>オプション &lt;
$startrange></secondary></indexterm></para>
<informaltable id="RDMAP.optin.itbl.1" frame="All">
<tgroup cols="1">
<colspec colname="1" colwidth="4.0 in">
<tbody>
<row rowsep="1">
<entry><para><!--Original XRef content: 'Common Desktop Environment Motif
Control Widgets64'--><xref role="JumpText" linkend="RDMAP.optin.mkr.2"></para></entry>
</row>
<row rowsep="1">
<entry><para><!--Original XRef content: 'Data Typing67'--><xref role="JumpText"
linkend="RDMAP.optin.mkr.3"></para></entry></row>
<row rowsep="1">
<entry><para><!--Original XRef content: 'Action Invocation69'--><xref role="JumpText"
linkend="RDMAP.optin.mkr.4"></para></entry></row>
<row rowsep="1">
<entry><para><!--Original XRef content: 'Workspace Manager70'--><xref role="JumpText"
linkend="RDMAP.optin.mkr.5"></para></entry></row>
<row rowsep="1">
<entry><para><!--Original XRef content: 'Terminal Emulator Widget72'--><xref
role="JumpText" linkend="RDMAP.optin.mkr.6"></para></entry></row>
<row rowsep="1">
<entry><para><!--Original XRef content: 'Text Editor Widget73'--><xref role="JumpText"
linkend="RDMAP.optin.mkr.7"></para></entry></row>
<row rowsep="1">
<entry><para><!--Original XRef content: 'Calendar74'--><xref role="JumpText"
linkend="RDMAP.optin.mkr.8"></para></entry></row>
<row rowsep="1">
<entry><para><!--Original XRef content: 'Information ManagerXX'--><xref
role="JumpText" linkend="RDMAP.optin.mkr.8a"></para></entry></row>
<row rowsep="1">
<entry><para><!--Original XRef content: 'Desktop KornShell (dtksh)76'--><xref
role="JumpText" linkend="RDMAP.optin.mkr.9"></para></entry></row></tbody>
</tgroup></informaltable>
<note>
<para>この節で説明するコンポーネントの統合方法以外に、
<!--Original XRef content: 'Chapter&numsp;5, &xd2;Basic Application
Integration'--><xref role="ChapNumAndTitle" linkend="RDMAP.BIntg.mkr.1">で概説
する基本的な統合方法に関する指示にも従ってください。
<!--Original XRef content: 'Chapter&numsp;6, &xd2;Recommended Integration'-->
<xref role="ChapNumAndTitle" linkend="RDMAP.recin.mkr.1">で説明するコンポーネント
は、アプリケーションを高度にデスクトップと統合できるようにするのに重要です。
</para>
</note>
<para>オプションの統合方法の詳細については、<emphasis>プログラマーズ・ガイド
</emphasis>を参照してください。</para>
<sect1 id="RDMAP.optin.div.2">
<title id="RDMAP.optin.mkr.2">共通デスクトップ環境Motifコントロール・ウィジェット
</title>
<para>共通デスクトップ環境Motif<indexterm><primary>ウィジェット</primary>
<secondary>共通デスクトップ環境 &lt;$startrange></secondary></indexterm>
コントロール・ウィジェットは、共通デスクトップ環境Motifに同等の機能を提供する
ことにより、
<indexterm><primary>OPEN LOOK</primary></indexterm>OPEN LOOKおよび
<indexterm><primary>Microsoft Windows</primary></indexterm>Microsoft
Windowsのアプリケーションを、共通デスクトップ環境へ移植しやくすくするよう設計
されています。共通デスクトップ環境Motifウィジェット・ライブラリ
<command>libDtWidget</command>には、すべての共通デスクトップ環境アプリケーション
に共通する機能を提供するのに使用するウィジェットと関数が含まれています。
ウィジェットが提供するものは次のとおりです。</para>
<itemizedlist remap="Bullet1"><listitem><para>テキスト・フィールドおよび矢印
ボタン・ウィジェット(<filename>DtSpinBox)
<indexterm><primary>テキスト・フィールドおよび矢印ボタン・ウィジェット
(DtSpinBox)</primary></indexterm><indexterm><primary>DtSpinBox</primary>
</indexterm><indexterm><primary>共通デスクトップ環境ウィジェット</primary>
<secondary>DtSpinBox</secondary></indexterm></filename></para>
</listitem></itemizedlist>
<figure>
<title>テキスト・フィールドおよび矢印ボタン・ウィジェット
(<command>DtSpinBox</command>)の例</title>
<graphic id="RDMAP.optin.grph.1" entityref="RDMAP.optin.fig.1"></graphic>
</figure>
<itemizedlist remap="Bullet1"><listitem><para>テキスト・フィールドおよびリスト・
ボックス・ウィジェット(<filename>DtComboBox)
<indexterm><primary>テキスト・フィールドおよびリスト・ボックス・ウィジェット
(DtComboBox)</primary></indexterm>
<indexterm><primary>DtComboBox</primary></indexterm>
<indexterm><primary>共通デスクトップ環境ウィジェット</primary>
<secondary>DtComboBox</secondary></indexterm></filename></para>
</listitem></itemizedlist>
<figure>
<title>テキスト・フィールドおよびリスト・ボックス・ウィジェット
(<command>DtComboBox</command>)の例</title>
<graphic id="RDMAP.optin.grph.2" entityref="RDMAP.optin.fig.2"></graphic>
<graphic id="RDMAP.optin.grph.4" Entityref="RDMAP.optin.fig.4"></graphic>
</figure>
<itemizedlist remap="Bullet1"><listitem><para>メニュー・ボタン・ウィジェット
(<filename>DtMenuButton)
<indexterm><primary>メニュー・ボタン・ウィジェット(DtMenuButton)</primary>
</indexterm><indexterm><primary>DtMenuButton</primary></indexterm><indexterm>
<primary>共通デスクトップ環境ウィジェット</primary>
<secondary>DtMenuButton</secondary></indexterm></filename></para>
</listitem></itemizedlist>
<figure>
<title>メニュー・ボタン・ウィジェット(<command>DtMenuButton</command>)
の例</title>
<graphic id="RDMAP.optin.grph.3" entityref="RDMAP.optin.fig.3"></graphic>
</figure>
<para>共通デスクトップ環境のMotifウィジェット・ライブラリ
<command>libDtWidget</command>は、共通デスクトップ環境のアプリケーションと
OPEN LOOKアプリケーションとの間の操作性をサポートします。つまり、カット、コピー、
ペースト、マウス・ボタン機能など、OPEN LOOKが行うのと同じ方法で動作する
アプリケーションを作成することができます。</para>
<note>
<para>共通デスクトップ環境は、<indexterm><primary>Motif</primary></indexterm>
<indexterm><primary>ウィジェット</primary><secondary>Motif</secondary></indexterm>
すべてのMotifウィジェットをサポートします。</para>
</note>
<table id="RDMAP.optin.tbl.1" frame="Topbot">
<title>共通デスクトップ環境コントロール・ウィジェット</title>
<tgroup cols="2" colsep="0" rowsep="0">
<colspec colwidth="143*">
<colspec colwidth="313*">
<thead>
<row><entry align="left" valign="bottom"><para><literal>ウィジェット名</literal></para></entry>
<entry align="left" valign="bottom"><para><literal>説明</literal></para></entry>
</row></thead>
<tbody>
<row>
<entry align="left" valign="top"><para><command>DtSpinBox</command></para></entry>
<entry align="left" valign="top"><para>数値を増減するか、ブラウズしてテキスト
文字列のリストから選択するためのコントロールを持つ<command>TextField</command>
ウィジェット</para></entry>
</row>
<row>
<entry align="left" valign="top"><para><command>DtComboBox</command></para></entry>
<entry align="left" valign="top"><para><command>TextField</command>と、
<command>TextField</command>に有効な選択項目のリストを提供するポップアップ・
リスト・ウィジェットとの組み合わせ</para></entry></row>
<row>
<entry align="left" valign="top"><para><command>DtMenuButton</command></para></entry>
<entry align="left" valign="top"><para>メニュー・バー、メニュー区画（プルダウン・
メニュー、ポップアップ・メニュー、オプション・メニュー）以外の
<command>XmCascadeButton</command>ウィジェットの機能を階層化するメニュー機能を
提供するコマンド・ウィジェット</para></entry></row></tbody></tgroup></table>
<sect2 id="RDMAP.optin.div.4">
<title>ライブラリおよびヘッダ・ファイル<indexterm><primary>共通デスクトップ環境
ウィジェット</primary><secondary>ライブラリおよびヘッダ・ファイル</secondary>
</indexterm></title>
<para>ライブラリ<command>libDtWidget</command>は、<command>DtSpinBox</command>、
<command>DtComboBox</command>、<command>DtMenuButton</command>ウィジェットへの
アクセスを提供します。 これらのウィジェットの<command>libDtWidget</command>
ヘッダ・ファイルは次のとおりです。</para>
<itemizedlist remap="Bullet1"><listitem><para><filename>Dt/SpinBox.h</filename></para>
</listitem><listitem><para><filename>Dt/ComboBox.h</filename></para>
</listitem><listitem><para><filename>Dt/MenuButton.h</filename></para>
</listitem></itemizedlist>
</sect2>
<sect2 id="RDMAP.optin.div.5">
<title>デモ・プログラム
<indexterm><primary>共通デスクトップ環境ウィジェット</primary>
<secondary>デモ・プログラム</secondary></indexterm>
<indexterm><primary>デモ・プログラム</primary></indexterm></title>
<para>共通デスクトップ環境Motifコントロール・ウィジェットのデモは、
<filename>/usr/dt/examples/dtwidget</filename>にあります。デモの詳細については、
<command>README</command>ファイルを参照してください。</para>
<sect3 id="RDMAP.optin.div.6">
<title>関連マニュアル</title>
<para>共通デスクトップ環境Motifコントロール・ウィジェットの詳細については、関連
するマニュアル・ページと<emphasis>プログラマーズ・ガイド</emphasis>を参照して
ください。
<indexterm><primary>ウィジェット</primary>
<secondary>共通デスクトップ環境 &lt;$endrange></secondary></indexterm>
</para>
</sect3>
</sect2>
</sect1>
<sect1 id="RDMAP.optin.div.7">
<title id="RDMAP.optin.mkr.3">データ型の作成</title>
<para>アプリケーションの基本的な統合方法を実行するとき、データ型を定義できます。
この節では、データ型作成の別の面、つまりアクションおよびデータ型のデータベース
から情報を抽出する方法に焦点を当てて説明します。</para>
<para>データ型を作成すると、従来の<indexterm><primary>UNIX</primary></indexterm>
UNIXファイル・システムが提供するファイルとデータの属性が拡張されます。この拡張
には、型や属性管理も含まれます。アプリケーションが外部ソースからデータを受信し
て動作する場合は、データ型作成APIを使用します。たとえば、アプリケーションで
アイコンを表示したり、システム全体に定義されているアクションを実行したりする
必要があるかもしれません。</para>
<para>データ型作成は、次の２つの部分から成ります。
<indexterm><primary>データ型の作成</primary>
<secondary>２つの部分</secondary></indexterm></para>
<itemizedlist remap="Bullet1"><listitem><para>データ基準およびデータ属性を格納
するデータベース</para>
</listitem><listitem><para>データベースを照会するルーチンの集まり</para>
</listitem></itemizedlist>
<para>データ型作成システムは、基準のセットに基づいたファイルまたはバイト・ベクタ
の型を決定します。基準には名前、アクセス権、シンボリック・リンク値、内容が含まれ
ます。型に関連付けられた属性は、説明、グラフィカルに説明を示すアイコン、説明に
適用されるアクションを含んだ、ユーザが見ることができるインタフェースを記述します。
また、属性はデータが準拠する互換フォーマットに名前をつけるためにも存在します。
</para>
<para>共通デスクトップ環境のファイル・マネージャおよび共通デスクトップ環境の
メールのアタッチメント・ウィンドウは、データ型作成によってファイルに関連する
アイコンとアクションを決定します。たとえばC ファイル
<symbol role="Variable">filename</symbol>.<command>c</command>について、ファイル・
マネージャは、.<command>c</command>という拡張子を使用してファイルのデータ型
C_SOURCEを判別します。それからC_SOURCEを使用して、
<symbol role="Variable">filename</symbol>.<command>c</command>に使用できるアイコン
のアイコン・ファイル名を決定します。</para>
<sect2 id="RDMAP.optin.div.8">
<title>データベースの読み込み
<indexterm><primary>データベース</primary><secondary>読み込み</secondary>
</indexterm>
<indexterm><primary>データ型の作成</primary>
<secondary>データベースの読み込み</secondary></indexterm></title>
<para>この節では、アクションおよびデータ型データベースを読み込むAPIについて説明
します。このAPIのシンタクスと、開発者が定義する任意の共通デスクトップ環境データ
ベースについては、<filename>/usr/dt/man/man4</filename>ディレクトリにある
マニュアル・ページで説明しています。</para>
<para>外部データベースを読み込むAPIは、次の２つの関数から成ります。</para>
<itemizedlist remap="Bullet1"><listitem><para><filename>DtDbLoad()</filename></para>
</listitem><listitem><para><filename>DtDbReloadNotify()</filename></para>
</listitem></itemizedlist>
<para><filename>DtDbLoad()</filename>はアクションおよびデータ型データベースを
読み込みます。データベース・ファイルを検索するための一連のディレクトリを決定し、
見つけた<filename>.dt</filename>をデータベースに読み込みます。アプリケーションは、
アクションおよびデータ型データベースを照会する任意のルーチンを起動する前に、
<filename>DtDbLoad()</filename>を起動する必要があります。
<indexterm><primary>DtDbLoad()</primary></indexterm>
<indexterm><primary>データベース</primary>
<secondary>DtDbLoad()</secondary></indexterm></para>
<para><filename>DtDbReLoadNotify()</filename>を使用して、アクションおよびデータ
型データベースの再読み込みイベントの通知を要求してください。アプリケーションが、
データベース再読み込みメッセージを受け取ることを登録します。
<filename><indexterm><primary>DtDbReLoadNotify()</primary></indexterm>
<indexterm><primary>データベース</primary>
<secondary>DtDbReLoadNotify()</secondary></indexterm></filename></para>
<para>アプリケーションは、データベースが変更されたら必ずデータベースを、再読み
込みしなければなりません。アプリケーションを再起動しなくても、更新があったこと
をエンド・ユーザにわかるようにするためです。</para>
</sect2>
<sect2 id="RDMAP.optin.div.9">
<title>データベースの照会
<indexterm><primary>データベース</primary><secondary>照会関数</secondary>
</indexterm><indexterm><primary>データ型の作成</primary>
<secondary>データベース照会関数</secondary></indexterm></title>
<para>データ・オブジェクトの属性を調べるには、まずオブジェクトの型を決定し、その
型に適切な属性値を求めてください。データベース照会関数により、データ型および
属性の検索、メモリの解放、データベースの読み込みと解放などのオペレーションを実行
できます。これらの関数については、<emphasis>プログラマーズ・ガイド</emphasis>
および<filename>man3</filename>ディレクトリにあるマニュアル・ページで説明してい
ます。</para>
</sect2>
<sect2 id="RDMAP.optin.div.10">
<title>ライブラリおよびヘッダ・ファイル
<indexterm><primary>データ型の作成</primary>
<secondary>ライブラリおよびヘッダ・ファイル</secondary></indexterm></title>
<para>デスクトップ・サービス・ライブラリ<command>libDtSvc</command>は、データ型
作成を含む多くのデスクトップAPIへのアクセスを提供します。データ型作成APIに
アクセスするには、<filename>Dt/Dt.h</filename>および<command>Dt/Dts.h</command>
ヘッダ・ファイルを取り込んでください。</para>
<note>
<para>アプリケーションが任意のデータ型作成APIを使用する場合、またはアクション
およびデータ型データベースを読み込む場合は、まず
<filename><indexterm><primary>DtInitialize()</primary></indexterm>
DtInitialize()</filename>または<filename>
<indexterm><primary>DtAppInitialize()</primary></indexterm>
DtAppInitialize()</filename>のいずれかを呼び出して、<command>libDtSvc</command>
ライブラリを初期化してください。詳細については、<filename>DtInitialize</filename>
(3)または<filename>DtAppInitialize</filename>(3)のマニュアル・ページを参照してく
ださい。</para>
</note>
</sect2>
<sect2 id="RDMAP.optin.div.11">
<title>デモ・プログラム<indexterm><primary>データ型の作成</primary>
<secondary>デモ・プログラム</secondary></indexterm>
<indexterm><primary>デモ・プログラム</primary></indexterm></title>
<para>データ型作成のデモは、<filename>/usr/dt/examples/dtdts</filename>にありま
す。デモの詳細については、<command>README</command>ファイルを参照してください。
</para>
<sect3 id="RDMAP.optin.div.12">
<title>関連マニュアル</title>
<para>データ型作成の詳細については、関連するマニュアル・ページと
<emphasis>プログラマーズ・ガイド</emphasis>を参照してください。</para>
</sect3>
</sect2>
</sect1>
<sect1 id="RDMAP.optin.div.13">
<title id="RDMAP.optin.mkr.4">アクションの起動</title>
<para>アクション起動APIにより、アプリケーションは、ファイルまたはバッファの
引き数上でデスクトップのアクションを起動できます。アクション引き数の
<command>Class</command>、<command>Type</command>、<command>Mode</command>、
<command>Number</command>に基づいて、ファイルまたはバッファに対して適切な
アクションを選択します。 たとえば[開く]アクションは、GIFファイルに対しては
イメージ・ビューアを、複雑なドキュメントに対してはワープロを、通常のASCII
ファイルに対しては単純なテキスト・エディタを起動します。アプリケーションは、
アクションの選択や起動の詳細に関与する必要がありません。</para>
<para>アクション起動APIを使用すると、アプリケーションは、デスクトップの他の部分
と同じ機能を使用することができます。ユーザにとっては、デスクトップの動作が一定
していることになります。</para>
<para><command>libDtSvc</command>ライブラリのアクション関数は、デスクトップの
アクション（[開く]や[印刷]など）をファイルまたはバッファに対して、起動する方法
を提供します。この関数には、アクションの動作を変更できるパラメータが含まれてい
ます。アクション起動APIは、次の関数から構成されます。
<indexterm><primary>アクションの起動</primary><secondary>API</secondary>
</indexterm></para>
<informaltable>
<tgroup cols="2" colsep="0" rowsep="0">
<?PubTbl tgroup dispwid="6.13in">
<colspec align="left" colwidth="216*">
<colspec align="left" colwidth="289*">
<tbody>
<row>
<entry align="left" valign="top"><para><filename>DtActionInvoke()</filename></para></entry>
<entry align="left" valign="top"><para>引き数に指定したアクションを起動します。
引き数はファイルかバッファです。</para></entry></row>
<row>
<entry align="left" valign="top"><para><filename>DtActionLabel()</filename></para></entry>
<entry align="left" valign="top"><para>アクションに関連した、ローカライズ可能な
ラベル文字列へのアクセスを提供します。</para></entry></row>
<row>
<entry align="left" valign="top"><para><filename>DtActionDescription()</filename></para></entry>
<entry align="left" valign="top"><para>アプリケーションが起動したアクションに
関連する説明情報を含む文字列を返します。</para></entry>
</row>
<row>
<entry align="left" valign="top"><para><filename>DtActionExists()</filename></para></entry>
<entry align="left" valign="top"><para>指名した名前が既存のアクションに対応する
かどうかをチェックするBoolean関数です。</para></entry>
</row>
<row>
<entry align="left" valign="top"><para><filename>DtActionIcon()</filename></para></entry>
<entry align="left" valign="top"><para>指定したアクションに関連するアイコンの名
前を返します。</para></entry></row></tbody></tgroup></informaltable>
<sect2 id="rdmap.optin.div.14">
<title>ライブラリおよびヘッダ・ファイル
<indexterm><primary>アクションの起動</primary>
<secondary>ライブラリおよびヘッダ・ファイル</secondary></indexterm></title>
<para>デスクトップ・サービス・ライブラリ<command>libDtSvc</command>は、アクション
など多くのデスクトップAPIへのアクセスを提供します。アクションAPIへアクセスするに
は、<filename>Dt/Dt.h</filename>および<filename>Dt/Action.h</filename>ヘッダ・
ファイルを取り込んでください。</para>
<note>
<para>アプリケーションが任意のアクション起動APIを使用する場合は、まず
<filename><indexterm><primary>DtInitialize()</primary></indexterm>
DtInitialize()</filename>または
<filename><indexterm><primary>DtAppInitialize()</primary></indexterm>
DtAppInitialize()</filename>のいずれかを呼び出して<command>libDtSvc</command>
ライブラリを初期化してください。詳細については、<filename>DtInitialize</filename>
(3)または<filename>DtAppInitialize</filename>(3)のマニュアル・ページを参照してく
ださい。</para>
</note>
</sect2>
<sect2 id="rdmap.optin.div.15">
<title>デモ・プログラム
<indexterm><primary>アクションの起動</primary>
<secondary>デモ・プログラム</secondary></indexterm>
<indexterm><primary>デモ・プログラム</primary></indexterm></title>
<para>アクション起動のデモは、<filename>/usr/dt/examples/dtaction</filename>に
あります。デモの詳細については、<command>README</command>ファイルを参照してくだ
さい。</para>
<sect3 id="rdmap.optin.div.16">
<title>関連マニュアル</title>
<para>アクションの詳細については、関連するマニュアル・ページと
<emphasis>プログラマーズ・ガイド</emphasis>を参照してください。</para>
</sect3>
</sect2>
</sect1>
<sect1 id="RDMAP.optin.div.17">
<title id="RDMAP.optin.mkr.5">ワークスペース・マネージャ</title>
<para>共通デスクトップ環境のワークスペース・マネージャは、複数のワークスペース
をサポートします。各ワークスペースは、<emphasis>仮想画面</emphasis>です。
ウィンドウは１つのワークスペース、すべてのワークスペース、個々のワークスペース
の任意の組合せいずれにも配置できます。ユーザは、ワークスペースに対して、動的
な追加、削除、名前の変更を行うことができます。</para>
<para>ワークスペース・マネージャAPIは、ウィンドウが存在するワークスペースを知る
のに必要な、またはウィンドウのワークスペースへの配置方法をコントロールするのに
必要な関数をアプリケーションに提供します。さらに、現在のワークスペースがどれで
あるかなど、ワークスペース全体の状態の変更内容をアプリケーションが監視できるよう
にします。</para>
<para>共通デスクトップ環境では、デスクトップで実行するアプリケーションはワーク
スペース・マネージャAPIの使用が必ずしも必要なわけではありません。ワークスペース・
マネージャを知らなくても、ほとんどのデスクトップ・アプリケーションが予想したとお
りに実行されます。特に、アプリケーションが１つのメイン・トップレベル・ウィンドウ
だけを持ち、ICCCM 1.1および
<indexterm><primary>Motif 1.2</primary></indexterm>Motif 1.2に従う場合は、
デスクトップで実行するアプリケーションに対して、共通デスクトップ環境ワーク
スペース・マネージャを統合する必要はありません。</para>
<para>ただし、複数のトップ・レベル・ウィンドウを持つ複雑なアプリケーションは、
アプリケーションの状態を正しく保存および復元するために、
<indexterm><primary>セッション・マネージャ</primary></indexterm>
セッション・マネージャAPIと共にワークスペース・マネージャAPIを使用する必要が
あります。ワークスペース・マネージャAPIにより、アプリケーションは、それぞれの
ウィンドウが入っているワークスペースを見つけることができます。また、セッションが
再開したときに正しいワークスペースにウィンドウを表示することもできます。</para>
<para>ワークスペース・マネージャAPIは、次の作業を行います。</para>
<itemizedlist remap="Bullet1"><listitem><para>ワークスペースの情報の獲得</para>
</listitem><listitem><para>現在のワークスペースの獲得と設定</para>
</listitem><listitem><para>ワークスペースの状態の変更内容のクライアントへの通知
</para>
</listitem><listitem><para>クライアント向けワークスペース関数の追加と削除</para>
</listitem><listitem><para>クライアントが使用しているワークスペースの獲得と設定
</para>
</listitem><listitem><para>背景ウィンドウの識別</para>
</listitem></itemizedlist>
<para>すべてのワークスペース・マネージャAPI関数は、接頭辞<command>DtWsm</command>
を共用します。</para>
<sect2 id="RDMAP.optin.div.18">
<title>ライブラリおよびヘッダ・ファイル
<indexterm><primary>ワークスペース・マネージャ</primary>
<secondary>ライブラリおよびヘッダ・ファイル</secondary></indexterm></title>
<para>デスクトップ・サービス・ライブラリ<command>libDtSvc</command>は、ワーク
スペース・マネージャなど多くのデスクトップAPIへのアクセスを提供します。ワーク
スペース・マネージャAPIへアクセスするには、<filename>Dt/Dt.h</filename>および
<filename>Dt/Wsm.h</filename>ヘッダ・ファイルを取り込んでください。</para>
<note>
<para>アプリケーションが任意のワークスペース・マネージャAPIを使用する場合は、
まず、
<filename><indexterm><primary>DtInitialize()</primary></indexterm>
DtInitialize()</filename>または
<filename><indexterm><primary>DtAppInitialize()</primary></indexterm>
DtAppInitialize()</filename>のいずれかを呼び出して<command>libDtSvc</command>
ライブラリを初期化してください。詳細については、<filename>DtInitialize</filename>
(3)または<filename>DtAppInitialize</filename>(3)のマニュアル・ページを参照して
ください。</para>
</note>
</sect2>
<sect2 id="RDMAP.optin.div.19">
<title>デモ・プログラム
<indexterm><primary>ワークスペース・マネージャ</primary>
<secondary>デモ・プログラム</secondary></indexterm>
<indexterm><primary>デモ・プログラム</primary></indexterm></title>
<para>ワークスペース・マネージャのデモは、
<filename>/usr/dt/examples/dtwsm</filename>にあります。デモの詳細については、
<command>README</command>ファイルを参照してください。</para>
<sect3 id="RDMAP.optin.div.20">
<title>関連マニュアル</title>
<para>ワークスペース・マネージャの詳細については、関連するマニュアル・ページと
<emphasis>プログラマーズ・ガイド</emphasis>を参照してください。</para>
</sect3>
</sect2>
</sect1>
<sect1 id="RDMAP.optin.div.21">
<title id="RDMAP.optin.mkr.6">端末エミュレータ・ウィジェット</title>
<para><command>DtTerm</command>ウィジェットは、ANSI X3.64-1979型端末エミュレータ
（特に拡張されたDEC VT220仕様の端末）をエミュレートするのに必要な機能を提供
します。端末エミュレータ・ウィジェット・ライブラリ<filename>libDtTerm</filename>
は、端末エミュレータ・ウィンドウをGUIに追加するのに使用する
<command>DtTerm</command>ウィジェットを提供します。端末エミュレータをアプリケー
ションに取り込む場合は、共通デスクトップ環境Motifウィジェットを使用して、ポッブ
アップ・メニューやスクロール・バーなど表示の拡張機能を追加してください。
<indexterm><primary>DEC VT220</primary></indexterm>
<indexterm><primary>端末エミュレータ</primary>
<secondary>DEC VT220仕様</secondary></indexterm>
<indexterm><primary>ウィジェット</primary><secondary>DtTerm</secondary>
</indexterm>
<indexterm><primary>端末エミュレータ</primary>
<secondary>DtTermウィジェット</secondary></indexterm></para>
<para>共通デスクトップ環境の端末エミュレータは、実行環境の一部ですが、端末として
動作し、デスクトップから従来の端末ベースのアプリケーションへのアクセスを可能に
するウィンドウです。<command>DtTerm</command>ウィジェットは、デスクトップの実行
時の端末エミュレータ<command>dtterm</command>の基礎となるものです。
<indexterm><primary>実行環境</primary><secondary>端末エミュレータ</secondary>
</indexterm></para>
<para><command>libDtTerm</command>ライブラリには、<command>DtTerm</command>
ウィジェットを作成、アクセス、サポートするのに便利な一連の関数が入っています。
</para>
<sect2 id="RDMAP.optin.div.22">
<title>ライブラリおよびヘッダ・ファイル
<indexterm><primary>端末エミュレータ・ウィジェット</primary>
<secondary>ライブラリおよびヘッダ・ファイル</secondary></indexterm></title>
<para><command>libDtTerm</command>ライブラリは、端末エミュレータの設計や、端末
エミュレータ・ウィンドウのGUIへの追加を行うため、Motifに基づいた一連のウィジェット
を提供します。</para>
<para><command>libDtTerm</command>のAPIへアクセスするには、
<filename>Dt/Term.h</filename>ヘッダ・ファイルをアプリケーションに取り込んで
ください。</para>
</sect2>
<sect2 id="RDMAP.optin.div.23">
<title>デモ・プログラム
<indexterm><primary>端末エミュレータ・ウィジェット</primary>
<secondary>デモ・プログラム</secondary></indexterm>
<indexterm><primary>デモ・プログラム</primary></indexterm></title>
<para>端末エミュレータのデモは、<filename>/usr/dt/examples/dtterm</filename>に
あります。デモの詳細については、<command>README</command>ファイルを参照してくだ
さい。</para>
<sect3 id="RDMAP.optin.div.24">
<title>関連マニュアル</title>
<para><command>DtTerm</command>ウィジェットの詳細については、関連するマニュアル・
ページを参照してください。</para>
<para>デスクトップ端末エミュレータの詳細については、端末エミュレータ・ヘルプ・
ボリューム、関連マニュアル・ページ、<emphasis>ユーザーズ・ガイド</emphasis>を
参照してください。</para>
</sect3>
</sect2>
</sect1>
<sect1 id="RDMAP.optin.div.25">
<title id="RDMAP.optin.mkr.7">テキスト・エディタ・ウィジェット</title>
<para>共通デスクトップ環境のテキスト編集システムは、次の２つのコンポーネントから
成ります。</para>
<itemizedlist remap="Bullet1"><listitem><para><command>グラフィカル・
インタフェース、アクション・インタフェース、ToolTalkインタフェースによって編集
サービスが行えるようにする、テキスト・エディタ・アプリケーションdtpad</command>
<command><indexterm><primary>dtpad</primary></indexterm>
<indexterm><primary>テキスト・エディタ</primary><secondary>dtpad</secondary>
</indexterm></command></para></listitem>
<listitem><para><command>次の編集サービスに関してプログラム・インタフェースを
提供するエディタ・ウィジェット、DtEditor</command>
<command><indexterm><primary>テキスト・エディタ</primary>
<secondary>DtEditorウィジェット</secondary></indexterm></command></para>
<itemizedlist remap="Bullet2"><listitem><para>カット＆ペースト</para>
</listitem><listitem><para>検索と置換</para>
</listitem><listitem><para>簡単なフォーマット</para>
</listitem><listitem><para>スペルチェック（８ビットのロケール用）</para>
</listitem><listitem><para>前の編集を元に戻す</para>
</listitem><listitem><para>ASCIIテキスト、マルチバイト・テキスト、データの
バッファの入出力をサポートする拡張I/O処理機能</para>
</listitem><listitem><para>ファイルの直接読み取りと書き込みのサポート</para>
</listitem></itemizedlist>
</listitem></itemizedlist>
<para>Motifテキスト・ウィジェットもプログラム・インタフェースを提供しますが、
システム全体で統一されたエディタを要求するアプリケーションは、
<command>DtEditor</command>ウィジェットを使用してください。共通デスクトップ環境
テキスト・エディタおよびメール・プログラムは、エディタ・ウィジェットを使用します。
このウィジェットを次のような場合に、使用してください。
<indexterm><primary>テキスト・エディタ</primary>
<secondary>ウィジェットを使用する場合 &lt;$startrange></secondary>
</indexterm></para>
<itemizedlist remap="Bullet1"><listitem><para>スペルチェック、元へ戻す、検索/変更
などの<command>DtEditor</command>ウィジェットが提供する機能が必要な場合</para>
</listitem><listitem><para>ユーザがファイルのデータを読み書きできるようにする場合
</para>
</listitem><listitem><para>プログラムがテキストの編集をする必要がなくても、
ウィジェットがテキストを制御している場合
<indexterm><primary>テキスト・エディタ</primary>
<secondary>ウィジェットを使用する場合 &lt;$endrange></secondary></indexterm>
</para>
</listitem></itemizedlist>
<sect2 id="RDMAP.optin.div.26">
<title>ライブラリおよびヘッダ・ファイル
<indexterm><primary>テキスト・エディタ</primary>
<secondary>ライブラリおよびヘッダ・ファイル</secondary></indexterm></title>
<para><command>DtEditor</command>ウィジェットは、<command>libDtWidget</command>
ライブラリにあります。ヘッダ・ファイルは、<filename>Dt/Editor.h</filename>です。
</para>
</sect2>
<sect2 id="RDMAP.optin.div.27">
<title>デモ・プログラム 
<indexterm><primary>テキスト・エディタ</primary>
<secondary>デモ・プログラム</secondary></indexterm></title>
<para>デモは、<filename>/usr/dt/examples/dtwidget</filename>ディレクトリにあり、
<command>DtEditor</command>ウィジェット(<filename>editor.c</filename>)の例が入って
います。デモの詳細については、<command>README</command>ファイルを参照してくださ
い。</para>
<sect3 id="RDMAP.optin.div.28">
<title>関連マニュアル</title>
<para>テキスト・エディタ・ウィジェットの詳細については、関連するマニュアル・
ページと<emphasis>プログラマーズ・ガイド</emphasis>を参照してください。</para>
</sect3>
</sect2>
</sect1>
<sect1 id="RDMAP.optin.div.29">
<title id="RDMAP.optin.mkr.8">カレンダ</title>
<para>共通デスクトップ環境のカレンダは、ネットワーク環境でユーザが時間とリソース
をスケジュール調整できるようにする、インフラストラクチャとAPIから成ります。
カレンダGUIは、共通デスクトップ環境の実行環境の一部です。
<indexterm><primary>実行環境</primary><secondary>カレンダGUI</secondary>
</indexterm></para>
<para>カレンダは、次の３つから成ります。</para>
<itemizedlist remap="Bullet1"><listitem><para>カレンダ・データベースを管理する
デーモン</para>
</listitem><listitem><para>カレンダを使用するアプリケーションが、デーモンが
サポートする機能にアクセスできるように一連のハイレベル関数を定義するカレンダおよ
び、スケジュール調整API</para>
</listitem><listitem><para>カレンダおよびスケジュール調整APIのライブラリ実装
</para>
</listitem></itemizedlist>
<para>また、GUIとTTYの両方の対話に対するユーザ・インタフェースを提供します。
システムは、カレンダ項目の入力、削除、変更だけでなく、ブラウズおよび検索機能も
サポートします。これらの機能すべてに、ネットワークからアクセスできます。</para>
<para>開発環境は、クライアントがカレンダ・データへアクセスするためのライブラリを
提供します。ユーザが独自のカレンダ項目属性を定義できるように拡張できます。
ライブラリは、データベースの更新を通知するためのクライアント・コールバック機能
を提供します。</para>
<para>カレンダ・デーモンは、カレンダおよびスケジュール調整APIコールのライブラリ
の背後にあるサービスを実装しています。カレンダ項目の削除、挿入、変更をサポート
しています。また、カレンダ通知を管理し、カレンダ・データベースの作成および
削除をサポートします。さらに、カレンダ・データの検索機能も提供します。</para>
<para>カレンダ項目データは、ドラッグ＆ドロップおよびToolTalkメッセージ・インタ
フェースによってデスクトップと統合します。</para>
<para>カレンダおよびスケジュール調整APIは、アプリケーション・プログラミング・
インタフェース・アソシエーション
<indexterm><primary>X.400 API アソシエーション(XAPIA)</primary></indexterm>
<indexterm><primary>カレンダ</primary><secondary>XAPIA</secondary></indexterm>
XAPIA(X.400)カレンダおよびスケジュール調整API 1.0を実現したものです。カレンダお
よびスケジュールAPIを使用してアプリケーションにカレンダを統合するか、独自の
カレンダ・アプリケーションを開発してください。</para>
<sect2 id="RDMAP.optin.div.30">
<title>ライブラリおよびヘッダ・ファイル
<indexterm><primary>カレンダ</primary>
<secondary>ライブラリおよびヘッダ・ファイル</secondary></indexterm></title>
<para>カレンダ・ライブラリ <command>libcsa</command>は、ネットワーク環境において
カレンダ・データにアクセスし、管理するプログラム方法を提供します。</para>
<para><command>libcsa</command>のAPIにアクセスするには、
<filename>csa/csa.h</filename>ヘッダ・ファイルをアプリケーションに取り込んでくだ
さい。</para>
</sect2>
<sect2 id="RDMAP.optin.div.31">
<title>デモ・プログラム
<indexterm><primary>カレンダ</primary><secondary>デモ・プログラム</secondary>
</indexterm><indexterm><primary>デモ・プログラム</primary></indexterm></title>
<para>カレンダのデモは、<filename>/usr/dt/examples/dtcalendar</filename>にありま
す。デモの詳細については、<command>README</command>ファイルを参照してください。
</para>
<sect3 id="RDMAP.optin.div.32">
<title>関連マニュアル</title>
<para>カレンダの詳細については、関連するマニュアル・ページ、カレンダのヘルプ・
ボリューム、<emphasis>プログラマーズ・ガイド</emphasis>を参照してください。</para>
</sect3>
</sect2>
</sect1>
<sect1 id="RDMAP.optin.div.32a">
<title id="RDMAP.optin.mkr.8a">インフォメーション・マネージャ</title>
<para><indexterm><primary>インフォメーション・マネージャ</primary>
<secondary>一般情報</secondary></indexterm>
インフォメーション・マネージは、ブックケース、ブック、セクション、サブセクション
といった通常のハードコピー・マニュアルのように構成されたオンライン・マニュアル
へのアクセスを提供します。インフォメーション・マネージャは、ヘルプ機能とは異な
ります。</para>
<sect2 id="RDMAP.optin.div.32b">
<title>ヘッダ・ファイル</title>
<indexterm><primary>インフォメーション・マネージャ</primary>
<secondary>ヘッダ・ファイル</secondary></indexterm>
<para>ヘッダ・ファイルは、以下のとおりです。
</para>
<itemizedlist>
<listitem>
<para><Filename>/usr/dt/include/Dt/Info.h</Filename>
</para>
</listitem>
<listitem>
<para><Filename>/usr/dt/include/Dt/Search.h</Filename>
</para>
</listitem>
<listitem>
<para><Filename>/usr/dt/include/Dt/Mmdb.h</Filename> (デフォルト・ブラウザ
<command>dtinfo</command>の拡張または、置換用）
</para>
</listitem>
</itemizedlist>
</sect2>
<sect2 id="RDMAP.optin.div.32c">
<title>関連マニュアル</title>
<indexterm><primary>インフォメーション・マネージャ</primary>
<secondary>マニュアル</secondary></indexterm>
<para>インフォメーション・マネージャの詳細については、
<citetitle>インフォメーション・システム　設計者およびプログラマのためのガイド
</citetitle>を参照してください。</para>
</sect2>
</sect1>
<sect1 id="RDMAP.optin.div.33">
<title id="RDMAP.optin.mkr.9">デスクトップKornShell(dtksh)</title>
<para>デスクトップKornShell
<indexterm><primary>dtksh</primary></indexterm>
<indexterm><primary>デスクトップKornShell(dtksh)</primary></indexterm>
(<command>dtksh</command>)は、シェル・スクリプトによってグラフィック・ユーザ
対話を行う方法を提供します。ユーザ・インタフェース機能は、共通デスクトップ環境
Motifウィジェット・セット、Xtイントリンシクス、X11ライブラリに基づいています。
</para>
<para><command>dtksh</command>は、多くのX、Xt、Motif、および共通デスクトップ環境
の機能にアクセスできるよう拡張した
<filename><indexterm><primary>ksh-93</primary></indexterm>
ksh-93</filename>バージョンです。<filename>ksh-93</filename>は、コマンド・シェル
およびプログラミング言語<command>ksh</command>である
<indexterm><primary>KornShell</primary></indexterm>KornShellのバージョンです。
<command>dtksh</command>は、次のものをサポートするよう<command>ksh</command>を
拡張したものです。
<emphasis><indexterm><primary>デスクトップKornShell(dtksh)</primary>
<secondary>kshの拡張</secondary></indexterm></emphasis></para>
<itemizedlist remap="Bullet1"><listitem><para>シェル・スクリプトから共通デスク
トップ環境Motifウィジェット・セットへのアクセス</para>
</listitem><listitem><para>完全にローカライズされたシェル・スクリプト。
<command>dtksh</command>スクリプトは、<command>catopen</command>および
<command>catgets</command>コマンドを使用できます。</para>
</listitem><listitem><para>共通デスクトップ環境のアプリケーションのヘルプ・
システムへのアクセス</para>
</listitem><listitem><para>セッション管理保存状態指示への応答</para>
</listitem><listitem><para>ほとんどの共通デスクトップ環境のデスクトップ・
サービス・メッセージ・セットへのアクセス</para>
</listitem><listitem><para>多数の共通デスクトップ環境のデータ型作成API関数への
アクセス</para>
</listitem><listitem><para>ほとんどの共通デスクトップ環境のアクションAPI関数への
アクセス</para>
</listitem></itemizedlist>
<sect2 id="RDMAP.optin.div.34">
<title>デモ・プログラム
<indexterm><primary>デスクトップKornShell(dtksh)</primary>
<secondary>デモ・プログラム</secondary></indexterm>
<indexterm><primary>デモ・プログラム</primary></indexterm></title>
<para><command>dtksh</command>のデモは、
<filename>/usr/dt/examples/dtksh</filename>にあります。デモの詳細については、
<command>README</command>ファイルを参照してください。</para>
<sect3 id="RDMAP.optin.div.35">
<title>関連マニュアル<?Pub Caret></title>
<para><command>dtksh</command>の詳細については、関連するマニュアル・ページと、
<emphasis>デスクトップ KornShell ユーザーズ・ガイド</emphasis>を参照してくだ
さい。
<indexterm><primary>オプションの統合方法 &lt;$endrange></primary></indexterm>
<indexterm><primary>統合</primary><secondary>オプション</secondary></indexterm>
<indexterm><primary>統合のレベル</primary><secondary>オプション &lt;
$endrange></secondary></indexterm></para>
</sect3>
</sect2>
</sect1>
</chapter>
<!--fickle 1.14 mif-to-docbook 1.7 01/02/96 04:30:53-->
<?Pub *0000039352>
