生成ダイアログ

生成ダイアログは、デザインからコードを生成するために使用します。 現在サポートされている生成オプションには、C、C++ および UIL ソースコード、XPM および UIL ピックスマップファイル、X リソースファイルおよび Java が含まれています。また、メークファイルを生成することも可能です。

ダイアログには、パネル上部の出力ファイル選択領域と、コード生成制御領域の 2 個の基本領域が含まれています。 Windows モードにおいては、Windows リソース・ファイルを生成することもできます。ピックスマップを生成してある場合、この時点でそれらのピックスマップは自動的に Windows ビットマップあるいはアイコンに変換されます(選択されたウィジェットが Button であるか、あるいは Label であるかによって異なります) 。個々のピックスマップは、ファイル名としてピックスマップ・オブジェクトの名前を使用して、独立したファイルに書き込まれます。

ダイアログには、 パネル上部の出力ファイル選択領域と、コード生成制御領域の 2 個の基本領域が含まれています。

選択フィールドには、出力先のファイルの名前を入力することもできますが、フィルタフィールド、ディレクトリおよび「ファイル」リストを使用してファイルを選択することもできます。

パネル下部のオプションメニューで、出力ファイルに生成する言語の種類を指定してください。C を使用する場合には、生成するコードを ANSI C、あるいは旧式の「K & R」(Kernigan & Ritchie) Cとするかを設定するトグルがあります。

Windows モードには、生成するコードの様式指定を行うためのオプション・メニューがあります。Motif 様式で生成されるコードは、Windows モード以外のモードで生成されるコードと同じです。 また、Motif MFC (Microsoft Foundation Classes) または Windows MFC 様式のコードも生成することができます。

コード生成領域には、数多くのトグルが含まれています。トグルには、次の 3 種類があります。指定された種類に基づいてリソースの生成を制御する型トグル (文字列、フォント、カラー、整数、および実数トグルなど)、型トグルの意味を制御および修飾するマスクトグル、コンパイルおよびテストサポートトグ ル (インクルード、メインプログラム、リンクなど) があります。これらのトグルは、アプリケーションには必要ない場合もありますが、デザインの迅速なプロトタイプ作成およびテストのために提供されています。

型トグルを使用すると、出力ファイルに生成するウィジェットリソースを正確に制御することができます。単純に、出力ファイルにコード化するリソースの型と、コード化しないリソースの型を決定してください。 これらのトグルは、一般的な規則を設定するため、 特定の種類のすべてのリソースが生成されたり、あるいは生成されなかったりします。

「ウィジェットリソースのマスク」トグル、および「大域リソースのみマスク」トグルは、処理を精密に指定します。たとえば、すべてのフォントを C 出力ファイルにハードコードすることを決定してあっても、いくつかの個々のウィジェットに対しては一般的規則を書き換える必要がある場合が生じるかもしれません。

このような場合には、関連するウィジェットの個々のリソースに、特別な処理を行うように印をつける必要があります。リソースパネルにある各リソースには、この目的に対してのトグルがあります。たとえば、ラベルリソースパネルの場合、表示ページの中央よりも下の部分にこれらのトグルの列があります。

「ウィジェットリソースのマスク」トグルは、ユーザーが生成パネルで生成する型のリソースを指定した場合、あるいは関連ウィジェットリソースパネルで、指定されたウィジェットに対する個々のリソースに印を付けたかのどちらかの場合に (両方ではないことに注意)、リソースを生成させます。

「大域リソースのみマスク」トグルは、型トグルを使用不可能にします。様々なリソースパネルにおいて明示的に印を付けられているリソースのみが、ユーザーの出力ファイルに生成されます。

デフォルトでは、X リソースファイルを生成するための型トグル設定は、コードファイルの生成に使用される設定とは逆になっています。これにより、適合するファイルのペアが確実に作成され、指定されたリソースはユーザーのソースにハードコードされるか、あるいは X リソースファイルに入れられます。

生成されたソースを、すでに適切なヘッダーファイル指定を含んでいる大きなモジュールに埋め込む場合には、インクルードトグルをオフにすることができます。トグルをオンにしている場合、X-Designer は生成されたソースを生成コードに沿ってコンパイルするために必要なヘッダーファイルを正確に決定します。

X-Designer は、メイン関数を生成することができます。 また、ユーザーが自身でメイン関数を提供することもできます。データベースを開くなどの、ユーザーインタフェースに関連していない初期化タスクがある場合には、手書きのメイン関数が必要になります。

