あさん、Piroさん、情報ありがとうございます。
あ さんが書きました:
pane を切り替えるときには、その pane を選択したり、pane の selector を選択したり、prefwindow のプロパティを設定したり…といった一連の動作が行われますが、select イベントはその中の「pane を選択」とか「selector を選択」とかで発生するはずですから、「一連の動作」はまだ途中ですね。
つまり、select イベントが発生した時点では、「一連の動作」が完了していると思ってはいけないはずです。
その一連の動作は
command イベントで開始するようになっていますから、どのペインに切り替わるのかを取得するには、command イベントを捕らえれば良いでしょう。
もし、そうではなくて「一連の動作」が完了したときを捕らえたいのであれば… そんなイベントがあるのかどうかは知りません。
なるほど、やはり切り替わる前でイベントが発生してたんですね。
prefwindowでのoncommandをちょっと試してみたところ、lastSelectedプロパティの値が選択したペインの値を指しているように見えました。
これで合ってるのかな?(^^;)
Piro さんが書きました:
ボタンのクリック→prefpaneの切り替え→必要に応じて、そのペインの内容のロード
まで終わった段階でpaneloadというイベントが発生しますので、それを使ってみてはどうでしょうか。
prefpane要素にonpaneloadイベントハンドラを書くだけでも利用できます。
paneloadというのはそのペインが最初にロードされた時だけに発生するイベントと解釈していました。
実際ちょっと試してみたところ、ウィンドウが開いた時に一度呼ばれて、その後はペインの切り替えをしても呼ばれないようでした。