図形オブジェクトから

(テキスト、線、図形)をイベントと結びつけ、そのイベントで実行されるスクリプトを含めることができます。図形オブジェクトはページと結びつけられるので、テンプレート、ウィンドウファイル、プロジェクトファイルに保存されます。

ボタン

頻繁に使われるスクリプトのいくつかをOriginのユーザインターフェース(GUI)のボタンに割り当てて、スクリプトの実行を自動化することもできます。 これには、次のステップを行います。

新しく開いたOriginプロジェクトから

  1. プロジェクトウィンドウの左にあるツールメニューからテキストツールを選択します。 -->Button Text Tool.png
  2. Book1 ウィンドウの空白ワークシートの2つの空の列の右にある領域をクリックします。 テキストボックスが開きます。 テキストボックスに"Hello"と入力し、Enterを押します。これでボタン用のラベルが入力できました。
  3. 次に、ALTキーを押しながら、今作成したテキストをダブルクリックします。 オブジェクトのプログラム制御というウィンドウが開きます。
  4. ダイアログの左上にある「オブジェクト名」の項目を、Greeting に変更します。
  5. オブジェクトのプログラム制御 ウィンドウの下側のテキストボックスで、スクリプトをそのまま入力します。
    type -b "Hello World";
  6. また、オブジェクトのプログラム制御ウィンドウで、~のあとでスクリプトを実行ボックスで、ボタンアップを選び、OKをクリックします。
  7. これでボタンが作成できました。ボタンを押すと、スクリプトが実行され、ポップアップウィンドウに "Hello World" と出力されます。

スクリプトウィンドウにのみ存在しているテキストスクリプトとは異なり、このボタンとスクリプトは、Originプロジェクトを保存するときに保存されます。

また、グラフィックオブジェクトに設定されたスクリプトは、オブジェクト名とrunメソッドを使用して実行できます。コマンドウィンドウを開き、以下のように入力します。

greeting.run()

そしてENTERキーを押して実行します。

以下は、直線を移動すると、その直線があるX位置にあるデータの補間値を出力するようにグラフ上に垂直線を作成するスクリプトです。

//グラフ上に垂直線を作成
draw -n MyCursor -l -v $(x1+(x2-x1)/2);
MyCursor.HMOVE = 1;               // 水平移動可能
MyCursor.color = color(orange);   // オレンジ色に変更
MyCursor.linewidth = 3;           // 線を太くする
// グラフにラベルを追加
label -sl -a $(MyCursor.x) $(Y2+0.05*(Y2-Y1)) -n MyLabel $(%C(MyCursor.x));
// 線にスクリプトを割り当て
MyCursor.script$="MyLabel.x = MyCursor.x;
MyLabel.y = Y2 + MyLabel.dy;
doc -uw;";
// 線が動いた後スクリプトを実行するようにする
MyCursor.Script = 2;

その他のオブジェクト

グラフィカルオブジェクト(テキスト、線、図形)に、イベントが発生したときに実行するスクリプトを添付することができます。

この例では、グラフ上の四角形(オブジェクト名RECT)が移動またはサイズ変更した時にスクリプトが実行されるように設定されています。

  1. プロット操作・オブジェクト作成ツールバーの四角形ツールを使って、グラフに矩形を描きます。
  2. オブジェクト編集ツールバーのプロット後部に移すボタンを使って、データの後ろに矩形を配置します。
  3. Altキーを押しながら、矩形をダブルクリックして、オブジェクトのプログラム制御を開きます。オブジェクト名がRectであることを確認します。
  4. 次のスクリプトを入力します。
    %B = %C;
    %A = xof(%B);
    dataset dsRect;
    dsRect = ((%A >= rect.x1) && (%A <= rect.x2) && 
              (%B >= rect.y3) && (%B <= rect.y1))?%B:0/0;
    stats dsRect;
    delete dsRect;
    type -a Mean of $(stats.mean);
  5. ~のあとでスクリプトを実行ドロップダウンリストで移動/サイズ変更を選びます。
  6. OKをクリックします。

この矩形を移動したり、サイズ変更すると、スクリプトが矩形の範囲内にあるすべてのデータポイントの平均を計算し、スクリプトウィンドウに出力します。グラフィックオブジェクト範囲を定義して以下のように実行することもできます。

GObject gobj = [Graph1]1!rect;
gobj.run();