フォーラム一覧 - トピック一覧 初めて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() を使う方法が間違っているのかも と思いました。 以上のように、 いろいろ試してはいるものの、うまい方法が見つかっていません。 |
フラット表示 | 前のトピック | 次のトピック |
題名 | 投稿者 | 日時 |
---|---|---|
» Astah-APIによるステートマシン図の編集 | zuruzuru2 | 2012-11-27 11:58 |
Re: Astah-APIによるステートマシン図の編集 | myamamoto | 2012-11-28 11:30 |
Re: Astah-APIによるステートマシン図の編集 | zuruzuru2 | 2012-11-28 13:38 |
Re: Astah-APIによるステートマシン図の編集 | myamamoto | 2012-11-28 16:23 |
Re: Astah-APIによるステートマシン図の編集 | zuruzuru2 | 2012-11-29 23:21 |
投稿するにはまず登録を | |