1st Modeller を作成する過程で出てきた問題点や不具合、
決定すべき事項の一覧を記述したファイル |
|
|
|
|
|
最終更新日:2007/07/21 |
NO. |
分類 |
状態 |
問題点 |
解決案 |
決定案 |
1 |
問題点 |
完了 |
アンドゥ/リドゥの仕組みが未決定。
ただし、全オブジェクトの構造が決まらないと考えにくい。
|
@XMLのデータをシリアライズして何か考える
アプリケーションの操作はCAppCommandクラスの派生クラスを
介して行うことにする。これはそのままリドゥデータになる。
アンドゥデータは反対操作をCappCommandクラスとして、
保存しておく事で実現する。
|
@ |
2 |
不具合 |
完了 |
タイプ一覧の子ウィンドウ作成時にコメントテキストボックスの幅がおかしくなっている。(ウィンドウ作成時に幅が追随できていないまま、幅のロックが効いている模様)
|
@プロパティのPositon が poDefault
になっているのを
poDefaultPosOnly に変更する。それによりウィンドウサイズは
デザイン時のものとなり、Anchors がおかしくなることは無い。
|
@ |
3 |
不具合 |
完了 |
読み込み時にNameプロパティが空文字列の時の考慮が無い。
|
@自動的に付ける
A単なるエラー扱いにする |
A |
4 |
不具合 |
未着手 |
読み込み時にエラーが発生して読み込めなかったときに、ツリービューに反映されない。
|
@アイコンを変えて、ツリービューに反映する必要がある。
読み込み失敗時は、IsLoadFailed()がtrueになるので
それで判別する。
→まず
CUmlProjectのLoadFromFile内を修正する必要あり。
ここでプロジェクトデータをプロジェクトに追加しないため、
表示周りを修正しても無駄。
|
|
5 |
不具合 |
完了 |
プロジェクトをアクティブにしたときにアイコンが追随しない。これは、アイコンの設定でツリービューの再描画が行われていないようである。
|
@TreeView を Refresh する |
@ |
6 |
不具合 |
完了 |
ツリーリストビューが縦に長くなるとスクロールバーが右に隠れてしまう。
|
@左にスクロールバーを持ってくる。
→ダメ。右にスクロールしたら、見えなくなってしまう。
A常に右に出るように考える。
→スクロールボックスの高さを手動で設定すれば可能。
しかし、ツリービュー内のアイテムの高さが分からないので
手動では設定できない。
B右が隠れてしまっているアイテムの上にマウスが来ると、
ツールチップが表示される。(VC++のように)
この場合は、スクロールボックスは不要。
Cヘッダコントロール+ツリービュー+スクロールバーで対応
ヘッダの幅をスクロールバーの長さとする。
全ては、パネルの上に置かれる。パネル幅よりヘッダが小さい
場合は、スクロールバー非表示。
|
C |
7 |
不具合 |
完了 |
ツリーリストビューが縦に長くなると、一番下のアイテムまでスクロールできなくなってしまう。
原因はスクロールボックスの水平スクロールバーである。水平スクロールバーが非表示から表示に変わった瞬間は、ツリービューのサイズ変更が行われないようである。
|
@スクロールボックスは問題点006と絡んでなくしてしまう。
A水平スクロールバーが出た場合は、ツリービューのリサイズを強制的に行う。
|
@ |
8 |
問題点 |
完了 |
読み込み時のエラーをどこに表示する?
|
@下にエラーログ用の表示枠をつける(VC++のように)
Aその都度、メッセージボックス
Bエラー専用のウィンドウ
|
A |
9 |
問題点 |
完了 |
プロジェクトビューを右クリックして出てくるポップアップで「プロジェクトを閉じる」などはアクティブプロジェクトに対しての処理だが、分りにくい。
|
@右クリックした時点で、アクティブプロジェクトでなければ
使用できないアイテムを無効化する。
Aポップアップに割り当てられているアクションの中で、
ツリービューの選択項目がアクティブプロジェクトかどうかを
調べて、処理を分ける。
|
@ |
10 |
不具合 |
完了 |
下にあるスプリットバーをかなり小さくすると、ステータスバーがページコントロールの上に来る。
|
@下にはスプリットバーを設けない |
@ |
11 |
問題点 |
完了 |
オブジェクトの移動中/リサイズ中/接続ポイント処理中などマウスカーソルが変化しないので分かりにくい。
|
@マウスカーソルを描画コンポーネント内で設定する |
@ |
12 |
問題点 |
完了 |
描画オブジェクトを移動させた時に、関連付けられているコネクタがリアルタイムに再描画されない。
|
@オブジェクトを移動する度に更新伝播を使用してイベント発生。
画面全体を再描画する。
|
@ |
13 |
問題点 |
完了 |
コネクタを選択して、コネクトポイントを他のオブジェクトの接続ポイントに切り替えた時に、更新伝播情報が変更されていない為に、オブジェクトを移動してもコネクタが再描画されない。
ちなみに、最初に接続されていたオブジェクトを移動させるとコネクタは正しく再描画される。
|
@コネクタの接続を切り替えた時に、更新伝播情報も変更する
(各オブジェクトの中で行っている)
|
@ |
14 |
問題点 |
完了 |
箱テキスト(CDrawBoxStr)で垂直/水平方向の文字寄せが出来ない。
今は、上寄せ&左寄せ固定。これをセンタリンクおよび右寄せができるように変更する必要アリ。
CDrawServiceやCDrawActorBoxで使用する。
|
@CdrawBoxStrに機能を追加 |
@ |
15 |
問題点 |
完了 |
コネクタの先にあるオブジェクトが削除された時に、コネクタの挙動が決まっていない。
|
@コネクタを残す。
Aコネクタを削除。
|
A |
16 |
問題点 |
完了 |
コネクタの先にあるオブジェクトが削除された時の、コネクタ側の実装が済んでいない。
|
@OnChange で削除されたオブジェクトのIDを削除する必要あり
Aどうせ削除されるので何もしない
|
A |
17 |
不具合 |
完了 |
子ウィンドウが開いている状態でメインウィンドウを閉じるとメモリリーク発生。(描画オブジェクト)
|
@デストラクタで開放する
AOnDestroyで開放する
|
@ |
18 |
問題点 |
完了 |
保存時に拡張子が自動で付かない。
|
@DefaultExtプロパティを使用する |
@ |
19 |
不具合 |
完了 |
一度保存した後の「上書き保存」が効かない
|
@名前が無い時にしか保存しないようになっていたのを
常に保存するように修正する
|
@ |
20 |
問題点 |
未着手 |
描画オブジェクトがスクリーンの外に出てしまった場合に、中に戻す手段が無い。
|
@外に出た場合は中に自動的に戻す。
A自動的に描画領域を広くする。
B外に出たものを自動的に検索して中に入れる機能を提供 |
とりあえず今は、オブジェクトビューを提供しているので、戻すことは可能。 |
21 |
改善点 |
完了 |
プロジェクトを閉じた時に子ウィンドウを全て閉じる
|
@子ウィンドウを検索しながら閉じていく。 |
@ |
22 |
不具合 |
完了 |
読み込んだ後のオブジェクトの順番がおかしい。(CUmlUseCaseDgmに保存した時に順番が失われている)
|
@CUmlUseCaseDgmに格納した時に順番を付けて格納する。
TTmsUmlScreen に設定する時は順番を元に設定する。
ACUmlContainerIFの内部をdequeにする。
ただし、オブジェクト名をマップにして名前の重複検査のスピードアップを図る。
B「案A」のマップは使わない。
|
B |
23 |
不具合 |
完了 |
改行入りの文字列が保存後、読み込んだら改行が2個になっている。LFがCRに変換されているようだ。
|
今は現象は発生していない?
直った?
|
直った? |
24 |
不具合 |
完了 |
プロジェクトを保存する時に、子ウィンドウを一度閉じないと正しく保存できない。
これは、子ウィンドウを閉じた時にUMLプロジェクトデータに描画オブジェクトの情報を書き出しているため。
|
@更新があるたびに、UMLプロジェクトデータに書き出す。
A保存前にだけUMLプロジェクトデータに書き出す。
B保存前に開いている子ウィンドウがあれば、保存させる。
|
B |
25 |
不具合 |
完了 |
プロパティでObjectIDが変更された時に、一意制約の検査を実装していない。
|
@ TmsPropEdit::OnCellDataChangeQuery イベントで
CUmlAppクラスの機能を使用して検査する。
|
@ |
26 |
不具合 |
完了 |
プロパティエディタで矢印を押した時のデータ変更イベントが発生しない。
|
@OnCellDataChangeQueryイベントやOnChangeCellTextイベントの発生
Aボタン専用のイベントを作成する
BOnChangeCellTextイベントだけの発生
|
B |
27 |
不具合 |
完了 |
コネクタの矢印はプロパティエディタから選択できるが、描画に反映されない。
|
@コネクタにメソッドが無い。機能はCDrawArrowLineのものを
使用して実装する。XMLはCDrawArrowLineと二重になるが
現状のままで行く。
|
@ |
28 |
問題点 |
完了 |
汎用プロパティエディタで最低配列要素数に満たない場合は、エラー発生?
|
@初期値を使用して自動で要素を作成する機能を作る |
@ |
29 |
改善点 |
完了 |
プロパティエディタで十字キーの入力が使用できないために、セルの移動が出来ない。
|
@メッセージハンドリングする |
@ |
30 |
問題点 |
完了 |
機能は同じなのに、同じような子ウィンドウを沢山つくらなければいけない。例えば、UseCase用とClassDgm用など
|
@最小倍数的なウィンドウを作成して、不要な機能は非表示とする。 |
@ |
31 |
問題点 |
未着手 |
クラス図の属性に、「順序付け」が無い。
|
@追加する。
A関連のロールなんかに無理やり書く事は可能
|
|
32 |
不具合 |
完了 |
属性値内の<や&などが文字参照に置換されない
|
@置換するようにする |
@ |
33 |
不具合 |
完了 |
属性値内の文字参照が変換されないままに、CxmlAttributeに読み込まれている。
|
@変換するようにする。 |
@ |
34 |
不具合 |
完了 |
オブジェクトの属性のCommentが保存されない。(CDrawObjectにメンバ変数がないので保存されない)
|
@メンバ変数追加。セーブ/リストアの作成。 |
@ |
35 |
不具合 |
完了 |
ツリーリストビューにデータがあるときに、幅を小さくし過ぎると水平スクロールバーが2個出てしまう。
上段に出ているスクロールバーは、ツリービューのものであり、本来は不要。
|
@ツリービューを改造してスクロールバーが出ないようにする |
@ |
36 |
不具合 |
完了 |
プロパティエディタで構造体のルートセルで、コンボボックスが使える場合がある。
|
@構造体のルートの時に、テキストモードに設定していないと思われる。
最初に全ての行にテキスト行を設定する。
|
@ |
37 |
不具合 |
完了 |
プロパティエディタで配列を上下に移動させる矢印をマウスでクリックした時に、複数セルを選択した状態になる。また、変な場所にスクロールしてしまう。
|
@マウスダウンの最中に、グリッドを更新するからそうなる。
画面更新前にアクティブセルとLeftTopセルを覚えておき、
更新後に復元する。
|
@ |
38 |
不具合 |
完了 |
プロパティエディタにオブジェクトの情報を表示している時に他のダイアログの子ウィンドウをアクティブにすると、プロパティエディタの内容が残ったままになる。
新しくアクティブになったウィンドウの選択状態が反映されるべきである。
|
@CumlApp にダイアログのアクティブ、非アクティブイベントを
追加して、その中に処理を記述。
|
@ |
39 |
問題点 |
完了 |
(内部的な話し)ダイアグラムのクラスに無駄が多い。また、ダイアグラムに独自のデータを持たせたい場合に、実装が面倒である。
|
@ダイアグラムは全て同一のクラスを使用して実現し、
独自のデータについては汎用プロパティを使用する。
|
@を実施。ただし、汎用プロパティにはしていない。
2/27内部用リストに移した |
40 |
改善点 |
未着手 |
プロパティエディタが縦に長くなり、使いにくい。構造体の縮小/展開ができるようにする。
|
@左に1列追加して、アイコン追加。(+アイコンと−アイコン)
|
|
41 |
問題点 |
完了 |
全てのファイルの拡張子が同じである。
|
@1つのファイルにまとめるというやり方もある。
→欠点は属性タイプリストの使いまわしがしにくい
Aプロジェクトやダイアログの種類によって変更する
→拡張子の種類がすごく多くなる
|
A |
42 |
問題点 |
完了 |
オブジェクトを選択したまま、ダイアログを閉じた時に再度ダイアログを表示させた時に選択状態が残っている。
その為、プロパティエディタには選択されているにもかかわらずそのオブジェクトの情報が表示されない。
|
@最初にオブジェクトが選択されていれば、
プロパティエディタに表示するようにする。
Aダイアログを閉じる時に、選択状態を解除する。
|
@ |
43 |
問題点 |
完了 |
再利用の観点から、プロパティシートで行っている正当性検査をプロパティリストデータクラスで行うようにするべき。
|
|
|
44 |
不具合 |
完了 |
属性タイプリストで全選択してから削除すると、正しく動作しない。
|
@恐らく、逆からループして消せば上手く行く。
|
アンドゥ・リドゥ対応の中で、自動的に修正された。
|
45 |
不具合 |
完了 |
子ウィンドウにダイアグラムが表示され、オブジェクトを選択してプロパティウィンドウに表示した状態で、ツリービューの何も無い所をクリックすると、プロパティウィンドウがクリアされる。(恐らく子ウィンドウのOnExitが発生している)
|
@Deactive のイベントが発生しても、メインウィンドウの
アクティブな子ウィンドウがまだそのウィンドウであるなら
CUmlApp:DoDeactiveDgm は発生させない。
|
@ |
46 |
改善点 |
完了 |
クラスの操作に純粋仮想関数の設定がない
|
@追加する |
@ |
47 |
改善点 |
完了 |
プロパティエディタが英語で見にくい。日本語で表示できるようにするべき?
|
@スキーマに表示名を定義できるようにする
|
@ |
48 |
問題点 |
完了 |
各描画オブジェクトの最小値が決まっていないものがある。いくらでも小さく出来てしまい、最終的には点になってしまう。
|
@描画オブジェクトの SetHeight とか SetWidth
に最小値の
検査を行うコーディングをする。
|
@ |
49 |
不具合 |
完了 |
接続ポイントモードにしているときに、図を追加して通常モードにしたら、ボタンが通常モードになっていない。
|
@スクリーンのイベントを作成して対応
A動作モードを設定したときに、アイコンの状態変更
B動作モードはアプリケーションを通して変更
|
@ |
50 |
改善点 |
完了 |
オブジェクトを追加したら、(0,0)の位置に追加されるが、画面の中央などに追加できないか。
|
@追加するときに位置調整する |
@ |
51 |
問題点 |
完了 |
保存した時に、選択状態も保存されてしまう。
|
@XML化する時に、保存状態を解除しておく。
A読み込むときに、選択状態を解除しておく。
BUMLスクリーンに表示する前に選択解除する
|
簡単だったのでBとした |
52 |
改善点 |
完了 |
関係を作成するのが面倒。
|
@関係の線をもっと増やす。
また、分かりやすいように「継承」とか「所有」とかの
ツールチップをつけるようにする。
|
@ |
53 |
問題点 |
中止 |
コネクタの接続先をプロパティエディタで移動させても、正しく反映されない。
原因は、コネクトIDまで移動してしまうので、移動しても意味がないから。
|
@配列要素の移動をOFFにする機能をスキーマに追加
→つまり移動はさせない仕様
画面でのみ操作させるか、コンボボックスにする。
|
|
54 |
不具合 |
完了 |
スマートコネクタ表示にしているとが無限ループに陥ることがある。当たり判定にひっかかった場合に、next−lineを取り消すが、元の線を必ず延長していた。左右に伸ばす必要があるパターンがある。
|
@左右に伸ばすパターンを追加 |
@ |
55 |
不具合 |
完了 |
スマートコネクタで、が180度反転して、迂回しないことがある。原因は、XまたはYが一致した時の判定にある。オブジェクトとの当たり判定を無視しているので、発生する。
|
@XまたはYが一致した場合でも、当たり判定にひっかかった場合は
ダメとする。
|
@ |
56 |
改善点 |
未着手 |
スマートコネクタで、同じ方向の初期線分のときに、中間地点で1回だけ折れ曲がるような動作が望ましいのに、現在の仕様ではそうならない。
|
後回し |
|
57 |
改善点 |
中止 |
コネクタのスマート表示で2つのオブジェクトに重なるパターンが多々ある。
|
気にしない。将来対応。
→アバウトコネクタを使ってもらう |
|
58 |
不具合 |
完了 |
オブジェクトを左右に並べて、コネクタを間に引いた時、変なところに矢印が描かれる。(例えば汎化の白抜きの△など)
|
先にコネクタを登録してから、接続先のオブジェクトを登録していた。
途中で再描画が入って、変な状態で描画されていた。
|
左記の通り
|
59 |
不具合 |
完了 |
プロパティエディタで複数行を入力した後に、フォーカスがどっかに行ってしまう。
|
@モーダルから帰るときに、フォーカスを設定する。
|
@ |
60 |
改善点 |
完了 |
オブジェクトビューの再描画時にちらつきが発生する。
|
@ツリービューに再描画防止機能を作成
|
@ |
61 |
不具合 |
完了 |
クラスオブジェクトのクラス名を指定する時に、クラス名の一覧が正しくない場合がある。原因は、スクリーン上でのみ修正されていて、プロジェクトデータに反映されていないケースがあるから。
|
@プロパティエディタで編集した時は、プロジェクトデータにも反映する。
(全部コピー)
Aプロパティエディタで編集した時は、プロジェクトデータにも反映する。
(更新のあったオブジェクトのみ上書き)
→これはMEDIATORパターンを使用しているので難しい。
Bクラス一覧の作成方法をプロジェクトデータからだけではなく、UMLスクリーンから取得するようにもする。
|
B |
62 |
不具合 |
完了 |
最近使用したファイルの最大個数を現在の値より小さい値に変更した時に、溢れた履歴を削除していない。
|
@削除するようにする |
@ |
63 |
不具合 |
完了 |
環境オプション画面で、値の範囲外になったあとにキャンセルボタンを押した場合に、一部適用されてしまっている項目がある。
原因は、グローバル変数に直接設定しながらエラー検査をしているから。
|
@一旦、ローカル変数に設定して検査するように修正 |
@ |
64 |
改善点 |
完了 |
属性タイプリストの一覧部分にソート機能が無い。
|
@ヘッダ部分をクリックするとソートするようにする。 |
@ |
65 |
不具合 |
完了 |
オブジェクトを複数選択した場合、Zオーダ移動がおかしい。
|
@移動量を求める計算式がおかしいので、そこを修正する。
|
@ |
66 |
不具合 |
完了 |
メニューから関係の種類を選んだ時に、ツールバーのボタンが押下状態にならない。
また、ツールバーの同じ関係を2度続けてクリックすると「2項関係」が選択されてしまう。
|
@OnChangeRunModeイベント内でツールバーの押下状態を見ている
が、違うものを参照するようにする。
(TfrmChildDgmに持たせるべき?それともTAction?)
|
@ TAction の Check を使用した。
|
67 |
不具合 |
完了 |
プロパティエディタでコンボボックスのセルを選び、コンボボックスの内容を変更した後、キーボードではなく他のセルをマウスクリックした場合、マウスを開放しても開放されていない事になっていることがある。
|
メッセージボックスなど表示されると、マウスのキャプチャが終了しない為に発生しているようだ。
@キャプチャを終了させる
Aキャプチャいなうよにする
Bとりあえず、セルの範囲選択をやめる(見た目だけ対応)
|
とりあえずB
|
68 |
不具合 |
完了 |
UMLオブジェクトが追加されるようなアンドゥコマンドの場合、対象のウィンドウが表示されていないとエラーとなる。
|
@ウィンドウ検索時に、ウィンドウが無ければウィンドウを表示するようにする。
|
@ |
69 |
改善点 |
着手済み |
アンドゥ・リドゥ時に、処理対象の子ウィンドウがアクティブにならないので、一体何が発生しているのかが分かりにくい。
|
@処理対象の子ウィンドウをアクティブにする。
また、UMLスクリーンの表示位置も適切に移動する。
|
@
あとはUMLスクリーンの位置の設定のみ
|
70 |
問題点 |
完了 |
現在のUMLスクリーンはフォーカスを取得できないコントロールなので、キー情報がUMLスクリーンに届かない。
将来的に問題あり。(コピペが実装できない。)
|
@フォーカスを取得できるように改造する。
→方法は?
|
コピペは上手いこと実装したので、フォーカスをとる必要はなくなった。
|
71 |
不具合 |
完了 |
ダイアグラム内のオブジェクトを削除した時のアンドゥが上手く動かない。(その為、リドゥもおかしくなる。)
|
削除時はダイアグラム全体を保存して、アンドゥ情報としているが、ダイアグラム内の最新の情報を保存していない為に、削除前の状態に戻らない現象が発生している。
@削除前にはスクリーン情報を適用する
Aダイアグラム全体のデータを取得する前にスクリーン情報を適用する
|
@ |
72 |
不具合 |
完了 |
プロジェクトツリービューのノードのラベルが、ファイルパスの方にはみ出して描画されている。
|
文字列の描画で上書きしていたが、文字列が無い場合に上書きされない為に残っていた。
@クリアしてから文字列を描画する
|
@ |
73 |
改善点 |
完了 |
プロパティエディタでデータを更新したら、表示位置が一番上に移動してしまう。カーソルとスクロール位置は記憶しておかないと使いにくい。
|
以前修正したはずなのだが・・・。
CUmlApp:SetProperty 内で一旦プロパティエディタをクリアしてから
プロパティを設定していた。
@クリアはエラー時にのみ行う。
|
@ |
74 |
不具合 |
完了 |
「プロジェクトを名前を付けて保存」を指定した後、キャンセルすると、上書き保存してもファイル名を聞いてくる。
|
最初に全てのファイルのファイル名をクリアして、強制的に新規ファイル状態にしているのが原因。
@SaveAs 用のルーチンを真面目に作る。
ASave 用ルーチンに引数を1つ追加して対応。
|
A
|
75 |
不具合 |
完了 |
プロジェクト名変更のダイアログで、同名のままOKボタンを押すと、エラーになる。
|
CUmlAppの中で同名なら処理し内容にしていなかった。
@同名の場合は処理せずに正常終了する
|
@ |
76 |
不具合 |
完了 |
No.75 と同様に、ダイアログでも発生。
|
@No.75 と同様に対処
|
@ |
77 |
不具合 |
完了 |
オブジェクトビューをクリックしたときにUMLスクリーンが選択されない。
|
コネクタモードになっているのが原因。
@オブジェクトを選択する前に、オブジェクト選択モードにする。
|
@ |
78 |
不具合 |
完了 |
削除すると、エラー発生。
|
属性タイプリストを保存していたが、その関数は属性タイプリストを保存できない。
@属性タイプリストは保存処理から外す
|
@ |
79 |
不具合 |
完了 |
プロパティエディタ編集中にダイアグラムに対して、オブジェクトを追加するとエラー発生。
|
コンボボックスなどで変更して、未確定の状態でUMLスクリーンを触ると、プロパティエディタのプロジェクト名/ダイアグラム名などがクリアされてしまうから、処理の途中でエラーになる。
@プロパティエディタ操作前に EndInput する。
Aプロパティエディタ内で、アクセッサの中で EndInput する。
Bメニューやポップアップメニューなど、全操作の前にプロパティエディタの入力を中止する処理を入れる。
|
B |
80 |
不具合 |
完了 |
プロジェクト保存時に「ダイアグラムが保存できませんでした」と空文字のメッセージボックスが表示される(ことがある)。
そこで保存処理が中断され、保存できない。
|
保存処理の中で、ウィンドウのデータをプロジェクトデータをコピーしているが、ウィンドウの無い場合はエラーとなっていた。
@コピー処理の中で、ウィンドウが無ければ正常終了とするように変更
|
@ |
81 |
不具合 |
完了 |
プロパティエディタでObjectIDを変更すると、関連が切れてしまう。
|
名前の変更時に、MEDIATORの更新イベントを発行していなかった。
@更新イベントを呼ぶようにする。
|
@ |
82 |
不具合 |
完了 |
画像出力で、左上以外の位置を表示中に出力すると、左上位置が原点でなくなる。
|
引数で受け取った、描画矩形を無視して、ビューポートで処理していた為に発生。
@引数で受け取った矩形で処理する
|
@ |
83 |
不具合 |
完了 |
スクリーン外に表示されているものを画像出力すると、以下の不具合発生。
1.最短ルートコネクタが描画されない
2.ロールが表示されない
|
引数で受け取った、描画矩形を無視して、ビューポートで処理していた為に発生。
@引数で受け取った矩形で処理する
|
@ |
84 |
不具合 |
完了 |
ファイルの挿入を連続して行うと、”C++ Exception”
とメッセージボックスが表示される。
|
名前の重複検査を行うオブジェクトを間違えていた。
@正しいコンテナに対して、重複検査をする。
|
@ |
85 |
不具合 |
完了 |
プロパティエディタから、ObjectID を変更した後、UndoRedo
をすると、余分なオブジェクトが出来ている。
|
UNDOオブジェクトに渡す名前が新しいObjectIDだった
@古いObjectID を渡すようにする
|
@ |
86 |
問題点 |
完了 |
メモリ使用量が多い
|
スキーマがオブジェクトごとに、インスタンス化されているから。
@スキーマを参照カウンタで管理して、コピーを作らない。
|
@
240MB使用していたメモリが、100MBくらいになった。
|
87 |
問題点 |
完了 |
メモリ使用量が多い
|
newでオブジェクトを作っているが、数が膨大すぎるので、メモリ使用量に無駄が多い。
@特定のクラスのnew演算子をオーバロードして自分でメモリ管理する。
AUNDOでメモリ使用量が多い部分のデータ削減
BXMLライブラリの文字列処理を効率化
|
@,A,B
|
88 |
不具合 |
完了 |
ダイアグラムを削除した後のアンドゥでエラー発生。
|
ダイアグラムの追加Commandで、親のExecuteを読んでいたが、その中で自動ウィンドウオープンを行っていた。
@親の処理を呼び出さないようにする
|
@ |
89 |
問題点 |
完了 |
プロパティエディタのテキストボックス編集中に、コピー&ペーストなどが効かない。UMLスクリーンの操作になってしまう。
|
コピー、ペースト前に、プロパティエディタの入力を中止していたからインプレースエディタのポインタが取得できなかった。
@プロパティエディタ以外の場合に中止するようにする
|
@ |
90 |
不具合 |
完了 |
メモリリークしている |
@アンドゥ/リドゥコマンド内でメモリリークしている個所があるのを修正
|
@ |
91 |
問題点 |
完了 |
メモなどの複数改行系のオブジェクトの描画速度が遅い。
|
描画のたびに内部でメモリの取得開放を繰り返しているから
@メモリを固定長にして、メモリの取得速度をUP
A1度描画したら文字列の分割後の状態を持っておく
-----------
原因は、描画してキャンバスに描いても、画面に反映されていなかったから。
BTImageのRereshを行う
|
B |
92 |
不具合 |
完了 |
コネクタの接続先を変えて、元の接続先を削除すると、コネクタまで削除される。
|
@削除する前に新しい接続先に更新していたのを、修正
|
@ |
93 |
不具合 |
完了 |
両端が自分自身に接続しているコネクタの片方を他のオブジェクトに変更。その後、最初のオブジェクトを削除すると、コネクタが残ってしまう。
|
@接続先との関連を削除する時に、もう一端の接続先が同一だった場合の考慮が抜けていたので、同一だった場合は削除しないように修正
|
@ |
94 |
不具合 |
完了 |
プロパティエディタで複数行入力した後に保存し一端終了。再度読み込むと、改行がおかしくなっている。
|
XMLファイル作成時に、改行コード変換を行っている部分があるがそれが不要だった。
@改行変換部分を削除
|
@ |
95 |
不具合 |
完了 |
プロジェクトを保存した時に、プロジェクトビューのファイルパスが更新されない。
|
見た目だけの問題なので後回し。次回起動時には戻っている。
→更新イベント内でファイル名も反映するようにした |
OK |
96 |
問題点 |
完了 |
ObjectID の採番が良くなくて、"〜 1 1 1 1 1”のように1が続く。
|
XMLのキャッシュに対して名前の変更を加えるような処理があった為、名前がおかしくなっていた。
@上記不具合を直す
A真面目に末尾の番号を取ってきて、カウントアップする
Bグローバル変数にオブジェクト毎にカウンタを持って重複しなくなるまでカウントアップさせる。
------------------
Aで対応すると、コピー&ペースト時にも正しく数字がカウントアップされる。”〜 1 1 1” のように数字がスペース区切りになることは無くなる。
|
とりあえず、@で対応。
Bで対応予定。簡単だし。 |
97 |
問題点 |
完了 |
オブジェクトを追加した時に、処理時間が掛かる。
|
原因は、オブジェクト追加前にUMLスクリーンのデータをXMLに変換しているからである。これは名前の重複検査に使用している。
@UMLスクリーンのデータを全てXML化するのではなく、名前だけを全て抽出して名前検査を行うようにする。
Aスクリーンがある場合は、スクリーンに対してだけ追加する。
|
A |
98 |
問題点 |
完了 |
オブジェクトツリービューのスクロール位置がおかしい。
|
@更新後に元の位置を復元する。
|
@ |
99 |
不具合 |
完了 |
プロパティエディタでキーボードの十字キーで移動している際、本来なら表示されるコンボボックスが表示されないことがある。(下から上に移動時など)
|
コンボにフォーカスがあたっている時に、上キーを押すとまず、グリッドがアクティブになった後にキーボードメッセージが送信されるがその際、タイミングの問題で次に表示されたコンボなどが非表示になってしまう。
@フォーカスを設定する前にキーボードメッセージを送り、グリッドのClickイベントで自身にフォーカスを設定する
|
@ |
100 |
問題点 |
完了 |
プロジェクトビューで任意のノードをクリックすると、ファイルの位置とノードの位置の間に白い部分が出来る。
|
@ファイルの位置は色を変えないようにする
A間も色を変える
|
A |
101 |
改善点 |
完了 |
プロパティエディタでコンボボックス使用時に Enter を押すと決定。ESC
を押すとキャンセルの動作が出来ないのは不便。 |
そのうち対応 |
|
102 |
不具合 |
完了 |
ユースケース図を書いているうちに、サービスをセットしてプロパティのServiceNameに文字列を入れようとしたが、入力用のウィンドウが表示されなくなった(文字列が設定できなくなった)。再起動させたらOK。
|
他の環境では再現性があるとのこと。
ただし、開発環境では現れない。リソースリークなどが発生している可能性あり。ウィンドウの表示部分のコーディングを変更して対応した。このまま様子をみることにする。
----------------
後日、プロパティウィンドウをフローティングにしていたらボタンが効かなくなるという報告を受けた。修正してからは特に報告が無いので修正は完了とする。
|
OK |
103 |
不具合 |
完了 |
報告によると・・・サンプルも含めてプロジェクトをいくつか起動。プロジェクトビューでプロジェクトを選択してファイル(F)→プロジェクトを閉じる(K)で順に閉じていこうとしたら、最後のプロジェクトのみ閉じなくなった。(が微妙に閉じているような気も・・?!)
|
もしかして、アクティブプロジェクトがなくなってしまうのが、そのように思ってしまう原因かも。
@アクティブプロジェクトを閉じた時、他のプロジェクトがあればそれらのうちのどれかをアクティブプロジェクトに設定する
|
@ |
104 |
不具合 |
完了 |
作業していたら、ある時突然、プロパティエディタの+でエラーになる。
現象的には「範囲外のセルを操作」してエラーになっている模様。
|
原因不明。再現性がなくなった・・・
--------------------------------------
+じゃなくても再現性がある。
1.アクティビティ図を作成、2.メモを追加、3.条件分岐を追加、4.位置(縦)を選択して右寄せを選ぶ(まだ設定してはいけない)、5.条件分岐を選択、6.プロパティエディタの「オブジェクトID」というセルをクリック。
--------------------------------------
原因は未調査。恐らくアクティブセルが範囲外のところにあるのが問題だと思う。
--------------------------------------
@上記の原因を修正する
|
@ |
105 |
不具合 |
完了 |
UMLスクリーンのサイズがおかしくなる。
|
原因不明
Delphi 6 が悪い?
@描画処理の中でスクリーンサイズのチェックを行い、サイズが異常であれば再配置を行う。 |
@ |
106 |
問題点 |
完了 |
プロパティエディタの文字が大きくて、字が読めない。
|
原因:プロパティエディタは、パネルの上にTTmsGridを載せていたが、パネルにParentFontとFontプロパティが無かった為に、フォントサイズが正しくなかった。
@ParentFontとFontを追加
描画処理の中で行の高さがフォントの高さより小さいなら行の高さを再設定する処理を追加。
|
@ |
107 |
不具合 |
完了 |
プロパティエディタで文字列を編集中にDELキーが効かなくなる。
|
メニューの中のショートカットとかぶっているから。
@プロパティエディタ内のテキストボックスでDELキーをフックして、メインフォームに処理させないようにする。
Aオブジェクトを削除するショートカットをDELキーではなく、CTRL+DELなどに変更
Bオブジェクトを削除するショートカットをなしにする。UMLスクリーンのKeyDownイベントでactDeleteを実行する。
|
B |
108 |
不具合 |
完了 |
プロジェクトビューなどで使用しているツリーリストビューにおいて、ヘッダーの幅を一番小さくすると、元に戻らなくなる。また、下に描画してはいけないはずなのに文字が描画される。
|
@ヘッダは1ドットより小さくできないようにする。
また、下に描かれる文字はヘッダの幅を超えてクリアするようにする。
|
OK |
109 |
問題点 |
完了 |
巨大なサイズのクラス・ディクショナリを保存する時、メモリ不足に陥る可能性がある。
|
現在のXMLライブラリはあまりメモリを気にせずに文字列化しているので、メモリの再確保が何度も発生し、ピーク時には不要に多いメモリを使用する。
→解決策は考えていない。
@自作のXMLのパーサには、構文木とDOMツリーの2つがメモリ上に存在する瞬間がある。そこでDOMツリーに変換しながら構文木を削除することにする。
|
@ |
110 |
不具合 |
完了 |
子ウィンドウを開いたままプロジェクトを閉じても、子ウィンドウが閉じない。
|
細かい現象はまだ確かめていない。
No.103 と関連がある??
UnloadProjectの処理内でクラス・ディクショナリの処理を追加し忘れていたのが原因。
@CDgmInfoで統一的に処理するように変更
|
@ |
111 |
不具合 |
着手済み |
大きなダイアグラムを出力すると、「パラメータが不正です」というエラーメッセージが表示され、画像に出力できない。
|
原因はOSの制限である。
@画像分割の機能を追加して対応する。
A自前で作成
BSusieプラグインとかはどうなんだろう?
|
バグを修正することで少しは大きな画像を出力できるようになった。ただし実メモリに依存する。 |
112 |
改善点 |
完了 |
処理時間が長いときにマウスが砂時計にならない。 |
実装していないから。
@実装する
|
@ |
113 |
問題点 |
完了 |
リバースエンジニアリングがアンドゥ・リドゥに対応していない |
@アンドゥは、リバースエンジニアリング前のクラス・ディクショナリをDELETE&INSERT、リドゥは、リバースエンジニアリング後のクラス・ディクショナリをDELETE&INSERT
|
@ |
114 |
改善点 |
完了 |
ダイアグラムのアラインメント機能の一部しかツールバーに出ていない。 |
@ツールバーを2つに分けて1つは描画用、もう1つはアラインメント用とする。
|
@ |
115 |
改善点 |
完了 |
プロパティエディタにおいて、パッケージ名やクラス名などをコンボボックスで選択させる機能が必要 |
@プロパティエディタの拡張属性に ext_ClassModel と
ext_PackageModel を追加する。
|
@ |
116 |
改善点 |
完了 |
プロジェクトビュー、オブジェクトビューのほかに、クラスビューが必要。
プロジェクト内の全クラスを階層で表示できて、ダイアグラムにドラッグ&ドロップできる機能がほしい。 |
そのうち実現予定 |
OK |
117 |
問題点 |
完了 |
各プロジェクトファイルのファイルサイズが大きい。XML読み込み時のメモリ消費が激しいので小さくする必要がある。
|
@エレメント数を削減する為に、プロパティエディタ形式のデータに対して、初期値と同じ場合はXMLに書き出さない機能を追加する。読み込み時に省力されているエレメントはデフォルト値を設定しておく。
A上記では根本解決になっていないので、属性クラスのインスタンスを共有化する仕組みを作成する。(FLYWEIGHTパターン)
Bメモリ上に一気に読み込んでDOMツリーを作成しているのを、SAXを使用して読み込むように変更する。
Cstd::vector をメモリ使用効率の良い、自作のものに変更する。
|
Aでは効果なし。
結果的に、Cで行った。
|
118 |
問題点 |
完了 |
クラス図などで文字列が多くなると描画が遅くなる。 |
(予想)描画のたびに文字列を構築して、メモリの獲得/開放が行われているから。(No.91
とも関係する)
原因は、描画してキャンバスに描いても、画面に反映されていなかったから。
@TImageのRereshを行う
|
@ |
119 |
不具合 |
完了 |
属性の多重度が定義できなくなっている。 |
クラス・ディクショナリを作成する課程ですっかり忘れていた。
@クラス・モデルに定義出来るように機能追加
|
@ |
120 |
不具合 |
完了 |
操作の引数のIN/OUTのタイプが指定できなくなっている。
|
クラス・ディクショナリを作成する課程ですっかり忘れていた。
@クラス・モデルに定義出来るように機能追加
|
@ |
121 |
不具合 |
完了 |
クラスの編集機能の「操作を上に移動」「操作を下に移動」を実行しても上に移動しないことがある。
なお、属性やtypedef宣言も同様。
|
見かけ上は移動していないが、実は移動している。
現在の画面だと、可視性ごとに(public/protectedなど)分けられている為、実は1つ上に移動した時他の可視性の上に移動したことになっている。しかし、現在のツリービューではそれが分からないため移動していないように見える。何度もボタンを押していると移動できる。
しかし、クラスダイアグラムの表示方法と異なる為見難い。
@ダイアグラムに表示する時にも可視性ごとに表示する。例えば
public/protected/private/packageの順で表示するなど。
A並び順を替えるときは可視性を無視して一覧表示して、並び替えてもらう。 |
OK |
122 |
不具合 |
完了 |
クラス・ディクショナリのクラスのソート順がおかしくなる。 |
クラスの編集を行ったりすると、クラスの順番が逆になったりする。原因は不明。
原因、自作コンポーネントのOnCompareフックハンドラにデフォルトのソートが未実装だったから。
@実装する
|
@ |
123 |
不具合 |
完了 |
クラス・ディクショナリを開いていない状態で、クラスダイアグラムを表示する。この状態でクラス情報ツリービューからモデルを追加した時、画面にすぐに反映されない。
一端クラスオブジェクトの選択を解除して、再選択すると追加されてる。
|
クラス・ダイアグラムに対するモデル更新イベントが発生しても、プロパティエディタやクラス情報表示ペインが更新されないため。
@モデル更新イベントの中でプロパティエディタやクラス情報表示ペインを更新するイベントを発行
|
@ |
124 |
不具合 |
完了 |
”〜”という文字を使用して保存すると、”■”になって書き出されてしまう。
|
恐らくICUの不具合。
@Shift-JIS ⇔ Unicode は Windows API で行う。
|
@ |
125 |
不具合 |
完了 |
複数のクラス・ディクショナリに同じ名前のクラス・モデルがある時、クラスダイアグラムでそのクラスを使用したままクラス・モデルを削除すると正しくクラスオブジェクトが更新されない。
|
未調査 |
OK |
126 |
不具合 |
完了 |
プロジェクトデータの削除後、アンドゥするとツリービュー上の正しい位置にプロジェクトデータが戻らない。
|
ツリービューの追加時は末尾に追加しているから。
@データタイプ内のノードを再配置する
|
OK |
127 |
不具合 |
完了 |
ダイアグラムを拡大すると、コネクタの破線が実線になる。 |
@破線の描画をAPIではなく、自前で行うようにした(LineDDA使用)
|
@ |
128 |
不具合 |
完了 |
Doxygenのファイル名を入力せずにリバースエンジニアリングするとエラーになる。その際、作業フォルダがゴミとして残る。 |
リバースエンジニアリング開始処理でエラーになった場合、終了処理が起動しないことが原因だと思われる。
@エラー時も終了処理を呼び出す |
@ |
129 |
問題点 |
未着手 |
クラス・ディクショナリ化した際に、属性の型を入力して自動的に属性タイプに登録する機能が無効になってしまっている。 |
機能を少し考え直す必要あり。
|
|
130 |
問題点 |
完了 |
XMI でクラス・モデル内の一行コメント、複数行コメントに非対応 |
UML:ModelElement.taggedValue を使用して規格外の値を保存することが可能。
1行コメントは description という名前で、複数行コメントは documentation という名前で保存することにした。
|
OK |
131 |
問題点 |
中止 |
XMI でクラス・モデル内の typedef に非対応 |
他のツールでは絶対対応してないだろうから、未対応とする。 |
中止 |
132 |
問題点 |
完了 |
XMI でアンドゥ・リドゥに非対応 |
対応させる |
OK |
133 |
問題点 |
完了 |
XMI でインポート後にダイアグラムなどへの更新伝播が未実装 |
@CUmlClassDictionary
を渡すと、追加/削除などを自動判別してイベントを発生させるメソッドを作成する。
|
@ |
134 |
不具合 |
着手済み |
複数行コメントが入ったXMIをインポートすると、改行がおかしくなっている。
|
<BR>を記述した複数行コメントは正しく改行できている。
それ以外は、doxygenの出力したXMLの中に<BR>タグが入っているがこのタグを変換してしまうと2重に改行してしまうため処理できない。
@改行は<BR>タグに変換。<BR>タグはCRLFに変換
|
現在対応方法を検討中 |
135 |
不具合 |
完了 |
リバースエンジニアリングにて、全角スペースが文字化け?(doxygenのバグ?) |
Doxygen 1.3.5 系では修正されている。
Doxygen のバグだったようだ。
|
OK |
136 |
不具合 |
完了 |
コネクタの仮の線を描画中に右クリックを押して、操作を中断させると、仮の線が残ってしまう。
|
線のクリア処理をどこかのタイミングで行う。
@マウス処理をデザインパターンのSTATEパターンで書き直した際に、Abort処理も組み込む。
|
@ |
137 |
不具合 |
完了 |
オブジェクトの階層になった状態の子をコピー&ペーストできない。 |
子オブジェクトが親を覚えており、親との関連がコピーしたオブジェクトの一覧の中にない場合に、その子オブジェクトをペースト対象外としていた。
この処理はコネクタで、端についているオブジェクトが足りない場合のための処理である。しかし、階層関係の場合は以下のようにする。
コピーした中に階層の親が居なければ、階層の親を未設定状態にしてペーストする。
|
OK |
138 |
不具合 |
完了 |
クラス・ディクショナリでクラスの追加後にアンドゥをすると、再描画が正しくとれていないようで、変な文字が残る。 |
ツリービューのフォントが少し大きいのが原因だと思う。ツリービューの親のパネルとの関連も調べてみること。(パネルのフォント変更に追随できれば良いのだが・・・)
|
No.147で対応済み |
139 |
不具合 |
完了 |
プロパティエディタで入力エラー後にMDI子ウィンドウを閉じるとエラーのメッセージボックスが永遠に出つづける。
|
非アクティブ化の処理で色々やっているので、再帰的にエラーの部分が呼ばれる。
本来、エラーメッセージが表示されること自体が間違い。
@アクティブセルの位置を正しく設定する。
|
@ |
140 |
改善点 |
完了 |
前々から思っていたのだが、コネクタの矢印が小さくないだろうか。ただ、誰からも言われていないので妥当かどうかは不明。
|
少しだけ大きくしてみようかと思う。
|
少し大きくした |
141 |
不具合 |
完了 |
一度リバースエンジニアリングしたクラス・ディクショナリを再度リバースエンジニアリングすると、モデルの反映が完了せずにフリーズすることがある。
|
フリーズするのではなく、ツリービューの更新に時間がかかっていた。時間がかかる原因は、削除アルゴリズムが悪かったため。
@アルゴリズムの改善
|
@ |
142 |
不具合 |
完了 |
戻り値の定義されていない XMI を読み込めないことがある。
|
XMI読み込み処理の中で、使用しているエレメントが違ったのを修正する。
|
OK |
143 |
不具合 |
完了 |
プロパティエディタの準固定値リストで Dataだけを指定した際に
"data (data)"形式で表示されてしまう。
|
リストを読み込む処理で Display が空文字列なら Data
を取得するようになっている。
@準固定値リストの際はDataを読みに行かないようにする。 |
@ |
144 |
改善点 |
中止 |
UMLスクリーンで右クリック時のポップアップメニューから削除ができると便利。
|
未定 |
|
145 |
不具合 |
完了 |
クラスオブジェクトのクラス名の一覧が、ダイアグラムに使用しているクラスの一覧になっている。
クラス・モデルに存在するクラスの一覧に変更する。
|
クラス・モデルの一覧を表示するように変更。
ただし、パッケージ名は無いので全一覧になる。
|
OK |
146 |
不具合 |
完了 |
アクターの名前を入れて、プロパティエディタの欄外をクリックすると、固まる。(Windows95)
Windows 2000 では、固まらずに連続操作が行われたようになり、アンドゥバッファがすべて同じものになってしまう。
|
インプレースエディタの KILLFOCUS
のイベントで自分のセルに文字列を書き込んでいたが、再帰的に自分自身が呼ばれていた。(何故、セル外をクリックしたときだけそのようになるかは不明)
@セルに書き込む前にインプレースエディタを非表示にする
|
@ |
147 |
不具合 |
完了 |
クラス・ディクショナリのツリービューでクラスを削除すると、ごみが残る。(再描画が上手くいっていない)
|
調査したところ、削除イベントを捕まえてツリー・リストビュー関連のコンポーネントを再配置している処理の呼び出しをコメント化したら発生しなくなった。細かな原因は不明。
@上記のメソッドの呼び出しをやめる。(再配置の呼び出しは不要だったためその他の影響は無い)
|
@ |
148 |
不具合 |
完了 |
UMLスクリーン内でオブジェクトを選択したときに表示されるアクティブをあらわす破線が表示されていない。
|
EMF対応した時に、間違って消してしまっていた。
@実装を元に戻す。 |
@ |
149 |
問題点 |
完了 |
アクターはフォントサイズの変更が出来ない。 |
アクターの高さを出来るようにする必要がある。
→高さを変更できるようにした後、フォントサイズを指定可能とした。
|
OK |
150 |
問題点 |
完了 |
対応していない拡張子を1st
Modellerのexeまたはそのショートカットにドロップすると不適切なメッセージボックスが出る。 |
変数の使用が間違っていた。 |
OK |
151 |
改善点 |
完了 |
フォントの一覧に縦書き用フォントが入っている。不要なので削除したい。 |
@フォント名の先頭が@であれば縦書きフォントとみなし、
取得しないようにする。
|
@ |
152 |
改善点 |
完了 |
アプリケーションのオプション設定のDoxygenのパス設定に自動取得機能をつける。 |
機能追加する。 |
OK |
153 |
不具合 |
完了 |
グリッドを表示したまま画像出力すると、画面外に縦線が表示されない。
|
@画像出力の場合はグリッドを強制的に非表示にする
|
@ |
154 |
改善点 |
完了 |
ステレオタイプのリストに空文字列がなかった。
|
Class.xml ClassModel.xml CnctLine.xml を修正する。
|
OK |
155 |
改善点 |
完了 |
プロパティエディタの属性タイプコンボボックスの内容がソートされていない。
|
表示データ作成部分にソート処理追加 |
OK |
156 |
改善点 |
完了 |
ズーム値を小さくすると、接続ポイント、リサイズポイントも小さくなる。非常に不便。
|
ズーム値が100%未満のときには100%の時のサイズで表示するように変更する。 |
OK |
157 |
不具合 |
完了 |
関連クラスの変更ができない |
修正されている |
OK |
158 |
不具合 |
完了 |
コネクタを含めてオブジェクトを選択してクリップボードにコピーすると、EMFの貼り付けでエラーになる。
|
未調査だが、処理範囲が広くなりすぎてエラーになっている気がする。
→未初期化のラベルを矩形として加算していたため外接矩形が異常になっていた。
@未初期化のラベルは矩形の計算からはずす
|
@ |
159 |
不具合 |
完了 |
コネクタの両端を同じオブジェクトに接続できなくなっている。 |
もっとも近い接続ポイントを検索する際に、コネクタの始点オブジェクトを除く指定をしていた。
@始点は除かないようにする
|
@ |
160 |
不具合 |
完了 |
スマートコネクタを使用していたら、スタックオーバフローで落ちる。
|
スマートコネクタは絶対に再帰接続させてはいけない。
@マウス操作中にチェックで跳ねて再帰接続させないようにする。
|
@ |
161 |
不具合 |
完了 |
改行のあるメモをコピー&ペーストすると改行がなくなってしまう。 |
XMLの読み込み後に改行を\r\nに変換していなかったため。
@変換するように修正 |
@ |
162 |
不具合 |
未着手 |
メモで複数行の改行した際に、空の行は無視されて描画されてしまう。スペースを1つでも入れると改行される。 |
未着手 |
|
163 |
改善点 |
完了 |
メモをダブルクリックすると
メモ内容編集ウィンドウが起動するようにしたい。
(描画クラスにダブルクリック時に応答するようなインタフェースを継承させて対応する?
それともUMLスクリーンで対応?) |
OK |
OK |
164 |
改善点 |
完了 |
クラス図にパッケージ名を入力させ
そのパッケージと同じクラスについてはパッケージ名を省略するようなオプションが欲しい。 |
左記の通り実装した(Ver.1.36 beta 1) |
OK |
165 |
改善点 |
完了 |
クラスの描画制御でパッケージ名をoffにできるようにしたい。 |
左記の通り実装した(Ver.1.36 beta 1) |
OK |
166 |
不具合 |
完了 |
メモをダブルクリックしたらウィンドウが出るが、マウスの押下処理が動いていないようで、スクリーンの端にマウスが来ると自動スクロールする。 |
マウスの開放イベントが、子ウィンドウが開くことで取得できないためにタイマーが終了しなかった。
@タイマーイベントの中でマウスの押下がなければタイマーを終了するようにする。
|
@ |
167 |
不具合 |
中止 |
クラスを新規追加したらエラーで落ちた。 |
再現性が無い
→2004/6/2 再現性が無いので削除とする。
|
|
168 |
改善点 |
未着手 |
クラス・モデルを編集した際に、クラス名を変更したら、ダイアグラム名のクラスも変わって欲しい。 |
未着手 |
|
169 |
改善点 |
完了 |
新規クラスをダブルクリックした際にクラス編集ウィンドウが出て欲しい。また、閉じた際にクラスオブジェクトのパッケージ名とクラス名を編集したものに更新してほしい。 |
新規クラスをダブルクリックした際は、クラス・モデルを選択する専用ウィンドウを表示するようにした。
新規クラスでない場合は、クラス編集ウィンドウを表示するようにした。なお、クラス・モデルのクラス名とパッケージ名は変更禁止とした。 |
|
170 |
問題点 |
完了 |
メモオブジェクトをダブルクリックして
ウィンドウが立ち上がっている最中に
UMLスクリーンのタイマーイベントで
マウスの押下状態を参照して、タイマーを削除する。
(これをしていないのでOKボタンを押した直後に少しだけスクロールしてしまったりする?)
|
タイマーイベント使用中に子ウィンドウを開いた際に、タイマーが一時的にストップしてしまう(ような感じになっている)
OKボタン押下時にたまたまスクロールする場所でマウスをくりっくしたらマウス押下を捕らえて1度だけスクロールイベントが処理してしまうのが原因。
@マウス開放タイミングを検知したら何もせずに終了
|
@ |
171 |
不具合 |
完了 |
関連クラスを表現するコネクタのラベルに不具合がある。終端がコネクタに接続されている場合、その終端のラベルが表示されない。
|
接続先のコネクタの外接矩形が異常な値を返している。
原因を調べてみるとコネクタの外接矩形を取得していた。コネクタは外接矩形はダミーの外接矩形(最大矩形)を返しているためおかしくなっていた。
@表示しない
A本来の外接矩形を取得するように修正。→ただし変な位置にラベルが移動してしまう。→方向判定に失敗している模様。
→原因忘れたが修正は完了した。
|
とりあえずAで修正したがラベルの位置がおかしい。しかし、関連クラスの場合はラベルは使わないはず。。。特に問題ない?
|
172 |
不具合 |
完了 |
上記サンプルを開いて、ダイアログのコネクタを1つ接続先を変更したあとに
CTRL+Zを押しっぱなしにすると全てアンドゥされたあとに、リドゥできなくなる。
また次の操作を何かすると固まる。
→アンドゥ後に更にアンドゥが動いている可能性あり。
アクションタイプのUpdateが呼ばれていない(?)ため、次の処理が出来てしまう? |
処理の途中で Application->ProcessMessage()
を呼んでいる箇所があった。ただ、これは必要な処理なので呼び出さないようには出来ない。
@アンドゥアクションに再入を防ぐためにカウンタを設ける
|
@ |
173 |
不具合 |
完了 |
コネクタの接続先を選択すると
ラベルが微妙に動く。
|
Rectで外接矩形を取っていたが、コネクタの場合は最大矩形になるためFitRectに変更した。しかし、FitRectはコネクタなどのオブジェクトも含むため選択すると外接矩形が変わってしまった。
@その他のオブジェクトを含まない外接矩形を取得できるようにした。また、外接矩形上の点ではなくコネクタの接続位置をラベルの基点とすることとした。
|
@ |
174 |
不具合 |
完了 |
メモをダブルクリックして編集ウィンドウを開いた後、ウインドウを閉じたら、まだマウスを押下している状態になっている。そのため1度クリックしても正しく動かない。
|
マウス移動イベントでマウス押下の形跡があるのにマウスが開放されていれば処理中断する。
|
@ |
175 |
改善点 |
完了 |
変数やメソッド、引数に対してコメント(1行、複数行)が登録できない。
Doxygen で作成可能なコメントを登録できないか?
|
下記の機能を実装する。
・クラス・モデルに該当の情報を持たせるためのメンバ変数追加
・クラス・モデルのシリアライズ
・リバース・エンジニアリングで情報取得
|
ひとまず下記が完成
変数
メソッド
typedef
|
176 |
不具合 |
未着手 |
エクスプローラなどでショートカットを作成して「実行時の大きさ」で最大化を指定しても最大化にならない。
|
スプラッシュウィンドウが最大化されているような挙動になっている?
それ以外は未調査
|
|
177 |
不具合 |
完了 |
バージョンの古いファイルを読み込んだ際にエラーメッセージもなくプロジェクトから削除してしまう。
|
・ひとまずエラーメッセージは出るようになった
→ただし勝手にプロジェクトから削除する。 |
OK |
178 |
改善点 |
完了 |
アクション状態をダブルクリックするとメモのときのように入力ウィンドウが出て欲しい。
|
下記のオブジェクトに実装済み
・アクション状態
・ユースケース
・システム境界
|
左記のとおり |
179 |
不具合 |
完了 |
新規オブジェクトが追加できない。
|
UMLスクリーンのコンテキストクラスなどを触ったから?
XML関係?
→StatusFlag を追加したが、sfMouseDown
にするのを忘れていて、Abortされていた。
→正しく状態遷移するようにした。
|
左記のとおり |
180 |
不具合 |
完了 |
アンドゥ/リドゥすると選択中のオブジェクトが増え続ける。
|
再現性が無い |
対応不要 |
181 |
不具合 |
完了 |
プロジェクトビューをフローティングにすると、ツリーリストビューのリスト部分が化ける。
|
データがなくなっているような感じ。
もしかしてシリアライズの実装が必要?
C++Builder 6 になってから発生した模様。
C++Builder ML よりヒントを貰う。コンポーネントが破棄されているかどうかを確認して破棄するかどうかを決める。
void __fastcall TMyListView::OnDeletion(System::TObject* Sender, TTreeNode*
Node)
{
//
コンポーネントが破棄状態でなければ何もしない
if( !
ComponentState.Contains(csDestroying) )
{
return;
}
// Node->Data
の削除
//
....省略....
}
|
OK |
182 |
不具合 |
完了 |
プロパティエディタをフローティング状態で使用していると1st
ModellerがAbortしてしまうことがある。
|
プロパティエディタの裏にあるクラス情報ツリービューの OnDeletionがフローティング時に動作していたため発生した。
No.181 の対応と同じ方法で解決した。
|
OK |
183 |
不具合 |
完了 |
application.xml にタグが追加されたときに自動的に初期値が補完されるはずだが・・・補完されない?
|
コンパイルミス?
現在は補完されている。 |
OK |
184 |
改善点 |
完了 |
スイムレーンの上に異なるオブジェクトを追加しても親子関係が登録されない。その後一度スイムレーンの上で移動させれば親子関係が登録される。
|
階層構造をつくる親子関係を持てるオブジェクトは全てこのようなことになる。
@自動的に親を登録する機能を追加する。
|
OK |
185 |
不具合 |
完了 |
階層の親と子を同時にコピーしてペースとした場合、親子の階層関係が逆になる。
|
内部データを保持していた際にstd::map
に格納していたため、オブジェクトの名前でソートしていた。
TTmsUmlScreen への追加時に親より奥となるZオーダを指定した場合は手前に出るようなZオーダに修正してから追加するようにした。
|
OK |
186 |
不具合 |
完了 |
階層関係にあるオブジェクトで、親をコピーすると子が全てコピーされてしまう。
|
コネクタを自動的にコピーする機能が働いている。
@コピーするときに関連先が子であればコピーしないようにする。
|
OK |
187 |
不具合 |
完了 |
親と子を同時に選択したまま移動させると親子関係が解除されたり、子の親が勝手に変わったりする。
|
子と親が同列に扱われているため、移動先の親を階層の親として新しく設定してしまうため。
@選択中のオブジェクトの中でもっとも親となっているオブジェクトのにのみ新しい親を設定するようにする。
A移動処理の前に、親オブジェクトを走査して選択オブジェクトがあれば移動処理をしないこととする。
(現状での回避方法)
親子関係にあるオブジェクトを同時に選択して移動しなければ発生しない。親だけを移動すれば子は自動的についてくる。
|
A |
188 |
問題点 |
完了 |
たくさんのオブジェクトを選択して移動後に、アンドゥするとアンドゥ過程が描画されてちらつきが発生。
|
Commandオブジェクトに描画抑制機能がなかったため。
@描画抑制機能を追加 |
@ |
189 |
不具合 |
完了 |
Javaソースでメンバ変数名が日本語の場合にメンバ変数名が化けてしまう現象が発生。
|
doxygen 1.3.5 で確認している。
おそらく doxygen の不具合。
→ No.199 を参照 |
OK |
190 |
不具合 |
未着手 |
プロパティエディタの裏にあるクラス情報が勝手に右スクロールすることがある。
非常に使いにくい。
|
クラス・ディクショナリで色々なクラスをクリックしている際に発生することがある。
メソッドの選択処理を行っているがその際に自動的に右スクロールするようだ。
@横スクロール位置を覚えておいてクリックしてクラスが変わった際に位置が移動しないように復元する。
|
|
191 |
不具合 |
完了 |
リバースエンジニアリングした際に、複数行コメントの中身が不完全である。
@複数のパートに分かれている場合に最初のパート部分しか取得できていない。
Aパラメータや戻り値などの説明が書かれている場合、テキスト情報のみ取得しているので読みにくい。
Bコメント中にタグを記入している場合はタグが読み飛ばされて欠落してしまう。
|
@は、全てのパートを対象にしてコメントを取得するようにする。
Aは、doxygenのタグを解析して、Doxygen形式またはJavaDoc形式で複数行コメントの中に格納するようにする。
Bは、doxygenのタグを解析して、コメントの中に格納するようにする。
|
@Bは完了
Aはdoxygen形式でのみ出力することとした。
(JavaDocが必要なら将来対応) |
192 |
問題点 |
未着手 |
複数行コメントなどをプロパティエディタで表示した際、改行が黒い点(・)になって表示されて不恰好。
|
Windows API が勝手に表示している。
対応策は未検討。 |
|
193 |
問題点 |
未着手 |
クラス・ディクショナリ保存時に画面にクラス・ディクショナリを表示していると、クラスを1つずつ走査していくのが見えて処理が非常に遅く感じられる。
|
未調査 |
|
194 |
問題点 |
未着手 |
大量のソースをリバースエンジニアリングして閉じるボタンを押した際に画面が固まったようになる。
少々不恰好である。 |
適度に再描画したり、プログレスバーを出したりした方が見た目は良い。(優先度低) |
|
195 |
改善点 |
完了 |
Doxygenの最終確認バージョンをどこかに書いておく。 |
リバースエンジニアリング画面でよいかな。 |
OK |
196 |
問題点 |
完了 |
たまにクリック場所を間違ってプロジェクトビューなどがフローティングになって、うっとおしい場合がある。
|
フローティングする/しないを切り替えられるようにしたらどうか?
時期/実施するかなどは未定
→大幅改良した |
OK |
197 |
不具合 |
完了 |
XMLで MS932 でエンコーディングされたものがエラーになる。
|
SHIFT-JIS、EUC、UCS-2 にしか対応していないため。
内部的にはSHIFT-JISはMS932で扱っているので、MS932と指定されたらSHIFT-JISとして扱うようにすれば良いはず。
|
OK |
198 |
不具合 |
完了 |
2回続けてりバースエンジニアリングすると、エラーになる。
|
関連・ディクショナリの更新の際に、意味の無いところで return(false)という文があり、必ず処理に失敗していた。
|
OK |
199 |
不具合 |
完了 |
リバースエンジニアリング時に関連・モデルが自動作成されないケースがある。
→基本クラスがXML内に定義されているのにもかかわらず、xmlファイルが無い場合。
|
Well Formed な XML ではないものが出来ている。
原因は、XML宣言のencodingがSHIFT_JIS になっているにも関わらず、内部の文字コードは EUC_JP になっている。
→doxygenの設定ファイルに下記の記述を追加することでおおむね解決したが新たな不具合(?) No.212も発生。
USE_WINDOWS_ENCODING =
NO
|
OK |
200 |
不具合 |
未着手 |
リバースエンジニアリング時に関連・モデルが自動作成されないケースがある。
→クラス宣言時に基本クラスは記述しているが、その基本クラスがどこにも宣言されていない場合。
|
コンパイルに通らないようなソースをリバースエンジニアリングしているのだから仕方ない?
→Javaのコアクラスを基本クラスにした場合はどうなる?
→基本クラスとして解釈されない。
→要検討
|
|
201 |
問題点 |
完了 |
関連・モデルに可視性(Visibility)がない。
|
フォワードエンジニアリングで必要なため追加した。 |
OK |
202 |
問題点 |
未着手 |
関連・モデルで、基本クラスのクラス名は指定できるが、C++のテンプレートクラスだった場合、テンプレート引数が指定できない。
|
フォワードエンジニアリングで必要となる。
これが入力できないと正しいソースが出力できないケースが発生する。 |
|
203 |
不具合 |
完了 |
関連・モデルを修正してもダイアグラムが再描画されない。
|
コネクタの描画クラス側にディクショナリ変更通知を受け付けるインタフェースが未実装だった。
|
OK |
204 |
不具合 |
未着手 |
派生関係のコネクタに関連名などを入力した状態で、関連・モデルの存在するクラスへ接続先を変更する。
その後、アンドゥしても関連名などの値が元の値に戻らない。(先ほどの関連もモデルの値のまま)
|
コネクタの接続先変更の際のアンドゥコマンドオブジェクトは、古い接続先しか覚えていないため。
@古い関連・モデルもアンドゥコマンドにする。
|
|
205 |
不具合 |
未着手 |
関連・モデルを追加した後にアンドゥしたら、ダイアグラムのコネクタが完全に元に戻らない。
|
関連・モデルのアンドゥはモデルの削除だけである。コネクタは描画時に関連・モデルの内容で自分のインスタンスを上書きするため、その内容もアンドゥする必要がある。
@案なし
|
|
206 |
不具合 |
中止 |
保存の際にダイアグラムのファイル名を再入力を要求される事がある。
|
再現性が無いため原因不明。
デバッグモードの時にのみ動作するチェックロジックを入れて様子を見ることとする。
→ 2004/7/25 再現しないため中止
|
|
207 |
不具合 |
完了 |
リバースエンジニアリングの際に、インナークラス関係の関連・モデルが出来ない。
|
実装した。 |
OK |
208 |
改善点 |
完了 |
クラスビューのフォントの設定ができない。 |
実装した。 |
OK |
209 |
不具合 |
完了 |
クラスビューのソートがおかしい? |
実装忘れ。
ノードの更新処理内で TTreeView の SortType に stNone
を設定した後に、stText を設定することで強制ソートさせる。
|
|
210 |
不具合 |
完了 |
コネクタの自動生成で片方向のクラスを選択したときしかできない。
(インナークラスのときだけかもしれない) |
不具合ではなかった。
関連・ディクショナリのデータが悪かった。リバースエンジニアリングに不具合が合ったときのデータだったので、再作成することで正しくコネクタの自動生成が動くことを確認した。
|
|
211 |
不具合 |
完了 |
リバースエンジニアリング時に基本クラスがテンプレートの場合は関連・ディクショナリに自動追加されない。
|
テンプレートクラスの定義をパースして、テンプレート引数を解析するようにすることで対応した。 |
OK |
212 |
不具合 |
着手済み |
Doxygen でリバースエンジニアリングすると不正な XML が出来る事がある。
|
EUC-JP でDoxygenを実行したにも関わらずおかしくなる。
メソッドのパラメータの型がStringで引数名が『品目コード』という文字列の場合におかしくなっている。恐らく『品目コード』という文字列が良くないと思われる。
なぜなら、<type>品目コード</type> という XML
が出力されるべきところが、<type>品目コーゼ/type> となっている。これは『ド』の前半分と小なり記号(<)が合体して『ゼ』になっているようである。
また、引数名は『ド』の後ろ半分と小なり記号が合体して、『票』と言う字になっている。
Doxygenのソースを解析すれば原因がわかるかもしれないが現在のところ、引数に日本語名を使用できる言語が限られていることと、引数名に日本語をあまり使用していないのではないかと想像するため、後回しとする。
|
|
213 |
改善点 |
完了 |
ダイアグラムで使用できる図形を制限しているが、制限しない方が良いのではないか?
|
全てのアイコンを表示してしまうと、ユーザ様が混乱してしまう。しかし、わざわざ図形の使用を制限してしまうのは、作図上不便なこともある。
使いやすいアイコンの表示方法を考える。
→表示方法はまた今度考える |
OK |
214 |
改善点 |
未着手 |
クラスの表示制御に以下を追加してほしい
・属性の初期値のON/OFF
|
未実装 |
|
215 |
改善点 |
完了 |
リバースエンジニアリングの実行後にDoxygenの作業フォルダを削除しない設定が欲しい。(デバッグ用です)
|
INIファイルのデバッグ GROUP の フラグを ON にするとデバッグモードになる。
g_App->DebugFlag() == true ならデバッグモードONとなる。
|
OK |
216 |
改善点 |
完了 |
プロパティエディタのフォントは固定ピッチが良い。 |
|
OK |
217 |
改善点 |
完了 |
クラス・ディクショナリのツリービューに
コンテキストメニューがほしい。削除、追加、編集、コピー&ペースト |
左記の通り実装した |
OK |
218 |
不具合 |
完了 |
ダブルクリックで編集ウィンドウを出し、×ボタンで閉じたら、直後のクリックやダブルクリックが効かない。 |
ダブルクリックで、状態を判別してAbort処理を入れたり、配下のオブジェクトを選択する処理を入れることで改善した。 |
OK |
219 |
改善点 |
完了 |
コネクタの接続ポイントが少ないオブジェクトがある。
|
@接続ポイントを増やす
A接続ポイントに依存しない新しいコネクタを作成する
→ダイアログの自動レイアウトなどを考えるとAの案が良いかも
→Aの案で『アバウトコネクタ』というコネクタを実装した
現在ベータテスト中(Ver.1.36 beta 3) |
A |
220 |
改善点 |
完了 |
ダイアグラムでエンターを押したときに
編集ウィンドウを開いて欲しい。 |
ダブルクリックと同じ効果を出すようにした。
ただし、RunModeがrmNormalでかつ、マウスがキャプチャーされていないことが条件。(オブジェクトの移動中などに押されるとおかしくなるため) |
OK |
221 |
改善点 |
完了 |
上記と同様にエスケープで未選択状態に。 |
左記の通り
また、条件はエンターキーと同じ。
|
OK |
222 |
改善点 |
未着手 |
上記と同様にタブで次のオブジェクトに選択状態を変更してほしい。 |
未着手 |
|
223 |
改善点 |
未着手 |
オブジェクト間のコネクタが折れ線コネクタの場合、両端が移動したのに折れ線コネクタの中間点が移動しないのは不便ではないか。 |
未着手
No.291と同種 |
|
224 |
不具合 |
完了 |
ツリービューで、キーボードのポップアップキーを使用すると、選択が解除される。
|
マウスの座標を取得して、配下のノードを選択する処理があり、マウスが変なところにあると未選択状態に変更しているため。
→マウスによるポップアップメニューの表示か、キーボードによるポップアップメニューの表示化を区別して、処理を分ける必要がある。
|
OK |
225 |
不具合 |
完了 |
beta3 にて集約コネクタが白抜きにならない |
Brush->Style が bsClear の状態だった。
Brush->Style を bsSolid にして Brush->Color を操作することで正常に動作した。 |
|
226 |
改善点 |
完了 |
クラスビューから新規クラス・モデルが追加できたら便利 |
クラス・ディクショナリが存在する場合のみ、クラス・モデルを作成できる。
クラス・ディクショナリが複数ある場合は先頭のディクショナリに追加する。 |
OK |
227 |
改善点 |
未着手 |
[編集]メニューに[書式]を追加して、メモなどの書式を変更できるようにしたら便利。
書式には「左寄せ・中央寄せ・右寄せ」「同縦方向」「前景色」「背景色」などがある。
また、そのアイコンを常に表示していると便利かも。(ダイアグラムのツールバーではなく、メインウィンドウのツールバーに表示) |
未検討 |
|
228 |
改善点 |
完了 |
クラス図の自動生成機能が欲しい。
(リバースエンジニアリング後にその結果をクラス図にいきなり出力する機能) |
クラス図を自動レイアウトする機能については以前調査して、実現の目処が付いている。
リバースエンジニアリングしたクラス全てを1枚のクラス図にするのは意味の無いクラス図になる可能性が高いので、UIも含めて検討が必要。
→クラス図の自動生成機能を追加 Ver.1.40
|
OK |
229 |
改善点 |
未着手 |
リバースエンジニアリング時の入力フォルダ&ファイルを指定するが、特定のフォルダを除外する機能が欲しい。
|
Doxygen の機能で EXCLUDE_PATTERNS を使用することで実現が可能。以下のように使用する。
*/test/*
*/t?s?/*
入力フォルダまたはファイルのパス名にマッチしたものを除外する。
|
|
230 |
問題点 |
未着手 |
アバウトコネクタを接続後、接続先のオブジェクトを小さくした際に端点がオブジェクトの外接矩形からはみ出ることがある。
コネクタが端点のオブジェクトにとどこ内容に表示される。
|
見た目以外に問題点はないので、現段階では修正しない。
修正するのは意外と難しいため、後回し。
→端点のオブジェクトのリサイズでコネクタの端点の位置を補正するのだが、アンドゥ用Commandオブジェクトの作成するタイミングがない。 |
|
231 |
不具合 |
完了 |
階層子オブジェクトをドラッグ終了した際に、親オブジェクトの選択線が消えない。 |
ステートオブジェクトのClearメソッドで階層親オブジェクトを格納する変数をクリアし忘れていた。 |
OK |
232 |
改善点 |
未着手 |
マウスの右ボタンでドラッグすることで、UMLスクリーンを任意にスクロールできたら便利。 |
右クリックのポップアップとの調整が必要。
→右ボタンの押下位置と開放位置が同じならポップアップ。
違えばスクロールというのは?
→右クリック時に少しでも動くとドラッグになってしまって不便では
ないか?
→Windowsのダブルクリックのようにある程度範囲を持たせて
閾値を超えたらドラッグというのは?
|
|
233 |
不具合 |
完了 |
UMLスクリーンで複数のオブジェクトを選択してコピー&ペーストした際にオブジェクトの順番がおかしくなることがある。 |
コネクタ以外のオブジェクトが逆転していると思われる。
→逆転ではなく名前順になっていた。名前順に追加するようにした。 |
OK |
234 |
不具合 |
完了 |
メモが自動レイアウトの対象外になっている。 |
矩形インタフェースを持つものを対象外にしていた点を解除した。 |
OK |
235 |
不具合 |
完了 |
自動レイアウトの際に、関連クラスがあるとレイアウトが上手く行かない。
|
自動レイアウトのライブラリ自体は対応できているが、データを引き渡す際にコネクタが引き渡されていないのが原因。
→対象にするように修正
|
OK |
236 |
改善点 |
完了 |
クラスビューからクラスドラッグ&ドロップした際に、クラスが小さいままだが適切な大きさにならないか? |
CDrawJustFitIF を描画クラスに継承させて、純粋仮想関数 JustFit を実装することで対応した。
今後は、自動サイズ調整が必要なクラスはこのクラスを派生させて対応する。 |
OK |
237 |
改善点 |
完了 |
クラスビューからクラスドラッグ&ドロップした際に、関連・ディクショナリを参照して自動的にコネクタを作成することはできないか? |
クラスビューの中のツールバーにボタンを設けて、自動作成するかどうかを指定できるようにした。デフォルトは自動作成ON。 |
OK |
238 |
改善点 |
完了 |
EMFを出力するダイアログでファイルを選んだら自動的にラジオボタンを選択して欲しい。 |
ファイルを選択したらラジオボタンをONするように変更。 |
OK |
239 |
改善点 |
完了 |
クラスビューからドロップした時にプロパティエディタの表示制御を指定したい。 |
ドロップした後に一々プロパティエディタで変更するのは面倒。
案1:メニュー直下にあるツールバーにON/OFFするツールバーを追加する。(こうすることで子ウィンドウ内でクラスを作成したときにも適用される)
案2:クラスビュー内にあるツールバーにON/OFFするボタンを追加する。(クラスビュー専用の設定となる)
|
|
240 |
不具合 |
完了 |
自動レイアウト時に最短ルートコネクタの接続ポイントがおかしくなるときがある。 |
オブジェクトの更新前にコネクタの接続先の最適化処理を行っていたため、古い情報を元に最適化を行っていた。
ただし、コネクタの更新後にオブジェクトの更新伝播を行う必要があるため以下のようにした。
@オブジェクトの移動
Aコネクタの接続先の最適化
Bオブジェクトの更新伝播
|
OK |
241 |
改善点 |
完了 |
自動コネクタ生成ではアバウトコネクタを使用してほしい。 |
どちらが使いやすいかは不明。
実現自体は簡単。
→アバウトコネクタとした |
OK |
242 |
改善点 |
未着手 |
クラスの表示制御に属性・操作に対してpublicのみ/全てという選択をしたい |
リバースエンジニアリングした状態のクラスは非常にメソッドが多く、手軽な方法でコンパクトに表示したいという要望が元となっている。
|
|
243 |
改善点 |
中止 |
クラスビューの複数選択 |
なかなか難しい。 |
|
244 |
問題点 |
完了 |
オブジェクトの追加が重くなってきた気がする。 |
オブジェクトビューの再描画が重い可能性あり。
上手に差分更新できればいいが、現在未調査。
→名前生成が遅かった
|
OK |
245 |
不具合 |
完了 |
自動レイアウトで押しピン機能を使用すると、図が壊れることがある。 |
調査中だが原因不明。
(押しピン機能は現在非公開機能になっている)
→押しピン時は別処理を行っていたが、「固定側は移動量を0とする」ことに変更した。
|
OK |
246 |
不具合 |
完了 |
アバウトコネクタを使用しているクラスをドラッグするときに、コネクタの中間点追加モードになってしまうことがある。
|
表示上端点から端点までの間はドラッグできないようにする。 |
OK |
247 |
不具合 |
完了 |
小さいフォント(96dpi)の設定されているPCで作成したUMLを大きいフォント(120dpi)で参照すると文字が大きく表示されてしまう。
|
内部的にフォントをポイントで指定しているため、ピクセル換算した際に大きくなっている。
(内部的に)フォントを指定する際に、図を作成したときのPCにおけるDPIと現在表示しているPCのDPIを考慮してフォントのサイズ(pixcel)を変更する必要がある。
→UMLスクリーンにDPIを持たせて文字列描画時にはそのDPIとDCのDPIとの比率から毎回フォントのサイズを計算するようにした。
|
OK |
248 |
改善点 |
完了 |
ダイアログのDPIを設定できるようにしたい。
|
大きいフォント(120dpi)の環境で作成したUMLは自動的に120dpiに設定されてしまうが、何らかの理由で変更したいことがある。
ただし、これを変えると図中の文字の大きさが変わるため整形しなおす必要がでてくるかもしれない。
|
OK |
249 |
不具合 |
完了 |
UMLスクリーンの右下の余白の色がおかしくなる事がある。 |
背景の塗りつぶしをOFFにしているため、右下だけ色が描画されない。
右下だけは色を塗りつぶすようにする必要あり。 |
OK |
250 |
不具合 |
完了 |
印刷時に、ダイアグラムのDPIが96で無い場合にヘッダー/フッターの文字サイズがおかしくなる。 |
UMLスクリーンのDPIが大きくなったら、それに合わせてフォントを大きくするようにした。
基準は 96 DPI とした。
|
OK |
251 |
改善点 |
完了 |
印刷ボタンを押したら必ずアクティブプロジェクトなのは、不便である。
子ウィンドウがある場合は、表示中の子ウィンドウのプロジェクトを印刷したい。、 |
対応する |
OK |
252 |
改善点 |
完了 |
プレビューボタンを押したら必ずアクティブな子ウィンドウのプロジェクトなのは、不便である。
子ウィンドウが1つも無い場合は、アクティブプロジェクトを対象にしてプレビュー表示したい。 |
対応する |
OK |
253 |
不具合 |
完了 |
関連・ディクショナリの追加画面でパッケージ名をキーボードで入力した場合に、クラス名のコンボボックスのリストが更新されない。
なお、パッケージ名をコンボボックスから選んだ場合は正しく動作する。 |
キーボードイベントの考慮抜け。
→OnExitでコンボボックス更新 |
OK |
254 |
問題点 |
完了 |
コネクタの自動追加処理が非常に遅いことがある。
遅くなる条件は不明。 |
新しい名前の生成の際に、UMLスクリーンのデータをプロジェクトデータに保存していたのが遅かった。
UMLスクリーン上で名前の衝突検査をするように修正した。
|
OK |
255 |
問題点 |
完了 |
クラス図の自動生成で、どのクラスとも関係を持たないクラスが多い場合に、処理が非常に遅くなる。 |
余剰クラスの整列処理が遅い。原因は未調査。
比較回数が非常に多かった。比較回数を減らすアルゴリズムに変更した。 |
OK |
256 |
不具合 |
中止 |
リバースエンジニアリング時に、Doxygenコメントがくずれることがある。
(\author の前に改行が入らない事がある。) |
未調査
→Doxygen1.4.1では再現性なし
→Doxygen1.4.2では再現性なし
|
|
257 |
問題点 |
完了 |
UMLスクリーン上に大量オブジェクト(数百個)ある場合に、オブジェクトの削除などが遅くなる。 |
・再描画が走っているのが遅いのか?
→描画系の処理方法を変更して効率化したので様子を見る |
OK |
258 |
不具合 |
完了 |
オブジェクトを移動して、UndoするとZオーダが復元されない。 |
Zオーダの小さいものから順に復元していたのが原因だった。
大きいものから順に復元することで対応した。
また、Listコマンドを2度発行していた不具合もあった。
また、Redo処理ではZオーダの小さいものから順に処理していなかったために同様の不具合があったので修正した。(修正前は順不同で処理していた)
|
OK |
259 |
問題点 |
完了 |
印刷ダイアログのプリンタ名の横にある「プロパティ」ボタンが未実装である。 |
各種OSでテストする時間がとれなかったため使用できなくしている。使用可能にするかどうかは要検討。
DocumentProperties で対応した。 |
OK |
260 |
問題点 |
完了 |
【フォワードエンジニアリング】コンストラクタ/デストラクタの自動作成をONにした時に、既にコンストラクタなどがあっても作成されてしまう。 |
変更するまでは、ラウンドトリップ・エンジニアリング時はOFFにしてもらうことになる。
→class.xml
作成時にコンストラクタ/デストラクタの有無を調べてClassSpecのhaveCstr, haveDstr 属性に true/false
を設定するようにした。 |
OK |
261 |
不具合 |
完了 |
【フォワードエンジニアリング】C++ソース出力でコンストラクタ/デストラクタの自動作成をONにした時に、テンプレートクラスにも関わらずcppに実装ができてしまう。 |
自動コンストラクタ生成の処理にテンプレートクラスの考慮が無いために発生する。
|
OK |
262 |
問題点 |
完了 |
【フォワードエンジニアリング】Javaの時に基本クラスの extends と
implements が出力されない。 |
対応した |
OK |
263 |
不具合 |
完了 |
描いた図を読み込み、子ウィンドウを開こうとするとエラーが発生。
(1.40になって初めて出た) |
恐らくアバウトコネクタを関連クラス形式で使用した場合にのみ発生すると思われる。
アバウトコネクタの読込後に関連付け処理を行うが、OnChange内で計算値がオーバーフローして予期せぬ値になっていた。
これは、コネクタの座標の初期値が -65536*32767になっていたためである。初期値を-65536*256とした。
|
|
264 |
不具合 |
完了 |
時々、印刷の倍率が5%になっている。 |
余白の値を読み込んだ後に、倍率のところに書き込んでいた。 |
OK |
265 |
問題点 |
完了 |
テンプレート引数をリバースエンジニアリングした際に、引数の値の後ろに半角スペースがついていることがある。 |
CTmsStrBase<T>::TrimRight() の不具合だった。 |
OK |
266 |
問題点 |
完了 |
関連モデルに実現関係も登録したい。
|
スキーマXMLの修正。
自動関連・モデル登録対象の関係種類の修正。(TfrmChildDgm::GetCnctLineWhenAssociationModel) |
OK |
267 |
問題点 |
完了 |
(No.266の続き)また、RE時にclassからの派生は汎化関係の関連モデルを登録し、interfaceからの派生は実現関係の関連モデルを登録するようにして欲しい。 |
ステレオタイプがinterfaceの時に、関連の種類を「実現関係」にした。 |
OK |
268 |
不具合 |
完了 |
Javaのinterfaceをソース出力したら、実装が出来てしまう。 |
|
OK |
269 |
不具合 |
完了 |
リバースエンジニアリングしたソースのメソッドの戻り値型に、abstract ,
virtual などが付く。 |
Javaの時に対応した。
→C#など多言語は未対応 |
|
270 |
問題点 |
完了 |
C++のexplicit、mutable、volatileをクラス・モデルに格納したい |
・リバースエンジニアリング処理の追加
・クラス・モデルに保持し、入力I/Fの作成 |
OK |
271 |
不具合 |
完了 |
プロパティエディタ上でカーソル移動すると、コンボボックスの内容が勝手に書き換わってしまう事がある。 |
KeyUpイベントが作用していた。
KeyUp,KeyDownで独自の処理をした後にそのイベントを無効にしてコンボボックスにメッセージを渡さないようにして対応した。 |
OK |
272 |
不具合 |
未着手 |
ページ設定で「A3横」を指定してもA4縦で出力される場合がある。その場合はプレビューで見てもA4縦で表示される。再起動すると正しくA3で出力される。
(再現性が低いらしい) |
調査中。
原因不明。 |
|
273 |
不具合 |
未着手 |
印刷ダイアログに印刷対象に何も表示されない場合がある。印刷は最後に印刷したものがが出力される。再起動すると正しく表示されるようです。
(再現性があるようだが、確認できず) |
調査中。
原因不明。 |
|
274 |
不具合 |
未着手 |
クラスのプロパティの色選択のリストボックスが開かない場合がある。マルチモニタ環境でセカンドモニタにプロパティが表示されている時に開かない場合があるようです。 |
調査中。
原因不明。 |
|
275 |
改善点 |
完了 |
ページ設定で、ヘッダ・フッタのフォント指定ができるようにして欲しい。 |
実装した。 |
OK |
276 |
改善点 |
完了 |
ダイアグラムの画像に変換する機能で、出力先ファイル名をクラス図のファイル毎に覚えて欲しい。 |
実装した。
また、EMFもダイアグラムごとに記憶するようにした。 |
OK |
277 |
不具合 |
完了 |
アクターをデフォルトのサイズで作成した場合、選択時のリサイズポイントの一部が表示されない。 |
UMLスクリーンをクリックしてオブジェクトを配置した場合は、矩形サイズは1ドットになる。
しかし、SetHeightの中で最小値チェックをしていなかったため、1のまま高さが設定されてしまった。 |
OK |
278 |
改善点 |
完了 |
ヘルプのリバースエンジニアリングのページに説明不足がある。
クラス・ディクショナリの作成前にプロジェクト作成が必要であることを書くこと。 |
記述した |
OK |
279 |
不具合 |
完了 |
プロジェクトを2つ作って、アンドゥするとエラーが発生する。 |
プロジェクトウィザードで決めた名前を使用せずに内部的な処理をおこなっている箇所があったため、内部で "Project" という名前になっていた。 |
OK |
280 |
不具合 |
完了 |
プロパティエディタ、クラス情報ビューが更新されない。 |
プロパティエディタは対応した。
→完了 |
OK |
281 |
不具合 |
完了 |
オブジェクトを削除してアンドゥしても元に戻らない。 |
内部的に戻っていたが、UMLスクリーンへの反映が漏れていた。 |
OK |
282 |
不具合 |
完了 |
削除後のアンドゥによって、オブジェクトの追加が発生するが、追加イベントが発生しない。 |
原因は、プロジェクトデータの変更イベントとして処理しているため。
全ウィンドウを再描画・再構築しても良いが、CPUの無駄が多いため処理前後の差分を求められればベスト。
なお、現在ディクショナリはモデルの削除イベント後に追加イベントを発生させている。 |
OK |
283 |
不具合 |
完了 |
オブジェクトビューのノードの並び順が画面上の順序と対応していない事がある。 |
未調査
→再現なし。 |
OK |
284 |
改善点 |
未着手 |
メモオブジェクトにタブを入力すると、メモオブジェクトの描画の際に黒い点で描画される。 |
未検討 |
|
285 |
不具合 |
着手済み |
大量の描画オブジェクトをコピー&ペーストするとエラーで異常終了する。 |
・メモリ不足時の考慮が抜けている箇所があった
・deleteしたあと、NULLに初期化していない箇所があった
・以上終了時にレジスタ情報とスタックトレース収集機能を追加
→様子を見る |
OK |
286 |
不具合 |
完了 |
描画オブジェクトをコピー&ペーストすると、全てコピーされないことがある。
再現性あり。
一度コピーしたものを再度コピーすると怪しい。 |
・親子関係があると上手く行かないみたい。
→No.289が原因
|
OK |
287 |
不具合 |
完了 |
バウンダリボックスをコピー&ペーストすると、中の文字のアラインメントが中央になってしまう。 |
シリアライズの処理で、垂直方向のアラインメントを出力するはずのところが、水平方向のアラインメントを出力していた。
垂直方向のアラインメントを出力するように修正。
ver.1.44では正しく処理できていたようだ。 |
OK |
288 |
改善点 |
完了 |
親子関係のあるオブジェクトの親だけを選択してCTRL+Xしたあとにアンドゥするとエラー発生。 |
未調査
→No.289が原因だったと思われる。 |
OK |
289 |
不具合 |
完了 |
コピー&ペーストするとオブジェクトの名前が変になるときがある。
"Actor
1"と"Actor1"などスペースが詰まる。"Actor 2"となってほしい。 |
XMLのパース時に、 の解析で i64Work > 0xFFFFFFFF
という判定があったが、16進数が符号付として処理されていて、空文字列になっていた。
0xFFFFFFFFui64 に修正した。
|
OK |
290 |
不具合 |
完了 |
コネクタの追加をしても、オブジェクトビューにリアルタイムに反映されない。 |
未調査
→No.289が原因だったと思われる。 |
OK |
291 |
改善点 |
未着手 |
2つの描画オブジェクトの間に引いたアバウトコネクタの中間点が、2つのオブジェクトの移動時に移動しない。 |
コネクタのMediator更新イベントの中では、両端の座標が同時に移動していないと中間点は移動しない仕様になっている。
対応案@:更新イベントの順番を変える。コネクタは特別に最後にイベント発生。→更新イベントから更新イベントを呼んでいる際はどうする?後回しにしにくい。
|
|
292 |
不具合 |
完了 |
バウンダリボックスの文字のアラインメントを変更すると、エラーが発生。 |
No.289と同様に0xFFFFFFFFが-1として処理されていた。
今回は符号付の__int64に変換したかったので、0xffffffffui64と掛けなかった。(書くと予期せず-1になる)
そこでatoi64("4294967295") とした。
|
OK |
293 |
不具合 |
完了 |
デスクトップの復元を行うと、小さいウィンドウが一時的に表示されて見苦しい。 |
BDS2006になってから発生するようになった。
→フォームから派生していないコントロールを
ManualFloat()しても指定の座標にフローティングされず
自動位置になってしまうため発生。
→全てのドッキングクライアントはフォームを持たせ
そのフォームに貼り付けた。
|
OK |
294 |
不具合 |
完了 |
デスクトップの復元を行うと、オブジェクトビューに同じ名前のノードが増えていく。 |
未調査。
→いつの間にか修正されていた
|
OK |
295 |
不具合 |
完了 |
オブジェクトを移動直後、プロパティエディタで変更を適用したら移動前の状態に戻る。
|
移動後にプロパティエディタが更新されないため、移動前のX,Yが残っている。
よって、移動が取り消されたように見える。
→対応策は、プロパティエディタを更新するようにする。
|
OK |
296 |
不具合 |
完了 |
オブジェクトを選択して削除した後に、プロパティエディタがそのまま残ってしまう。 |
選択状態の変更イベントが来ていない?
→削除時に選択状態の変更イベントを発生させるように修正 |
OK |
297 |
不具合 |
完了 |
リバースエンジニアリング後に、閉じるボタンを押すとエラー発生。
「プロジェクトデータの追加・更新に失敗」 |
クラスディクショナリのウィンドウにリバースエンジニアリング結果を反映する処理で、LoadUmlDgm()を呼び出していた。
→CDgmInfoに仮想関数を追加して、その中でウィンドウへの反映処理を記述することで、ディクショナリとダイアグラムなどを考慮せずに処理可能とした。
|
OK |
298 |
不具合 |
完了 |
クラスダイアグラムからメソッドを変更すると
引数のin/outタイプがinになってしまう。 |
ClassModelMethod.xmlの中のMethodArgInitのInitを"in"から""に変更した。 |
OK |
299 |
改善点 |
完了 |
操作・属性の編集画面でデフォルトで最上位の項目が編集状態でスタートして欲しい。 |
属性、操作、typedefに対応した |
OK |
300 |
改善点 |
未着手 |
クラスビューから新規クラスを作成する時に選択しているノードの名前空間が自動的に初期設定されると便利 |
未調査 |
|
301 |
不具合 |
未着手 |
ネットワークパス上にプロジェクトを置くとダイアグラムなどの相対パスがおかしくなる。 |
No.306が原因だと思われるが、再現せず。 |
|
302 |
改善点 |
完了 |
プロジェクトの読込エラー時のメッセージの処理方法に統一感が無く、非常に分かりにくい。 |
CUmlProject、CUmlDgmBaseなどのLoad/Save関連を全て統一ルールで処理するように修正した。
ただし、読込エラーフラグについては未実装。 |
OK |
303 |
不具合 |
未着手 |
右クリックでUML描画オブジェクトを選択してもプロパティエディタなどが更新されない |
未調査 |
|
304 |
改善点 |
未着手 |
複数選択して同時にリサイズしたい |
未検討 |
|
305 |
改善点 |
未着手 |
オブジェクトの移動時の親の決定方法を変更したほうが良い
→オブジェクトを完全に含むコントロールを親とする |
未検討 |
|
306 |
不具合 |
未着手 |
保存したファイルを無関係のディレクトリに移動するとプロジェクトビュー上のパスがおかしくなる。 |
再現せず。 |
|
307 |
改善点 |
完了 |
Windows XP ではプロジェクトビューの選択ノードの文字が読みにくい。 |
ハイライト時のテキストの色をシステムカラーから取得して設定するように修正した。色はCOLOR_HIGHLIGHTTEXTとした。 |
OK |
308 |
改善点 |
未着手 |
CTRLを押しながら移動でコピーしたい(MS-Office動作) |
未検討 |
|
309 |
不具合 |
未着手 |
テキストオブジェクトなどをダブルクリックで編集した後にコネクタの作成が出来ない
※無関係なところでダブルクリックすると回復 |
未調査 |
|
310 |
不具合 |
完了 |
押しピン機能を使用して、オブジェクトの位置を固定した状態でその間にアバウトコネクタ以外のコネクタを作成すると、接続位置がおかしくなる。 |
アバウトコネクタ以外の場合は、押しピン状態と同様の状態にする必要がある。 |
|
311 |
不具合 |
完了 |
クラス図自動生成の機能で、リストボックスが表示されない。 |
borlndmm.dllが古かった? |
|
312 |
|
|
|
|
|
|
|
|
|
|
|