パスワードを忘れた? アカウント作成
493433 journal

tarosukeの日記: [talos] focusの処理(めも)

日記 by tarosuke

focus関連で2つのポインタを用意。
1.focusそのもの
2.カーソルが居たPANE

A.1も2もPANEのデストラクタでdesktop.Defocusすることで無効ポインタを避ける。
B.desktop.AtMouseMoveでAtMouseMoveを再帰呼び出しして2を書き換えるが、書き換え前にLeave、書き換え後にEnterを投げる。
C.キー関係のイベントはfocusなPANEにだけ投げて、focusが無効なら捨てる。ただしその場合desktop自体はキーイベントを受け取るかも知れない。

どちらにせよAtHogeが戻ってからOnHogeするのでイベントを末端からカスケード的に適用することはなく、オーナー側ではなく各アイテム側にコードを置く必要があるのがMacや窓とは違うところ。ちょっと堅苦しいがそんなに困らんだろうと思う。というかそもそもユーザプロセスで好き勝手なUIを組ませない&UI自体をあんまり組ませない、変なUIへの要求はバッサリ却下するのがtalosのポリシーだし。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

アレゲはアレゲ以上のなにものでもなさげ -- アレゲ研究家

読み込み中...