リンクおよびリンク関数トグルは、基本的には迅速なプロトタイプ作成のために用意されています。リンクトグルは、コードを生成させ、ユーザーが X-Designer で指定したリンクイベントはコンパイルされたアプリケーション内で呼び出されます。リンク関数トグルは、関数に対しての単純な外部宣言の生成 (ユーザー自身が提供しなければいけない、あるいは X-Designer に他のモジュールに生成させる) とは対称的に、実際のリンク関数生成を行います。

X アプリケーション・クラス名は、「アプリケーション・クラス名」フィールドに指定することができます。デフォルトは「Xapplication」です。アプリケーションクラス名はソースおよび X リソース出力の生成に使用され、実行時にアプリケーションにロードするリソースおよびその方法を制御します。X リソースに関しての詳細は、OSF/Motif プログラマーズ・ガイドを参照してください。

「型宣言ファイル」フィールドを使用すると、デザインで使用したユーザー定義の型に対する指定または宣言 (コールバックの引数として使用された構造体へのポインタ、またはウィジェットに対してのユーザーデータとして宣言された私設あるいは外部データ) を含むファイルの名前を指定することができます。C の場合、これは生成コードの上部に近いファイルに対して、X-Designer が自動生成を行うように要求された #include 文の下に単純な #include 文を生成します。

ピックスマップデータおよび関連する宣言は、インラインで生成するのではなく、他のファイルからインポートすることができます。これらのファイルは、ピックスマップおよび外部宣言生成オプションを使用して X-Designer 内に生成することができ、「ピックスマップファイル」フィールドを使用してインポートすることができます。

特定のバージョンの Motif を指定することもできます。デフォルトでは Motif 2.1 コードが生成されますが、Motif 1.2 プラットフォーム用のコードが必要であれば、要求に応じてコードがマッピングされ生成されます。

X-Designer はまた、メークファイルを生成することができます。 メークファイル生成には単純な生成およびテンプレートを使用した生成の 2 通りがあります。単純メソッドは現在のデザインを考慮に入れるだけであり、テンプレートメソッドは現在のデザインに対してのメーク規則を以前のテンプレート規則に組み込むことができます。X-Designer は、ソースの生成時にコード生成パネルに提供される情報、つまり出力ファイル、C 外部宣言ファイル、スタブファイルの名前、メイン手順を生成するかどうか、などを使用して、必要なメーク規則を導き出します。テンプレートを生成する場合には、「メークファイルテンプレート」トグルを設定します。 以前のデザインからの規則を現在のテンプレートに組み込みたくない場合には、「新規メークファイル」トグルも一緒に設定することができます。数多くのターゲットが提供されます。 「全部」はすべてを構築、「依存」は依存性グラフを生成し (X-Designer はこれを行いません;このターゲットは makedepend ユーティリティを呼び出します)、「消去」は構築プロセスにより作成された中間および最終のオブジェクトを取り除きます。

デフォルトの場合、生成したコードの対象言語すべてに関する規則がメークファイルに入っています。 つまり、C コードの次に C++ コードを生成すると、それぞれの言語で両方のアプリケーションを構築する際の規則がメークファイルに出力されます。 プロトタイプを作成している場合やさまざまな生成オプションを試しているだけの場合などで 1 つの言語の規則だけをメークファイルに入れたいときには、「現在の言語のみ」トグルを選択します。 この結果、現在表示されている言語ページの規則だけがメークファイルに入り、表示されていない言語ページから生成されるソースの規則は入りません。 「現在の言語のみ」トグルがオフである場合、さまざまな言語の規則をメークファイルに混在させるかどうかを尋ねるメッセージが表示されます。

注意

「スタブ」を生成する場合、X-Designer はデザイン内のコールバックに対しての関数プロトタイプを作成します。 ユーザーは残りのアプリケーションコードを作成するための基礎として、これを使用することができます。 イベントハンドラ、ワーク関数といった、デザインに登録されているほかの X 関数すべてについて生成されたプロトタイプもスタブファイルに含まれることになります。

「外部宣言」オプションは、X-Designer にデザイン内の大域的インタフェースデータに対する外部宣言を生成させます。 たとえば、コアリソースパネルで大域的有効範囲として宣言されたウィジェット、大域的ピックスマップデータおよび X-Designer の生成する関数 (シェル作成関数など) など。 ユーザーはこれをインタフェースモジュールヘッダーファイルの基礎として使用することができます。

関連項目: