掲示板一覧   -   トピック一覧
   EA API
     シーケンス図上のオブジェクトを作成・操作するAPIについて


フラット表示 前のトピック | 次のトピック
投稿者 トピック
mogass
投稿日時: 2013-9-30 9:51
EA Administrator
投稿: 171

シーケンス図上のオブジェクトを作成・操作するAPIについて

サポートに頂きましたご質問と回答の要約です。

○ご質問

APIを使用してシーケンス図を作成するにあたって、以下の操作が可能か、
また使用するAPIについてご教示願います。
1つのAPI操作で不可でも組み合わせて可能であればご教示願います。

・既存のシーケンス図から、ダイアグラムの概要ノート、凡例をコピーして
 新規に追加したシーケンス図に追加したい
・ユースケース図→ロバストネス図→シーケンス図と生成した際に
 ユースケースシナリオから引き継がれたノートをコピーして
 新規に追加したシーケンス図に追加したい
・追加設定、インスタンスの分類子を設定と同等のAPIで
 ライフライン・オブジェクトの分類子を設定したい

以上、よろしくお願いします。

○回答

いただきましたご質問に回答させていただきます。

以下、ご質問の内容を引用させていただきます。

引用:
・既存のシーケンス図から、ダイアグラムの概要ノート、凡例をコピーして
 新規に追加したシーケンス図に追加したい

シーケンス図などのダイアグラムに要素を配置する場合、
以下のように記述します。

newObj = diagram.DiagramObjects.AddNew("l=200;r=400;t=200;b=600;","");
newObj.ElementID = element.ElementID;
newObj.Update();

(このサンプルコードは、ヘルプの「ダイアグラムの追加と操作」
より抜粋しています。こちらもご覧ください。)

DiagramObjectsは、ダイアグラムに配置されている描画要素の
コレクションです。このコレクションに描画要素を新たに作成し
(AddNewメソッドを使用して作成)、作成した描画要素に要素(element)を
結びつけることにより、ダイアグラムに要素の情報が表示される
ようになります。

既存の要素(ダイアグラムの概要ノート、凡例)に関しましては、
「element」の部分にあたりますので、前もって情報を取得し、
新たに作成した描画要素に結びつけてください。

AddNewメソッドの引数「"l=200;r=400;t=200;b=600;"」にあたる部分は、
ダイアグラム上の配置位置を指定します。それぞれleft、right、top、
bottomにあたる値を指定します。

既存のダイアグラムの配置位置をそのまま引き継ぎたい場合は、
既存のダイアグラムのDiagramObjects内にある、該当要素にあたる
描画要素の配置位置を取得し、以下のように設定することもできます。

newObj.Left = srcObj.Left;
newObj.Right = srcObj.Right;
newObj.Top = srcObj.Top;
newObj.Bottom = srcObj.Bottom;
newObj.Update();

引用:
・ユースケース図→ロバストネス図→シーケンス図と生成した際に
 ユースケースシナリオから引き継がれたノートをコピーして
 新規に追加したシーケンス図に追加したい

こちらも上記と同様の方法でダイアグラムに追加することが可能です。

引用:
・追加設定、インスタンスの分類子を設定と同等のAPIで
 ライフライン・オブジェクトの分類子を設定したい

インスタンスの分類子を設定された既存のオブジェクトを
シーケンス図に配置する場合は、上記と同様の方法で追加することで、
実現することが可能です。

新たにライフライン・オブジェクトを作成し、分類子を設定する場合は、
Element.ClassifierIDに分類子をして設定する要素のElementIDを
することで、分類子を設定することができます。


回答でご不明な点などございましたら、
お手数をお掛けし申し訳ございませんが、
再度ご連絡いただけますようお願いいたします。

今後ともよろしくお願いいたします。
フラット表示 前のトピック | 次のトピック

題名 投稿者 日時
 » シーケンス図上のオブジェクトを作成・操作するAPIについて mogass 2013-9-30 9:51