もきもき3D

アクセスカウンタ

zoom RSS MasterHandlerで2段ショートカット作成(挫折)

<<   作成日時 : 2008/06/05 19:11   >>

ブログ気持玉 0 / トラックバック 0 / コメント 0

 正しい俗称忘れたけど、Ctrl+q+aとか2キー入力でのコマンド発行が出来ないかなぁ、と。
 結論的にはスマートでなければ出来るかな、実用面では無理ぽ、と。

理想動作。
 LW自体のショートカットでMasterHandlerのパネルに制御を移して、パネルに設定したキー割り当てに沿ってコマンド/プラグインを起動。

駄目な点。
 既に開いてるパネルにフォーカスを移せない(EditServer()で開けてもフォーカス移動は無理)。
 マウスでフォーカスを移すんじゃ意味が無いしなぁ('A`)
 コマンド実行後に一々panFunc->close()して平時は閉じておいて、適宜EditServer()で開き直せば大丈夫だとは思うけど、パカパカチラチラ開くのは精神衛生上良くない。
 まぁ、LW自体が(9.5でより一層)パカパカチラチラ描画に突き進んでるから、それを我慢出来るなら鬱陶しいパネルが一つ増えた所で関係なさげだけど。


取りあえず、Handlerの実装関係のメモ。
 パネル(関数)内からのevaluateは不可。 無理矢理取り出したeventのaccessやcmdFuncでのevaluteをすると落ちた。
 パネル内ではフラグだけ立ててinstansUpdata()→event内でフラグを見てコマンド発行→フラグ初期化、てな感じでは問題なくコマンド発行出来た。
 update()をしないと実行されないけど、初期化後にupdate()をしなくても多重実行されたりしない不思議。
 update()するとRefreshが掛かるから避けたい所だけどムゥ。
 多重登録を不可にしている段階で、インスタンスでなくglobal変数にデータを持ってもいいのかもしれん。

 プラグインの多重登録チェックは(Activate*)Handler()ではなく、create()内でやらないと駄目っぽい。

 Xpanelでなく通常のpanelでノンモーダルパネルを使う場合、panFunc->open()、panFunc->handle()の両方を使う。
 パネルを閉じる&破棄はdestroy()内でやる事でプラグインを外した時に適切に終了出来る。
 handlerでの通常のpanelに纏わる動作やopenとhandleの関係等、まだまだ謎が多い('A`)
 プラグインをdisableにしてもパネルは動き続けるし(;・з・)

なんにせよ、フォーカス移せない以上企画倒れ('A`)
handlerと通常パネルの関係や実行/反映順等の確認は追々だなぁ。
てか、Xpanelにもっと柔軟性があればなぁ('A`)

----
 あ、instanceUpdateしない→何もイベントが起こらない→eventが呼ばれない。 なのかな?
----
 cmdFuncはMasterHandlerでは不可なのかな('A`) event内で使ってもNGだ。
 それにしてもpanFunc->handleがわけわからん('A`) 無くても問題無いっぽいムゥ
 (Activate*)Intefaceのoptionに充ててる関数内で
{
 if(panelがnull/初回実行時){
  (panel作成)
 }
 (hoehoe)
 return(NULL);
}
として、hoehoeでopenとhandleをどう扱うのが正しいのかわかんね('A`)

----
2ストロークショートカットだ(゚Д゚)
ちなみこれが無いテキストエディタは使えない体(*ノノ)

テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
MasterHandlerで2段ショートカット作成(挫折) もきもき3D/BIGLOBEウェブリブログ
文字サイズ:       閉じる