Solaris 共通デスクトップ環境 Motif への移行

第 4 章 開発環境の移行に関する問題

OPEN LOOK または Motif アプリケーションを Solaris CDE デスクトップに移行する場合は、グラフィカルユーザインタフェース (GUI) の移行だけでなく開発環境の移行も検討する必要があります。OpenWindows と Solaris CDE の開発環境は、さまざまな違いがありますが似ている部分もあります。この章では、この 2 つの開発環境を比較します。

Solaris CDE のデスクトップは、OpenWindows 環境の一部である X サーバに基づいています。たとえば Display PostScript(TM) (DPS)、XILTM、XGLTM ライブラリには、Solaris CDE からアクセスできます。

Solaris CDE に固有の機能

この節では、OpenWindows 環境に類似するものがない Solaris CDE 開発環境だけに組み込まれている機能について説明します。

OpenWindows 開発環境と Solaris CDE 開発環境の比較

この節では、OpenWindows と Solaris CDE の開発環境に共通するが実装が異なる機能を比較します。

GUI アプリケーションビルダ

OpenWindows 開発環境と Solaris CDE 開発環境には、GUI アプリケーションビルダが組み込まれています。

Devguide を使用してアプリケーションを構築したことがあれば、すぐに CDE アプリケーションビルダに慣れることができるでしょう。パレットは視覚的に似ています。また、開発とテスト機能やプロジェクトの構築機能などの Devguide の大部分の機能を利用できます。

AppBuilder の詳細は、『共通デスクトップ環境 プログラマ概要』と『共通デスクトップ環境 アプリケーション・ビルダ・ユーザーズ・ガイド』を参照してください。

ドラッグ&ドロップ

OpenWindows のドラッグ&ドロップと CDE のドラッグ&ドロップは、基礎となっている基本的機能は似ています。どちらのバージョンのドラッグ&ドロップにも、ユーザから見ると同じ結果をもたらす汎用 API が含まれています。

ただし CDE のドラッグ&ドロップには、次の 2 つの目的に役立つ「簡易」API も含まれています。

OpenWindows 環境には、ドラッグ&ドロップポリシーに関する規約がありますが、ポリシーの実装は開発者にまかされています。OPEN LOOK アプリケーション内でドラッグ&ドロップを使用する場合は、作成したデータ転送コードの大部分を CDE の簡易 API を使用して圧縮できます。

CDE のドラッグ&ドロップの詳細は、『共通デスクトップ環境 プログラマ概要』と『Solaris 共通デスクトップ環境 プログラマーズ・ガイド』を参照してください。

ToolTalk メッセージ

OpenWindows ToolTalk メッセージサービスは、CDE ToolTalk メッセージサービスとの互換性があります。また、CDE ToolTalk メッセージサービスには、OpenWindows ToolTalk の機能に加えて次の機能があります。

ToolTalk の CDE 拡張機能の詳細は、『共通デスクトップ環境 プログラマ概要』、『共通デスクトップ環境 ToolTalk メッセージの概要』、および tttrace(1)ttsnoop(1) のマニュアルページを参照してください。

入力

OpenWindows の「分類機構」はファイルの特性、つまり属性を識別します。分類機構により、特定のファイルタイプの印刷方法、アイコン、「オープン」コマンドなどの属性を指定します。分類機構は、次の 2 つの部分で構成されています。

Solaris CDE の「データ入力」「アクション」は、分類機構に似ています。データ入力メカニズムは、2 つのテーブル (DATA_ATTRIBUTES と DATA_CRITERIA) で構成されています。この 2 つのテーブルで、特定のファイルタイプのアイコン、アクション、コマンドなどの属性を指定します。DATA_CRITERIA は、分類機構のファイル名空間に相当します。DATA_ATTRIBUTES は、分類機構のタイプ名空間に相当します。DATA_ATTRIBUTES テーブル内のアクションフィールドは、分類機構の以前の印刷方式と開く方式に相当します。Solaris CDE 開発環境では、このフィールドは ACTION という別のテーブルの参照として機能し、従来の分類機構方式から大幅に拡張されています。

データ入力とアクションの詳細は、『共通デスクトップ環境 プログラマ概要』と『Solaris 共通デスクトップ環境 プログラマーズ・ガイド』を参照してください。

ヘルプ

CDE のヘルプは、次の 3 つの部分が OpenWindows のヘルプと異なります。

CDE ヘルプシステムの詳細は、『共通デスクトップ環境 プログラマ概要』と『共通デスクトップ環境 プログラマーズ・ガイド (ヘルプ・システム編)』を参照してください。

ユーザモデル

OpenWindows のユーザモデルはきわめて単純です。アプリケーション内でヘルプを表示したい部分にポインタを合わせて Help キーを押します。

CDE のユーザモデルは似ていますが、多少の違いがあります。アプリケーションで入力フォーカスが配置されている部分のヘルプが表示されます。つまり、ある部分のヘルプを表示するには、アプリケーション内でその部分を選択してから Help キーを押さなければなりません。

