掲示板一覧   -   トピック一覧
   EA API
     Elementの選択解除を知る方法


スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
未登録ゲスト
投稿日時: 2008-2-25 14:56

Elementの選択解除を知る方法

選択された要素の種類に応じてコンテキストメニューの内容を
変更しようと思っています。
最初、EA_GetMenuItems()のタイミングで、Diagram.SelectedObjectsの
情報を使用しようと思ったのですが、このタイミングだと、
選択されているエレメントの情報が最新ではありませんでした。

そのため、EA_OnContextItemChanged()イベントで選択されて
いるエレメントを覚える方向で対処する方向にしました。
しかし、このイベントが発生するのは選択された時のみで、
非選択になった時は発生しません。
いろいろ試したところ、このイベントの引数otがエレメント
以外ならエレメントの選択が解除されたと判定できそうな
感じでした。
このやり方は正しいのでしょうか?
sugimoto
投稿日時: 2008-2-25 15:48
EA Administrator
投稿: 1895

Re: Elementの選択解除を知る方法

引用:

選択された要素の種類に応じてコンテキストメニューの内容を
変更しようと思っています。
最初、EA_GetMenuItems()のタイミングで、Diagram.SelectedObjectsの
情報を使用しようと思ったのですが、このタイミングだと、
選択されているエレメントの情報が最新ではありませんでした。


こちら情報が最新ではないとのご指摘をいただいておりますが、
どのような状況で情報が取得できなかったでしょうか?

EAのバグの可能性もありますので、情報をお寄せいただけますと
助かります。

引用:

そのため、EA_OnContextItemChanged()イベントで選択されて
いるエレメントを覚える方向で対処する方向にしました。
しかし、このイベントが発生するのは選択された時のみで、
非選択になった時は発生しません。
いろいろ試したところ、このイベントの引数otがエレメント
以外ならエレメントの選択が解除されたと判定できそうな
感じでした。
このやり方は正しいのでしょうか?


要素によってコンテキストメニューの内容を変えたいということですと、
可能であればEA_GetMenuItems()がよろしいかと思います。
EA_OnContextItemChanged()は、ご認識の通り、非選択になった
タイミングでは呼ばれません。選択された要素を把握したい場合に、
このアドインが呼ばれます。
現状は、1回前がotElementで呼ばれ、次が異なるタイプの場合は、
要素の選択解除の動作が行われておりますが、非選択になったことを
判断するために使用するのはメソッドの現仕様目的からすると
保証いたしかねます。

ご理解いただけますと、助かります。
未登録ゲスト
投稿日時: 2008-2-25 18:14

Re: Elementの選択解除を知る方法

引用:

こちら情報が最新ではないとのご指摘をいただいておりますが、
どのような状況で情報が取得できなかったでしょうか?


例えばダイアグラム上に2つの要素A、Bがあったとして、Aを
選択しているとします。
その時に、Bを右クリックをすると表示上はBが選択されて
いますが、EA_GetMenuItems()の時にはDiagram.SelectedObjects
で取れるのはAとなっていて、EA_GetMenuState()の時にBが
取れています。

ご確認お願いします。
sugimoto
投稿日時: 2008-2-26 9:55
EA Administrator
投稿: 1895

Re: Elementの選択解除を知る方法

ご指摘の現象を確認いたしました。

こちらはEAのバグになりますので、開発元に連絡し、
修正いたします。

大変申し訳ございませんが、修正までは一度要素を
左クリックしてから右クリックしてメニューを表示
するなどしてご対応いただけますようお願いいたします。

ご迷惑をお掛けし、申し訳ございません。
未登録ゲスト
投稿日時: 2008-2-26 14:03

Re: Elementの選択解除を知る方法

了解しました。
ご確認いただき、ありがとうございました。
sugimoto
投稿日時: 2008-2-26 14:16
EA Administrator
投稿: 1895

Re: Elementの選択解除を知る方法

このたびはご迷惑をお掛けし、申し訳ございません。

修正されましたら、ご連絡いたします。

今後ともよろしくお願いします。
sugimoto
投稿日時: 2008-3-19 15:28
EA Administrator
投稿: 1895

Re: Elementの選択解除を知る方法

この問題はEnterprise Architect7.1 ビルド827で修正されました。
ご迷惑をおかけし申し訳ございませんでした。

最新版をご利用ください。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