Sun WorkShop Visual の新機能 | ![]() ![]() ![]() ![]() ![]() |
Sun WorkShop Visual 6 の新機能
はじめに
本書では、Sun WorkShop Visual 6 の新機能および主要な変更点について説明します。Sun WorkShop Visual 5 のユーザーズガイドとあわせてご覧ください。参照先として記述されているページ、節、章は、すべて Sun WorkShop Visual 5 のユーザーズガイドのものです。
Sun WorkShop Visual 6 での主な変更個所は以下のとおりです。
Java Swing コードの生成
Sun WorkShop Visual は Swing コンポーネントセットを使用するためのコードも生成できるようになりました。Swing コンポーネントは JFC (Java Foundation Classes) を使用しているため、ウィンドウシステムに依存しないコンポーネントを作ることができます。また、JFC の機能である「プラグイン可能な Look & Feel」も実現できるため、主要な Java プラットフォーム (Microsoft Windows、Solaris、Macintosh) のいずれの Look & Feel にも対応可能な、単一のユーザーインタフェースを作ることができます。この Look & Feel は、実行時にアプリケーションを再起動しなくても切り替えることができます。Swing によって、一貫性のあるインタフェースを持つ、プラットフォームに依存しないアプリケーションを開発できます。
自分のデザインから Swing コードを生成した場合、CLASSPATH に Swing の jar ファイルのパスも含める必要があります。ただし Java 2 を使用している場合は、その中に Swing コンポーネントが含まれているため、この設定は必要ありません。
自分のデザインから Swing コードを生成するには、図 1 に示すように「Java オプション」ダイアログで Java バージョンとして「Swing」を選択します。このダイアログは、生成する言語として Java を選択して「コード生成」ダイアログを起動し、そこで「Java オプション」ボタンを押すと表示されます。Java のバージョンに「Swing」を選択すると、生成されたアプリケーションは Java 1.0、1.2、および Java 2 と互換性のあるすべてのバージョンで実行できます。
図 1 Swing 生成オプション![]()
リソースパネルには新しい Java アイコンが表示されます。
図 2 Swing 用のアイコンが表示されたリソースパネルという、コーヒーカップに「S」という文字が付いたアイコンは、そのリソースが Swing でサポートされていることを示しています。図 2 に、この Swing のアイコンを含むリソースパネルを示します。
Motif ウィジェットから Swing コンポーネントへのマッピング
Motif ベースのデザインを Swing コンポーネントを使って Java コードとして生成する場合、Sun WorkShop Visual はデザイン中の各 Motif ウィジェットを Swing コンポーネントにマップしようとします。完全に一致するマップ先がない場合は、Sun WorkShop Visual は自分自身の MWT ライブラリを使用して Swing コンポーネントを「模倣」し、そのウィジェットに対するコードを生成します。次の表に各 Motif ウィジェットのマッピングを示します。
MFC コード生成の機能改善
Sun WorkShop Visual で作成したデザインから生成される MFC コードの機能は、大幅に改善されました。この内容は、ユーザーインタフェースには影響がありません。以降では、実際の改善内容について詳しく説明します。
イベントハンドラ
ユーザーズガイドの 237 ページの「イベントハンドラ」では、Sun WorkShop Visual でデザイン中のウィジェットにイベントハンドラを追加する方法について説明しています。Motif ウィジェットに使用できる大部分のイベントマスクは、Microsoft Windows コードにマップできます。マッピング内容は次の表のとおりです。
プロジェクトファイル
図 3 に示すように、「コードオプション」ダイアログにトグルが追加されました。このトグルをオンにすると、Microsoft Visual C++ で使用できるプロジェクトファイルが生成されます。これによって、デザイン用に Microsfot Windows コードを生成するたびにプロジェクトファイルを個別に生成する必要がなくなります。このトグルはデフォルトでオンに設定されています。
- <generate_filename>
.dsw
- 主要なプロジェクトファイル。このファイルは、次に挙げるファイル中の情報を使用します (<generate_filename> には、生成するファイルとして指定した名前が入ります)。- <generate_filename>
.dsp
- 生成されたファイルに関する情報が含まれています。上記のファイルを使用するには、Microsoft Visual C++ で主要なプロジェクトファイル (接尾辞
図 3 「コードオプション」ダイアログ.dsw
のファイル) を開きます。生成されたプロジェクトファイルは Visual C++ のバージョン 5 および 6 で使用できます。
MFC バージョン 4 用の機能改善
以前のバージョンの Sun WorkShop Visual では MFC 4 機能拡張を利用するには、「コード生成」ダイアログから表示される「コードオプション」ダイアログでトグルをオンに設定しなければなりませんでした。Sun WorkShop Visual 6 では、この機能はリソース mfcFourEnhancements として組み込まれました。このリソースを true に設定すると、MFC バージョン 4 の拡張された作成関数を使用したコードを生成でき、アプリケーションに立体的な Look & Feel を持たせることができます。また、このリソースを true にすることで、ラベルおよびアイコンにビットマップがマップされるため、選択不可にする必要のない 3D ボタンおよびイメージをデザイン中で使用できます。この方法で追加されたイメージは、自分自身の自然なサイズを検知できるため、意図したとおりに Motif デザインを表現することができます。このリソースはデフォルトで true に設定されています。「コードオプション」ダイアログにあった MFC 4 機能拡張のトグルは、このバージョンから削除されました。
アプリケーションシェル
生成された MFC コードで、アプリケーションシェルは CDialog を継承するようになりました。つまり、ダイアログ自体を選択した状態で Enter キーを押すとアプリケーションが閉じます。この動作を使用したくない場合は、OnOK と OnCancel の 2 つのメソッドをそのダイアログのスタブファイルに生成します。これらのメソッドは、スタブファイルに追加したその他のメソッドと同様に、コードを再生成した場合にも保持されます。
Microsoft Windows でのヘルプ
Microsoft Windows コードにマップされる「Activate Help」コールバックを指定できるようになりました。
生成されたアプリケーションを Microsoft Windows 上で実行すると、「Activate Help」コールバックが、指定された URL と事前に定義されたヘルプのパスを使用して、システムのデフォルトの Web ブラウザを起動します。ヘルプのパスは「モジュール」メニューの「ヘルプのデフォルト」で表示される「ヘルプのデフォルト」ダイアログで指定します。デフォルトのパスはアプリケーションに含まれる HTML のルートになります。
HTML ファイルを複数のプラットフォームで開けるようにするには、プラットフォームに応じて HTML のルートへのパスを変更可能にする必要があります。たとえば、
c: \program files\myapp\myhtml
というパス名は Motif 版ヘルプシステムでは使用できません。このような設定がより簡単にできるように、Sun WorkShop Visual は次の構造をスタブファイルおよびmain
コードファイルに生成します。#ifndef DUAL_PLATFORM char * _xd_help_path = "c:\\program files\\myapp\\myhtml\\" #else extern char * _xd_help_path; #endif#ifndef DUAL_PLATFORM extern char * _xd_help_path; #else char * _xd_help_path = "c:\\program files\\myapp\\myhtml\\" #endifこの構造は変更および拡張できます。変更した内容はコードを再生成した場合にも保持されます。この構造を利用すると、次の例のようにプラットフォームごとにヘルプのパスを指定することができます。
#ifndef DUAL_PLATFORM extern char * _xd_help_path; #else #ifdef WIN32 char * _xd_help_path = "c:\\program files\\myapp\\myhtml\\" #else char * _xd_help_path = "/opt/myapp/HTML" #endifこのコードを追加して、アプリケーション用のプロジェクト設定に上記の
DUAL_PLATFORM
を指定します。絶対パス名を指定したくない場合はこの仕組みを利用して、環境変数や登録されている設定を取り出すこともできます。スクロールウィンドウのマッピング
「スクロールウィンドウ」ウィジェットの「スクロール方針」リソースが「自動」に設定されている場合は、スクロールウィンドウは生成された MFC コードでは CScrollView にマップされるようになりました。
ユーザー定義ウィジェット用の Java コード
Sun WorkShop Visual は、デザイン中のユーザー定義ウィジェットに対して Java コードを生成します。これには、ユーザー定義ウィジェットから Java コンポーネントへのマッピングを実現するための、特別に構成されたリソースファイルが使用されます。Sun WorkShop Visual に付属しているすべての統合キット (ユーザーズガイドの 720 ページの「事前構成済み統合キットの使用」を参照) には、このリソースファイルが含まれています。
$
VISUROOT/user_widgets/<USER_WIDGET_SET>/app-defaults/
visu上記の VISUROOT は Sun WorkShop Visual のインストールディレクトリ、<USER_WIDGET_SET> は使用するウィジェットセットの名前です (XRT や Athena など)。
独自の統合キットを作成した (または今後作成する) 場合、独自のリソースファイルを作成してもかまいません。Java コード生成に関連するリソースは、次の 4 つです。
visu*xw_<WidgetClassName>.javaClassName visu*xw_<WidgetClassName>.java10ClassName visu*xw_<WidgetClassName>.java11ClassName visu*xw_<WidgetClassName>.javaSwingClassName生成されたバージョンの Java に特定の Java リソースが見つからない場合は、Sun WorkShop Visual は「javaClassName」を使用します。上の例にある「java10ClassName」や「java11ClassName」に対する値は、デフォルトと同じなので指定する必要はありません。
ウィジェットがリソースファイル中にない場合は、Sun WorkShop Visual は Java のパネルクラス用のコンテナウィジェットの代わりに、そのほかのすべての種類のウィジェットに使用できる Java キャンバスクラスを使用します。Java コード生成に関する詳細については、ユーザーズガイドの第 10 章「Java 用のデザイン」を参照してください。
ユーザー定義ウィジェット用の MFC コード
ユーザー定義ウィジェットに対する MFC コードは、前述の Java コード生成とまったく同じ仕組みで生成されます。Sun WorkShop Visual 6 は、他社製のコンポーネントを C++ クラスにするために以下のリソースを使用します。
visu*xw_<WidgetClass>.cppClassName visu*xw_<WidgetClass>.motifClassName visu*xw_<WidgetClass>.motifMfcClassName visu*xw_<WidgetClass>.mfcClassNamevisu*xw_XtXrtLabel.mfcClassName: CStaticファイル中に特定の様式が見つからない場合は、デフォルトで「cppClassName」が使用されます。
次の設定では、MFC、MotifXP、Motif の情報がない場合に、すべての様式の C++ に対して MyClass というクラスが生成されます。
visu*xw_SomeWidgetClass.cppClassName: MyClass次の設定では、純粋な MFC 以外のすべての様式の C++ に対して AnotherClass というクラスが生成されます。
visu*xw_SomeWidgetClass.cppClassName: AnotherClass visu*xw_SomeWidgetClass.mfcClassName: AnotherMfcClassその他の機能改善
ここでは、Sun WorkShop Visual バージョン 6 で改善されたその他の機能について説明します。
コード生成ダイアログ
「コード生成」ダイアログには「リセット」ボタンが追加されました。このボタンを押すと、選択された言語のページにあるファイル名がすべて元に戻ります。デフォルトのファイル名であることを示す括弧 < > も表示されます。
「メークファイル・オプション」ダイアログには、図 4 のように「現在の言語のみ」というラベルの付いたトグルボタンが追加されました。ある言語でコードを生成し、続けて別の言語で別のコードを生成すると、生成されたすべてのメークファイルには各言語用に生成されたファイルに対する規則がすべて盛り込まれます。しかし「現在の言語のみ」トグルをオンにすると、現在の言語専用のメークファイルが生成されます。
図 4 「メークファイル・オプション」ダイアログ![]()
デフォルトのヘルプブラウザ
デフォルトのヘルプブラウザは Netscape になりました。以前のデフォルトは Sun WorkShop Visual ヘルプでした。Sun WorkShop Visual ヘルプを使用するには、Sun WorkShop Visual の「ヘルプ」メニューの「ビューア」項目のプルライトメニューから「Sun WorkShop Visual ヘルプを使用」を選択してください。
サン・マイクロシステムズ株式会社 Copyright information. All rights reserved. |
目次 | 前ページへ | 次ページへ | 索引 |