高見知英のかいはつにっし(β)

高見知英のアプリケーション開発日誌 のほか、地域活動などの活動報告ブログ。

ページリストクラスの変更

 修正してみたら(たぶん原因は違うと思いますけど)なぜかページリストのクラスが上手く動かず、ファイルが表示されないようになってしまいました。どうせなら今のままではよく分らないので、作り直しているのです。
 今までは、ページリストとブックのデータが別物で、ページを受け取るのはブックからではなくページリストからでないとダメ…という、自分にもちょっとわかりにくい仕様になっていたんですが、それを一つにまとめてブックリスト・ブック・ページの三つのリストだけにする。それから、ブックとページには一部読み込みと完全読み込みの二つの状態を作って、ページ(ブック)を読み込んでいないときは、一部読み込みモードにすれば無駄にメモリを食うこともない…と、そういう感じを考えてます。
 今のところ完全読み込みモードから一時読み込みモードに戻す処理が決まってないので、どうすればいいか考え中です。
今完全読み込みモードとしてる部分を別のクラスにして、リストに格納するのはそれとは違う別のクラス(レコードでもいいかも)、リストから取得できるのはそっち…という方がいいかな(現行のものもそのつもりだったのかも)…。クラス図がないのでなんだかわかりにくくなってしまいました。とりあえずもう一度解析してみた方がいいかな…。
 とりあえず、先日書いたTMemoの.NET版のことも考えて、作り直しも容易にしなくてはいけないですね。
 今設計図を書いてるんですが、仮想ブックの仕組みが必要になりそうです。複数のブック内のページを適当に管理する、しおり機能や、Operaのメモのような検索機能(結局内部で実装することになりました)など、いろいろな機能を実装するつもりですので…。