- 概要
acconv は、Athena Widget を C 言語の Code へ変換する。意味から 命名しました。
- コンパイル方法
以下の手順でコンパイルします。
$ xmkmf
$ make depend 省略可
$ make
- インストールする場合
$ su
Athena Widget の代替ライブラリ(Xaw3D)を使用しない場合は、以下を実行
# make install
Athena Widget の代替ライブラリ(Xaw3D)などを使用する場合は、以下を実行
# make install.alt.Xaw
オンラインマニュアルは、用意していません。
(テスト版なので、インストールの必要はないような気がする)
- インストールしない場合
cp -p Acconv.ad ~/Acconv
なお、Athena Widget の代替ライブラリを使用して、うまく動かない場合、
使用するライブラリに関する設定に問題がある可能性があります。
この場合は、acconv.useXaw を編集して再インストールする必要があると思われます。
- メインウィンドウ
2つのメニューと部品ツリーとその操作部分。部品選択リスト、基本操作パネル
からなります。
ツリー編集ウィンドウ
- 基本機能
- Add
部品の追加を行ないます。 使い方は、次の章で
- Delete
部品を削除します。
- コマンドメニューの方が動作が不安定なので、このボタンを使って下さい
- しかし、こちらの処理にも問題があります。
- Cut
使えません。(まだ、出来てません)
- Paste
使えません。(まだ、出来てません)
- Rename
ウィジェット名、および変数名を変更できます。
リネーム機能
- 部品の作成
acconv でアプリケーションを作成する場合、最初の部品は、ApplicationShell
になります。作成する方法は、部品選択リストから ApplicationShell
(しかないが)選択を選択して、Add をクリックします。
アプリケーション作成 すると、作成する部品の名称を尋ねられます。
部品の名称を入力して、Set & Popdown を押して部品を作成します。 この後は、通常の部品を作成していきます。2個目以降の部品は、
どの部品の子供として作成するかを決めます。
次の部品を作成
選択する部品を選ぶと、使用可能な部品がリストに表示されます。 この後は、最初の部品と同じように、部品を作成して行きます。
- メニュー
acconv では、ファイルメニュー / コマンドメニュー の 2 つのメニューから
構成されています。
ファイルメニュー
- File Menu
メニューのタイトルです。
- Load
部品構成ファイルを読み込みます。
- Save
部品構成ファイルを書き込みます。
- Clear All
すべての部品を破棄して、初期状態に戻します。
- Make Source File
部品を構成に従って、C 言語のソースコードを作成します。これは、acconv
が 機械的に生成するものです。
- Make Resource File
定義済みのリソースと新たに定義したリソースの 2 種類のリソースをテキスト
で表示します。
- Quit
プログラムを終了します。
コマンドメニュー
- Parts Add
部品の追加を行ないます。
- Parts Delete
部品を削除します。
- 動作が不安定なので、メインウィンドウのボタンを使って下さい
- Cut
使えません。(まだ、出来てません)
-
Copy
使えません。(まだ、出来てません)
-
Paste
使えません。(まだ、出来てません)
-
Map
部品をマップします。
-
Unmap
部品をアンマップします。
-
(Un)map Default
部品をマップ/アンマップの状態を初期化します。
-
Shell-parts Popup
ポップアップシェル/メニューをポップアップします。
-
Shell-parts Popdown
ポップアップシェル/メニューをポップダウンします。
-
Show Widget Names
ウィジェット名を表示します。
-
Show Class Names
クラス名を表示します。
-
Show Widget Variable
ウィジェット+変数名を表示します。
-
Show Widget & Class Name
ウィジェット名+クラス名を表示します。
-
Show Resource Box
リソース設定ウィンドウをポップアップします。
- 作成したウインドウ/ポップアップシェル/メニューのテスト表示
作成したウインドウ/ポップアップシェルは、Map 機能や、Shell-parts Popup
機能でテスト表示することが可能です。以下は、実際のアプリケーションと テスト表示結果のサンプルです。
本物
acconv のテスト表示
実際には、アプリケーション内部で設定されるリソースや acconv アプリケー
ション自体のリソースが悪影響を与えることなどの要因で、全然、似ないこと
もあります。
- Athena Widget
MIT が用意した、(標準的な)GUIパーツ集。2次元的な形状を持つ。 基本的な部品が多い。X Toolkit とともに使用する。
- 部品構成ファイルと editres との連係
acconv は、以前に作成したアプリケーションから editres のように、 ツリー情報を取得は出来ないのですが、editres
では、ツリー情報を commands のメニューの [ Dump Widget Tree to a File ]
を使うと ファイルに書き出すことができます。このファイルは、acconv の 部品構成ファイルとして読み込むことができます。
このようにして作成した editres との連係の例は、前の章にあります。
editres との連係例
-
acconv の部品構成ファイルは、このファイルの上位互換になるように 設計してあります。ただし、100%大丈夫と言うわけではなく、多分
問題があるでしょう
- ソースコードの生成
部品を構成するとファイルメニューの Make Source
File を選択 することで、C 言語のソースコードができます。これは、acconv
が機械的に生成した ものなので、かなり汚いです。これをこのまま使いたい方もいらっしゃるかも知れま
せんが、基本的には、コピー&ペーストしてソースコードに張り付けて使用するのが
いいと思います。
- リソースの設定
-
リソース編集機能 部品を選択しコマンドメニューの
Show Resource Box を選択する ことで、リソース変更ウィンドウがでます。これは、editred
の リソースボックスと同様にリソースの変更を可能にしています。

ただし、Select resorce file
/ Save は、無効です。
-
リソースデータベース表示機能 ファイルメニューの
Make Resource File を選択すると、このアプリケーション に関するリソースを定義済みのリソースと新たに定義したリソースの
2 種類の リソースをテキストで示します。

ただし、Load / Save は、無効です。
- バグ
acconv では、アプリケーション用に作成されたリソースファイルを部品構成ファイル
と共に読み込もうとします。しかし、読み込まれたリソースは、acconv 自体にも影響
をあたえてしまいます。 場合によっては、致命的な影響をおよぼします。 また、国際化への対応が不十分です。
現行の acconv は、非常に不安定です。これへの対策は、こまめに保存することしか
ありません。
- 今度の課題
山積みになってます。
- Special Thanks
正式バージョンの公開までに書きます。