Topazのカスタマイズ

2つのカスタマイズ手法

 Topazをより便利に用いるためにカスタマイズは欠かせません。カスタマイズにはオブジェクトの初期化とCUIメニューの設定の2つの方法があります。CUIメニューのカスタマイズは、リソースファイル("cui.rc")で行います。具体的な方法については CUIメニューを参照してください。ここでは、オブジェクトの初期化によるカスタマイズについて説明します。


初期化スクリプト

 Topazは引数無しで起動されると、初期化スクリプト"inittopaz"を実行します。"inittopaz"はまずスクリプト"initparams"を実行します。"initparams"は最小2乗法の初期設定や、ファイル読み込み時のデフォルトの拡張子の設定、画面倍率の設定、用紙設定、ビューアの位置、サイズ指定等を行います。また"initparams"は"initframe"を実行しframeオブジェクトの初期化を行い、"initframe"は"initaxisx"、"initaxisy"を呼び出し、x軸及びy軸の初期化を行います。

 またこの他dataオブジェクト、Partsオブジェクトの初期化のために"initdata"、"initparts"等もあります。これらのスクリプトは起動時にはコールされませんが、これらのオブジェクトが生成される際、初期化のためにコールされます。従って、グラフオブジェクトのカスタマイズを行うためには、これらのスクリプトファイルを変更すれば良いわけです。

 インストール直後では、これらのスクリプトファイルは${TOPAZDIR}/_topazに格納されていますが、これらのファイルを直接編集するのではなく、変更が必要なファイルを${TOPAZINIDIR}に一旦コピーしてから、コピーされたファイルを修正するのが安全です。Topazはスクリプト実行に際し、${TOPAZDIR}/_topazよりも${TOPAZINIDIR}中のスクリプトを優先して実行します。${TOPAZDIR}/_topaz中の全てのスクリプトをコピーする必要はありません。必要なスクリプトのみコピーし、修正を行ってください。以下にカスタマイズ例を示します。


カスタマイズ例

1. 画面の倍率をデフォルトの1倍から0.8倍に変更する

画面倍率を保持しているのは、$graph->magです。"initparams"で、
$graph->mag=0.8;
と修正してください。

2. ビューアの起動位置、サイズを変更する

ビューアのオプションで起動位置、ウインドウサイズは、スクリプト"initparams"中以下の部分を変更することで、カスタマイズ可能です。
$graph->init->set('viewer_x', '0');
$graph->init->set('viewer_y', '0');
$graph->init->set('viewer_w', '600');
$graph->init->set('viewer_h', '800');

3. デフォルトでy軸を、表示範囲が0.1から1000までの対数軸にしたい

y軸の設定を行うのは、"initaxisy"です。ここで、
$graph->frame[$fno]->axis[$ano]->scaling = 1;
$graph->frame[$fno]->axis[$ano]->start = 0.1;
$graph->frame[$fno]->axis[$ano]->end = 1000;
$graph->frame[$fno]->axis[$ano]->unit = 10;
 としてください。

4. デフォルトのフォントをTimes-Boldにしたい

"initparts"中で、
 $graph->frame[$fno]->parts[$no]->fontface = 2;
 としてください。