2005年04月29日

ビュー状態遷移

Heimdallrのビューには、マウス右ボタン押下から始まるマウスジェスチャ機能や、既読ボタン上でマウス左ボタン押下から始まる既読化機能など、色々な機能があります。 今のところ、マウスジェスチャ中であることを表すフラグや、既読化中であることを表すフラグなどを内部で保持し、マウス左ボタン押下や右ボタン押下のときにそれらのフラグを見ながら処理を行っていたのですが・・・。マウスジェスチャ中に既読ボタン上でマウス左ボタン押下してそれからマウス右ボタンを離した場合など、色々とややこしいケースがあるようです。

個々のフラグによる管理が限界のようでしたので、別の方法を考えてみました。
恐らく、マウスジェスチャと既読化を同時に行いたいと望むユーザはいないと思います。ということは、ステートマシンのように管理できるはずです。というわけで状態遷移図を描いてみました。

ビュー状態遷移図

状態は5つにまとまりました。マウスカーソルが関係ないところにある状態(none)と、マウスカーソルがビューの上にあるが何もしていない状態(idle)と、マウスジェスチャ中(gesturing)と、既読化中(deleting)と、概要ウィンドウ表示中(description)です。2つ以上の状態に同時になる必要はないはずですのでこれで上手く行くのではないかと思います。矢印が一杯あるので結構大変そうですが、従来のフラグによる管理よりはだいぶマシです。
では、これから実装してみます。 実装すればバグが見つかると思うのでこっそり直しておきます。

Heimdallrの開発はこんな感じで進んでいます。

投稿者 MASATO : 2005年04月29日 10:59 | トラックバック
コメント
コメントする









名前、アドレスを登録しますか?