MakingLookUp 問題がひとまず片付いた

MakingLookUpの呼び出し:現行ではNameNarabekaeではMLUは実行されていない.新規ファイルの場合はCOUPLING::OpenFamilyBaseで実行している.通常は,InitLinkTableで一度だけ実行される.CommandEndでTopologicalSortの直前に実行されるMLUは暫定的に停めてある.CommandEndでTOPOLOGY::RebuildCardListを実行している.この中でNameSortが実行されlookupが逆順になっている.lookupを並び替えるのがNameSortの役割であり,それ以外の仕事はない.

NameSortでテーブルに穴が開いている.⇒論理修正した.⇒これで一応穴を塞ぐことはできたが,RebuildCardListでテーブル並び替えを実施する必要はあるだろうか?RebuildCardListでは各種のリストを再構築している.lookupは一覧表の順位に関係するので,つねに同期を取っておくというのが正しいのではないだろうか?であるとすれば,初期オープンの場合もそうする必要があるような気がする.

NameNarabekaeはそれ自身一つのコマンドだが,その中で,BuildNumlistとRebuildCardListを実行している.RebuildCardListの引数でコマンドを渡しているので,NameSortが重複実行されることはないようだが…

@23を削除した後,Undoすると一覧表が逆順になる.⇒解決

どこかでNAMESORTを初期化している.COUPLING:CloseFamilyBase→ Cleanですべての下位クラスがリセットされるような動作になっている.TREEVIEWがやっているようにdoCleanを上書きして,必要なパラメータを保全するか,ないし,レジストリに退避して再読み込みする必要がある.NAMESORTのパラメータはレジストリで保全しているので,InitLinkTableでMakingLookUpの実行後,SortNameを実行する直前に読み直すことにした.これで上記の一覧表が逆順になったりする現象は解消した.

  1. MakingLookUpはInitLinkTableでのみ実行される
  2. InitLinkTableではMakingLookUpを実行し,レジストリからNAMESORTのパラメータを取り出した後,NameSortを実行する
  3. テーブルソート時のリナンバーは実施しない(基準番号はパーマネント変数として原則として変更されないものとする)
  4. 一覧画面では基準番号を表出しない その代わり形式的な行番号を表示する(レコード中には保持されている) ⇒ 現行のまま表示
  5. テーブル並び替えはlookupの並び替えとして実装される lookupの並び替え時には前詰めが実行される

これまではカード番号と呼んできたものが一覧画面の行番号になるとしたら,カード画面に表示される番号はどうなるのだろう?⇒基準番号がユーザから見えないようにするというのは悪いアイディアではないが,カード番号との整合という問題もあり,直ちに実装は難しいような気がする.この点に関しては現行のままとして,しばらく様子を見ることにする.⇒この問題は前々からの懸案事項だったが,ようやく一件落着としてよいと思う.ここで一度バックアップを取っておこう.

世代番号の問題はすでに解決済み.NAMEBOX::getGenerationGapという再帰関数を新設し,TRIBELIST::GetTheEldest,getGenerationGapでは動的に系列ポテンシャルを計算するようになっている.

▲垂直系線の状態がおかしい.YGroup.zelで文字数ないしフォントサイズを変更したら縦系線が伸びてしまうようになった.⇒文字数ではなく,フォントサイズの影響のようだ.文字数など別のパラメータを調整すると正常描画に戻る.⇒フォントサイズを小さい方に変更して,MARGBOX::Drawで(rect.Height() > metrix->geneHeight)のエラーになった.⇒人名枠設定パラメータを操作すれば正しい状態になる.

どうもフローがおかしくなっているようだ.UpdateDiagramもTopologicalSortも掛かってこない.フォントサイズの変更ではトポロジーは変化しないので,UpdateDiagramが

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA