掲示板一覧   -   トピック一覧
   Enterprise Architect 全般
     要素 "状態"への実行状態設定について


スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
未登録ゲスト
投稿日時: 2010-10-8 11:48

要素 "状態"への実行状態設定について

実行状態の設定について、3点ほど質問があります。

■ステートマシン図で要素"状態"に実行時の値(スロット)を設定しているのですが、値を図上で直接書き換える方法はありますか?
現在は、毎度 "実行状態の設定"のダイアログを開いて修正しており、作業効率が悪いのでよい方法がないかと思っています。

■要素 "状態"に設定した複数の実行時の値(スロット)を別の要素にコピーする方法はありますか?
新規に作成する場合は、既に設定されているものをコピーすればよいのですが、既に作成済みのものへ値を一つずつ追加している為、何かよい方法がないかと思っています。

■"実行状態(スロット)の設定"に対するキーボードのショートカットの設定方法を教えて下さい。
"カスタマイズ"→"キーボード"でコマンドを探してみたのですが、見つける事ができませんでした。(ショートカットキーで検索ができると楽なのですが...)
tkouno
投稿日時: 2010-10-8 13:22
EA Administrator
投稿: 3939

Re: 要素 "状態"への実行状態設定について

ご質問の3点につきまして、いずれも現時点では対応できません。
申し訳ございません。

(ショートカットキーはCtrl+SHIFT+Rですが、この設定を
現状は変えることはできません。)

なお、コピーにつきましては、例えばスクリプトの機能を利用すると
多少楽になるのではないかと思います。

1. メインメニューから「表示」→「スクリプト」を実行して、スクリプトサブウインドウを表示する
2. ツールバーの一番左端の「スクリプトグループの追加」ボタンを押す
3. そのグループを選択した状態で、ツールバーの左から2番目の「スクリプトの追加」ボタンを押す。種類は「VBScript」を選択する
4. ダブルクリックして中身を表示する
5. 既存の内容を削除し、以下の内容を貼り付ける

----ここから----
Set objects = Repository.GetCurrentDiagram.SelectedObjects
Set elem = Repository.GetElementByID(objects .GetAt(0).ElementID)
Set elem2 = Repository.GetElementByID(objects .GetAt(1).ElementID)

runstate = elem.RunState
If runstate <> "" Then
elem.RunState = runstate
elem.Update
Else
runstate = elem2.RunState

elem.RunState = runstate
elem.Update
End If
----ここまで----

6. ステートマシン図を開き、コピー元・コピー先の要素として2つ選択する(コピー先の実行状態の情報はないという前提です)
7. スクリプトサブウインドウの左から4番目の「スクリプトの実行」ボタンを押し、上記のスクリプトを実行する


これで、片方から反対側にコピーできると思います。
エラーチェックなどは全く行っていないのでご注意ください。

このように、スクリプト機能を利用すると、面倒な作業を
効率化することができます。ぜひご活用ください。

本題の件は、ご要望に添えず、申し訳ございません。
未登録ゲスト
投稿日時: 2010-10-8 14:37

Re: 要素 "状態"への実行状態設定について

回答 有り難うございます。
現状対応されていないとのことで残念です。

なお、教えて頂いた方法を早速 試してみたのですが、添付されているスクリプトは、実行状態が複数ある場合には対応されていない様ですね。
(現在、変数が 5つあるものを作っているので、コピーできませんでした...)
まだスクリプトを作成するところまで理解が進んでいませんが、今後の参考とさせて頂きます。
tkouno
投稿日時: 2010-10-8 14:46
EA Administrator
投稿: 3939

Re: 要素 "状態"への実行状態設定について

お忙しい中ご確認ありがとうございました。

なお、実行状態が複数の場合でも、特に問題なく動作します。
(EA内部では、実行状態は全体で1つの文字列として保持しています。
 その文字列をコピーしているだけなので、実行状態の個数は全く関係がありません。)

ただ、このスクリプトは最低限のテストしかしていませんので、
何かの状況が変われば動作しない可能性は高いです。

いずれにしても、スクリプトを使うことでこの手の面倒な作業は
効率化ができる、とご理解いただけますと助かります。
(また、実行状態について、改善要望はほとんどないため、標準機能として
対応する優先度は、かなり低いです。ですので、今回のようなスクリプトや
アドインを作成する方が、早いのではないかと思います。)


スクリプトやアドイン(いずれもEAのAPIを利用しています)は、それぞれの
会社・組織ごとのプロセスに合わせた機能強化を
する場合には、とても便利です。ぜひ活用をご検討ください。

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