フォーラム一覧 - トピック一覧 初めてastah* APIをお使いになる方へ Astah-APIによるステートマシン図の編集 | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | トピック |
---|---|
zuruzuru2 | 投稿日時: 2012-11-27 11:58 |
新米 登録日: 2012-11-27 居住地: 投稿: 3 |
Astah-APIによるステートマシン図の編集 こんにちは。初めて投稿させていただきます。
astah*-proで動作するプラグインを試作しています。 APIの使い方で不明な点があるので皆様のお知恵をいただきたく 投稿しました。 ステートマシン図や図の要素(StateやPseudostateや Transition)をスクラッチ(一から作る)で作る方法は 確認できましたが、 すでにあるステートマシン図を「編集」する方法で わからないところがあります。 単純に図の要素の位置を移動するのは、 モデル要素(IStateなど)の メソッドgetPresentations()で取得される INodePresentationオブジェクトに対して、 setLocation()等を実行すると変更は可能です。 ★ 質問は、 IVertex 型であらわされる「状態」の類を モデル構造上の階層移動する方法です。 例でいいますと、 2つの IStateが1つのステートマシン図のトップ階層にあり、 それぞれ IState s1,s2 ; とします。 s1のsubvertexとしてs2を設定する方法がわかりません。 ---- 思いつく方法としては、 pa=ProjectAccessorFactory.getProjectAccessor(); bme=pa.getModelEditorFactory().getBasicModelEditor(); このような形で得られる IBasicModelEditorで bme.changeParent(newparent,elem); を実行することだと思いましたが、これを実行した時点で、 parent is invalid というメッセージを含む例外が発生してしまいます。 マウスによるオペレーションだと、状態の下階層に 状態を持ってくる場合は、図上の位置関係もありそう なので、IVertexのgetPresentations()で得られる IPresentationオブジェクトの位置(と大きさ)を調整して 含まれるようにしても、やはり、上記の changeParent を実行した時点で同様の例外が発生するので、 そもそもr changeParent() を使う方法が間違っているのかも と思いました。 以上のように、 いろいろ試してはいるものの、うまい方法が見つかっていません。 |
myamamoto | 投稿日時: 2012-11-28 11:30 |
開発者 登録日: 2006-5-9 居住地: 投稿: 49 |
Re: Astah-APIによるステートマシン図の編集 astahのご利用ありがとうございます。
ご質問について回答致します。 ある状態を他の状態のsubvertexにするには、モデルに対する変更が必要ですが、あいにく、現時点では、それに対応するAPIを提供しておりません。 今後、提供することを検討致します。 引き続きastahをよろしくお願い致します。 |
zuruzuru2 | 投稿日時: 2012-11-28 13:38 |
新米 登録日: 2012-11-27 居住地: 投稿: 3 |
Re: Astah-APIによるステートマシン図の編集 早速の回答がありがとうございます。
APIが提供されていない件、了解しました。 回避策を考えています。 ひとつの有力な案(というか唯一の案?)としては、 新しく作りなおす・・ということが考えられます。 この場合、問題となりそうなことは、 新しく作ったモデル要素(IStateなど)に、 元のモデル要素の各種属性情報を移行したいことです。 これについてのサポートAPIはありますか? ない場合、個別に情報をコピーしていくことになると 思いますが、 どのような属性があるなどの情報は、どうやって調べるのでしょうか。 astahのプロパティ画面の要素を虱潰しに見ていくとか・・。 よろしくお願いします。 |
myamamoto | 投稿日時: 2012-11-28 16:23 |
開発者 登録日: 2006-5-9 居住地: 投稿: 49 |
Re: Astah-APIによるステートマシン図の編集 ご質問に回答致します。
モデル要素の属性情報をまとめてコピーするようなAPIはございません。よって、各属性を個別に設定していただかなければなりません。 また、astahで設定可能な属性につきましては、プロパティ画面やコンテキストメニューで設定可能なものということになりますが、APIで設定可能な属性となりますと、その中でも、設定インタフェースが提供されているものということになります。こちらにつきましては、APIリファレンスを参照頂くことがよろしいかと思います。 ご不明な点等ありましたら、お手数ですが指摘下さい。 |
zuruzuru2 | 投稿日時: 2012-11-29 23:21 |
新米 登録日: 2012-11-27 居住地: 投稿: 3 |
Re: Astah-APIによるステートマシン図の編集 回答有り難うございます。
そうですか。 やはり、無いですか。 まずは、おっしゃるとおりの 設定インターフェースを調査することといたします。 なにか不明な点があれば、ご質問差し上げるかもしれません。その時はよろしくおねがいします。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |