« 構文解析 | メイン | Bフレッツ+プロバイダの申し込み »

October 30, 2004

Model/Observerの実装

Model/Observerを実装した。
各タグの属性設定用ダイアログを作る。
数が多いので大変だ。
まだ、5個ぐらいしかできていない。

グリッドのOnRowMovedイベントが来ない?
optionのgoRowMovingをtrueにしているのに。
他に何かしないといけないことがあるのだろうか?
よくわからなかったので、OnSelectCellで代用することにした。
ARowとプロパティのRowが異なっていたら処理するようにした。
これで、現在の行のタグに応じてダイアログ表示が切り替わるようになった。

最終行のコマンドを設定したら行が増加するようにした。
command列の時、Enter orダブルクリックでコマンド選択メニューを表示するようにした。

ドキュメントの方で状態を持った方がスッキリする気がしてきた。
Boarlandのサイトにあるコンポーネントは、ドキュメントを変更した時に、表示を更新するようになっている。
Modelはデータモジュールに置くように説明されている。
で、その通りにした。
このような構造にすると言うことは、データモジュールにドキュメント変更用のメソッドを持たせ、そのメソッド経由でデータを変更し、それと同時に表示更新を行うことだと考えられる。
つまり、データの変更は必ず、データモジュールのメソッド経由で行われることになる。
しかし、現在はフォームの方でカレントコマンドの参照を持ち、それを直接変更している。
そうした方が都合がよいことが多いと考えたためだ。
あー・・・うーん。
フォームでカレントコマンドへの参照を持つのは、別に問題なさそうだ。
列が移動するなどのコマンド確定動作が行われた時に、データモジュール側に通知すればいいだけか。
シーンはどうする?
シーンの切り替わりも一元管理したい。
もう一組Model/Observerを追加すればいいのか!
一度、同期して変更を加えたいものをリストアップした方が良いかもしれないなぁ。
でも、今のところは上記の2つだけかな。

投稿者 Takenori : October 30, 2004 11:50 PM

Trackback Pings

このエントリーのトラックバックURL:
http://blog.kaede-software.com/mt-tb.cgi/308

コメント

Total : Today : Yesterday :