検証が大体できてきたので SimpleCapへの組み込みを始めよう。
組み込みにあたり、実際の動作パターンを整理してクラスを設計してみる。使い方のパターンは4つが考えられる。
(1) ホットキーの初期登録
アプリケーション起動時にUserDefaultsの値を使い、ホットキーをシステムへ登録する。
(2) ホットキーの表示
ユーザがプリファレンスを開いた時にUserDefaultsの値を文字列に変換して表示する。
(3) ホットキー入力
ユーザが入力したホットキーをシステムおよび UserDefaultsへ登録する。最後に文字列に変換して表示する。
(4) デフォルトに戻す。
ボタンが押されたら UserDefaultsをデフォルトに戻し、システムへホットキーを登録する。最後に文字列に変換して表示する。
こんなところか。
- - - -
CocoaBindings が使えるともう少し楽なのだが InterfaceBuilderが使えないので今回は自前でデータと表示を結びつける。ホットキー入力UIの部分に NSTextField で keyDown: が使えればいいのだが、その後も調べたが良い方法は見つからなかった。最終的には今まで見てきた様に NSTextView を使う。