IgorでGUI part2(ユーザー定義関数でボタン)
前回からの続きです。
IgorでGUI part1(panelの作成とボタン) - Igorの解説とか
今回はユーザー定義関数を用いてボタンを作成します。
パネルを作成してボタンを作るまでは
Button button0
の二行で出来ます。
そこからボタンを押したときに作動する内容を、別のユーザー定義関数で書く必要があります。
newpanel //panelの作成
Button example, proc=example_proc //ボタンをexampleという名前で定義、押したらexample_procというユーザー定義関数を実行
end
function example_proc(ctrlName) : buttoncontrol //ボタンを押した際の実行内容
string ctrlName
print "yes"
end
これで前回と同じ内容のパネルを作成することが出来ます。
さて上の例ですが、特にfunction example_procでは通常使わないものがあります。
それが ctrlName と : buttoncontrol です。
ctrlNameはボタンを押した時に自動的に返される文字列で、ボタンの名前を返します。
この例では make_button 内でButton exampleとしているため、ctrlNameにはexampleが代入されています。
: buttoncontrol についてはigorのマニュアルで
newpanel
Button example,pos={10,10},size={80,25}
Button example,title="yes",fsize=16
Button example fColor=(0,65535,65535),valueColor=(65535,65535,65535)
Button example,proc=example_proc2
end
function example_proc2(ctrlName):buttoncontrol
string ctrlName
print "yes"
Button example,title="no"
end
上の例でのポイントを挙げておきます。
(パネルの左上が原点、座標の向きは右と下)
・Button ctrlName size={長さ、高さ}
・Button ctrlName title="パネル状に表示されるテキスト"
・Button ctrlName fsize=フォントサイズ
・Button ctrlName fcolor=フォントカラー
・Button ctrlName valuecolor=ボタンの色
(色はRGB値を{R,G,B}の順に書く)
・Button ctrlName proc=ボタンを押した際に実行する関数名
Button example,title="no"
IgorでGUI part1(panelの作成とボタン)
IgorでGUIを作りましょう。
GUIを作ると、面倒な打ち込み作業が減って楽です。
まずパネルの作成は以下の通りです。
コマンドでは"newpanel"
これで下のようなパネルが作成されます。
このパネルに色々な機能をつけることが出来ます。
パネルがアクティブになっている(クリックされている状態)でcontrol+tを押すと
このようなものが出てきます。
この状態で
とすると
これが出てきます。(タイトルが"新規"と日本語になっているため、文字化けしています)
このまま実行を押すと
このようにボタンが追加されます。
左側にツールバーみたいなのが出てる状態で(control+tで出したり消したり出来ます)、なおかつ、カーソルの所が選択されている状態でダブルクリックすると
再びこの画面を呼び出すことが出来ます。
プロシージャの右にある新規...のボタンをクリックして
上のように
print "Yes!!"
を書き加えて、プロシージャを保存を選択し、変更をクリックします。
その後、control+tを押してツールバーみたいなのを隠します。
何気に大切です。
そして、ボタンをクリックすると、コマンドライン上にYes!!と出力されると思います。
次回はユーザー定義関数を使ってpanelとボタンの作成をします。