system.cook
起動時に実行されるスクリプト。
system.cookは起動時に自動的に実行されるスクリプトです。Cooker.exeと同一のディレクトリにsystem.cookがあるならシステムは必要な時に適当なメソッドの呼び出しを試みます。
メソッド呼び出しが試みられるのはアプリケーションの開始時と終了時、適当なショートカットキーが押された時です。
system.cookの定義はオプションです。それが存在するならばシステムは適当なメソッドの呼び出しを試みます。
初期実装
配布アーカイブは system.cook を含んでいます。以下に、その実装を示します。
1: | class main |
2: | browser _br; |
3: | message _m; |
4: | open method void start() |
5: | endmethod |
6: | |
7: | open method void end() |
8: | endmethod |
9: | |
10: | open method void F1() |
11: | _br.LoadUrl("https://www.google.co.jp/"); |
12: | endmethod |
13: | open method void F2() |
14: | _br.GoBack(); |
15: | endmethod |
16: | open method void F3() |
17: | _br.GoForward(); |
18: | endmethod |
19: | open method void F4() |
20: | _m.Icon = 3; |
21: | _m.Show("F4() is not implemented."); |
22: | endmethod |
23~50: | ... |
51: | open method void F12() |
52: | _m.Icon = 3; |
53: | _m.Show("F12() is not implemented."); |
54: | endmethod |
55: | endclass |
start(browser) と start()
system.cookに以下のメソッドが定義されている場合はMain-ブラウザの最初のページ移動が終了した後に一度だけ呼び出されます。
open method void start(browser)
open method void start()
どちらかだけが定義されている場合は定義されているメソッドが呼び出されます。両方定義されている場合はstart(browser)が呼び出されてstart()は呼び出されません。
start(browser)が定義されている場合、引数として渡されるbrowserクラスのインスタンスはMain-ブラウザを表します。
通常の.cookスクリプトではstart(browser)かstart()のどちらかを定義しなければなりませんが、system.cookでは、これらはオプションです。
上記のコードでは中身のないstart()を定義していますが定義しなくても問題なく動作します。
end(browser) と end()
system.cookに以下のメソッドが定義されている場合はアプリケーションの終了時に呼び出されます。
open method void end(browser)
open method void end()
どちらかだけが定義されている場合は定義されているメソッドが呼び出されます。両方定義されている場合はend(browser)が呼び出されてend()は呼び出されません。
end(browser)が定義されている場合、引数として渡されるbrowserクラスのインスタンスはMain-ブラウザを表します。
endメソッドの定義はオプションです。上記のコードでは中身のないend()を定義していますが定義しなくても問題なく動作します。
ショートカットキー
メソッドF1()~F12()が定義されている場合はショートカットキーAlt + F1~F12で対応するメソッドが呼び出されます。これらのメソッドの定義はオプションです。定義しなくても問題なく動作します。
Alt + F4にはアプリケーションの終了が割り当てられています。F4()メソッドが定義されているならばF4()メソッドの呼び出しが優先されますが、そうでなければアプリケーションが終了します。