CDE のヘルプでは、入力フォーカスを配置できないオブジェクトについては「アイテムヘルプ」を表示します。ユーザがこれらの項目のヘルプにアクセスできるように、アプリケーションの「ヘルプ」メニューに「アイテムヘルプ」選択を組み込まなければなりません。

プログラミング作業

OLIT と XView のヘルプの作成作業はよく似ています。どちらの場合も、アプリケーションにはウィジェットまたはオブジェクトに該当するテキストがそれぞれ表示されます。ユーザが Help キーを押すと、OpenWindows のウィンドウマネージャはどちらのアプリケーションで処理すべきか判断し、そのアプリケーションにイベントを振り分けます。

OLIT には特殊な Help ウィジェットがあり、XView には Help フレームがあり、Help ダイアログ表示領域に正しい情報を取り込んでそのダイアログを画面に表示します。OLIT に OLRegisterHelp() への関数呼び出しを組み込むか、XView 内でオブジェクト属性を設定してウィジェット (オブジェクト) に関するヘルプを使用可能にする必要があります。

アプリケーションに CDE ヘルプ機能を持たせるには、必ず次の操作を実行してください。

  1. すべての関連ウィジェット上でヘルプコールバックを設定します。

    これらのコールバックが、関連付けられたウィジェットのヘルプ情報を提供できるようにしなければなりません。

  2. ヘルプダイアログを作成して管理します。

    CDE には、ヘルプダイアログボックスと簡易ヘルプダイアログを作成する DtHelpDialogDtHelpQuickDialog ウィジェットがあります。CDE には、ヘルプを表示する 1 つの共用ヘルプダイアログはありません。

  3. アイテムヘルプを実装します。

    この操作のためのソースコードについては、『共通デスクトップ環境 プログラマーズ・ガイド (ヘルプ・システム編)』を参照してください。

豊富なヘルプシステム

OpenWindows のヘルプにはヘルプダイアログが 1 つあり、テキストしか配置できません。CDE のヘルプははるかに豊富です。CDE には、簡易ヘルプとフルヘルプがあります。また、ヘルプダイアログにはテキストだけでなく、カラーグラフィックスやハイパーリンクなど多彩な要素を取り込むことができます。ヘルプを印刷したり、ナビゲーション機能を使用してさまざまなウィジェットに添付されたヘルプを重ね合わせたり移動したりできます。

国際化

CDE アプリケーションだけでなく、OpenWindows アプリケーションも国際化できます。OpenWindows アプリケーションを国際化する手順のうち、CDE 環境内と OpenWindows 環境内とでは異なる部分については、付録 B 「国際化と CDE」 で説明します。

CDE アプリケーションの国際化の詳細は、『共通デスクトップ環境 プログラマ概要』と『共通デスクトップ環境 プログラマーズ・ガイド (国際化対応編)』を参照してください。

フォント

OpenWindows 環境では、デフォルトのフォントタイプは Lucida です。これは CDE デスクトップでも同じなので、CDE ユーザにとっては OpenWindows デスクトップとのフォントスタイルの違いはわかりません。

OpenWindows 環境内のフォントには所有権を伴うフォント名が付いていますが、CDE では公開されています。すべての CDE フォント名は -dt- で始まり、すべての CDE プラットフォームで共通です。CDE と OpenWindows のフォントは、X11 XLFD フォント仕様に準拠しています。

OpenWindows 環境でも CDE 環境でも、アプリケーションがシステムフォントのデフォルト値を無効にすることはありません。このためユーザは、各自のデスクトップをカスタマイズできます。OpenWindows 環境では、「ワークスペースプロパティ」デスクトップアプリケーションからフォントのタイプとスタイルを選択できます。CDE では、スタイルマネージャからフォントサイズを選択できます。

OpenWindows 環境では、アプリケーションを実行するロケール用のフォントを指定する必要があります。CDE インタフェースフォントを使用すると、アプリケーションはすべてのロケールやデスクトップで同じように動作します。アプリケーションフォントを使用する場合は、従来どおりアジアロケール用のフォントを指定しなければなりません。

CDE フォントの別名 (エイリアス) は、/usr/dt/config/xfonts/<locale> にあります。この場合 <locale> は、該当するロケールのディレクトリです。スタイルマネージャが使用するデフォルトのフォントリソースは、/usr/dt/config/<locale>/sys.fonts に入っています。

CDE フォントの詳細は、『共通デスクトップ環境 プログラマ概要』と『Solaris 共通デスクトップ環境 プログラマーズ・ガイド』を参照してください。

Motif のアプリケーションと配色

CDE 環境では Motif 用の色のしきい値が変更されます。したがって、Motif のアプリケーションで、Solaris CDE での配色が OpenWindows 環境とは異なる場合があります。