こんにちは、樋口です。
KH Coderのソースコードは決して「美しい」とか「読みやすい」とか言え
るものではありませんが、以下のような読み方で、なんとかトレースして
いただくことが可能ではないかと思います。(私の希望的観測でなけれ
ば、ですが…)
まず「kh_lib\gui_window\main\menu.pm」からスタートしてみてくださ
い。このファイルでKH Coderのメニューを作成しています。例えば、この
ファイルの254行目〜256行目は以下のようになっています(タブはスペー
スにかえました)。
$self->{t_word_search} = $f3->command(
-label => gui_window->gui_jchar('抽出語検索'),
-font => "TKFN",
-command => sub {$mw->after(10,sub{
gui_window::word_search->open;
})},
-state => 'disable'
);
この部分でメニューに「抽出語検索」という項目を加えています。また項
目が選択(クリック)された時には、gui_window::word_search->open;
を実行するように指定しています。
gui_window::word_search->open;ですが、これの処理内容は
「kh_lib\gui_window\word_search.pm」というファイルに記述されています。
ただし、「kh_lib\gui_window\」というフォルダに含まれるのは、基
本的にGUI(画面表示・操作)についてのプログラムです。
「kh_lib\gui_window\word_search.pm」の場合も、実際に「検索」ボタン
がクリックされた時には、mysql_words->search();を実行することで検索
を行っています。238行目〜244行目あたりです。
mysql_words->search();の処理内容は、「kh_lib\mysql_words.pm」という
ファイルの、「sub search{」で始まるサブルーチンに記述されています。
以上のように、メニューを作成しているファイル、「kh_lib\gui_window
\main\menu.pm」からスタートしていただくことで、トレース・編集が比較
的スムーズに行えるのではないかと思います。なお、前処理を実行してい
るのは「kh_lib\mysql_ready.pm」の「sub first{」から始まる部分です。
多少なりとも御参考になりましたら幸いです。
それではどうぞよろしくお願いいたします。