Diagram

<< 目次を表示 >>

ページ位置:  API・アドイン・スクリプト > API > リファレンス > ダイアグラム >

Diagram

DiagramはEAの1つのダイアグラムに対応します。PackageのDiagramsコレクションを通して利用できます。Diagramはダイアグラム内のオブジェクトや接続をコレクションとして保持しています。DiagramObjectsコレクションに追加することで、新しいダイアグラムを作成できます。

 

新しいダイアグラムを追加する場合には、ダイアグラムの種類を指定する必要があります。以下の項目は一例です。BPMNやSysMLなどのアドインなどを追加すると、これ以外のダイアグラムを作成できます。

 

単語

対応するダイアグラム

Activity

アクティビティ図

Analysis

分析図

Collaboration

コミュニケーション図

Component

コンポーネント図

CompositeStructure

コンポジット構造図

Custom

カスタム図

Deployment

配置図

InteractionOverview

相互作用概要図

Logical

クラス図

Object

オブジェクト図

Package

パッケージ図

Sequence

シーケンス図

Statechart

ステートマシン図

Timing

タイミング図

Use Case

ユースケース図

UML1.4のコラボレーション図は、UML2.0以降はコミュニケーション図になりました。

 

 

プロジェクト内の関係するテーブル: t_diagram

 

属性

属性

R/W

説明

Author

string

RW

ダイアグラムの作者です。

CreatedDate

DateTime

RW

ダイアグラムの作成日時です。

cx

int

RW

ダイアグラムに設定されている、用紙サイズの横方向の幅です。

この幅で、背景に境界線が描画されます。(既定値: 800)

cy

int

RW

ダイアグラムに設定されている、用紙サイズの縦方向の幅です。

この幅で、背景に境界線が描画されます。(既定値: 1100)

DiagramGUID

object

RW

ダイアグラムのGUIDです。

DiagramID

int

R

ダイアグラムのIDです。

DiagramLinks

Collection

(DiagramLink)

R

ダイアグラム内に存在する要素が持つ接続のコレクションです。

DiagramObjects

Collection

(DiagramObject)

R

ダイアグラム内に存在する要素のコレクションです。

DiagramObjectはダイアグラム内の要素を表し、位置や大きさなどの情報が含まれています。

ExtendedStyle

string

RW

拡張スタイルです。指定できる内容は、「ダイアグラムのプロパティの既定値」のページのpdataの項目と同じです。

FilterElements

string

RW

カンマ区切りでElementIDを指定すると、指定されていないダイアグラム内の要素は薄く表示されます。別の内容を指定すると更新されます。空文字列を指定するか、ダイアグラムを閉じるとフィルタを解除できます。

(ビルド1300以降で利用可能)

HighlightImports

bool

RW

別のパッケージの要素に対してパッケージ名を表示するかどうかを指定します。

IsLocked

bool

RW

ダイアグラムがロックされているかどうかを指定します。

MetaType

string

RW

MDGTechnology利用時にステレオタイプによって指定されるドメイン固有のメタタイプです。

(ビルド1300以降で編集可能)

ModifiedDate

DateTime

RW

ダイアグラムの最終変更日時です。

MousePoint

stirng

R

(ビルド1500以降で利用可能)

Name

string

RW

ダイアグラムの名前です。

Notes

string

RW

ダイアグラムのノートです。

ObjectType

ObjectType

R

このオブジェクトの種類を区別するために利用できる値です。

Orientation

string

RW

ページの印刷の向きです。"P"(縦)か"L"(横)を指定します。

PackageID

int

RW

ダイアグラムが格納されているパッケージのIDです。

PageHeight

int

R

ダイアグラムの縦方向のページ数です。

PageWidth

int

R

ダイアグラムの横方向のページ数です。

ParentID

int

RW

このダイアグラムを保持している要素のIDです。

例えば、シーケンス図がユースケース要素の下に配置されるような場合です。

Scale

int

RW

拡大率です。既定値は100です。

SelectedConnector

Connector

RW

ダイアグラム内で選択されている接続を返します。選択されていない場合にはnullが返ります。

 

ビルド1300以降では、nullを設定することで選択の解除が可能です。

SelectedObjects

Collection

(DiagramObject)

R

ダイアグラム内で選択されている要素のコレクションです。コレクションの項目をDeleteすることで、選択解除となります。

AddNewをすることで、選択されている項目が増えます。なお、AddNewメソッドの第一引数は、選択する要素のElement.ElementIDを文字列として指定してください。第2引数は無視されます。

(例: Diagram.SelectedObjects.AddNew("100","") → ElementIDが100の要素を選択します。)

ShowDetails

int

RW

ダイアグラムの詳細を表示するかどうかを指定します。

1=表示・0=非表示

ShowPackageContents

bool

RW

パッケージの中の要素を表示するかどうかを指定します。

ShowPrivate

bool

RW

Privateの属性・操作を表示するかどうかを指定します。

ShowProtected

bool

RW

Protectedの属性・操作を表示するかどうかを指定します。

ShowPublic

bool

RW

Publicの属性・操作を表示するかどうかを指定します。

Stereotype

string

RW

ダイアグラムのステレオタイプです。

StyleEx

string

RW

拡張スタイルです。指定できる内容は、「ダイアグラムのプロパティの既定値」のページのstyleExの項目と同じです。

Swimlanes

string

RW

ダイアグラムに設定されているレーンの情報です。

詳細な情報を得る場合や設定を変更する場合には次のSwimlaneDef 属性を利用してください。

SwimlaneDef

SwimlaneDef

R

ダイアグラムに設定されているレーンの詳細情報です。

Type

string

R

ダイアグラムの種類です。 プロジェクト内のt_diagramtypesテーブルもご覧ください。

Version

string

RW

ダイアグラムのバージョンです。

 

 

操作

操作

戻り値の型

説明

ApplyGroupLock

(string aGroupName)

bool

このダイアグラムに対して、グループを指定してグループロックを設定します。

ロックの設定に成功した場合には、trueが、失敗した場合にはfalseが戻ります。GetLastErrorで失敗原因を確認できます。

 

引数:

  • aGroupName: string - グループロックを設定するグループ名を指定します。

ApplyUserLock()

bool

このダイアグラムに対して、現在のユーザーでユーザーロックを設定します。

ロックの設定に成功した場合には、trueが、失敗した場合にはfalseが戻ります。GetLastErrorで失敗原因を確認できます。

FindElementInDiagram

(int ElementID)

bool

指定した要素をダイアグラム内で選択状態にすると同時に、必要に応じてその要素が表示されるようにダイアグラムの表示範囲を調整します。「選択可能」になっていない要素にも対応しますが、選択状態にはなりません。

 

指定された要素が見つかった場合にはtrueを返します。指定された要素が見つからなかった場合にはfalseを返します。

(ビルド1300以降で利用可能)

 

引数:

  • ID: int - 選択状態にする対象の要素のElementID

GetDiagramObjectByID

(int ID,

string DUID)

DiagramObject

指定したIDの要素がダイアグラム内に存在する場合、その要素のDiagramObjectを返します。

 

引数:

  • ID: int - 対象の要素のElementIDです。
  • DUID: string - 対象の要素のDUID(Diagram Unique ID)を指定します。未使用です。空文字列を指定して下さい。

GetElementByGrid

(int gridX,

int gridY)

Element

ダイアグラムがグリッド形式で表示されている場合に、指定した位置のグリッドの要素を取得します。

指定した位置に要素がない場合にはnullが返ります。

(ビルド1600以降で利用可能)

 

引数:

  • GridX: string - 列を示す A から Z までの文字
  • GridY: string - 行の番号

GetElementByName

(string Name)

Element

名前を指定して要素を取得します。同名の要素が複数ある場合、いずれかの要素を取得します。

指定した名前の要素がない場合にはnullが返ります。

(ビルド1600以降で利用可能)

引数:

  • name: string - 対象の要素の名前

GetObjectByGrid

(int gridX,

int gridY)

object

ダイアグラムがグリッド形式で表示されている場合に、指定した位置のグリッドのオブジェクトを取得します。

指定した位置に要素がない場合にはnullが返ります。

(ビルド1600以降で利用可能)

 

引数:

  • GridX: string - 列を示す A から Z までの文字
  • GridY: string - 行の番号

GetLastError()

string

最後に発生したエラーの詳細情報です。

HitTest

(string xy,

int type)

Collection

ダイアグラム内の指定した位置にある、指定した種類の項目を取得します。

(ビルド1500以降で利用可能)

 

引数:

  • xy: string - "x=*;y=*;"の形式で位置を指定します。xとyの値は、EA_OnPreDropFromTreeイベントで得られる値をそのまま利用することを想定しています。
  • type: int - 取得対象の種類を指定します。1が要素、2が接続です。

ReadStyle

(string StyleName)

string

ダイアグラムのスタイルについて、指定したスタイルの情報を取得します。

エラーが発生した場合には、GetLastError()で情報を取得できます。

 

引数:

  • StyleName: string - 取得対象のスタイルです。以下のいずれかの文字列が指定できます。
    • Show Element Property String
    • Show Connector Property String
    • Show Feature Property String

ReleaseUserLock()

bool

このダイアグラムに設定されたユーザーロックやグループロックを解除します。

ロックの解除に成功した場合には、trueが、失敗した場合にはfalseが戻ります。GetLastErrorで失敗原因を確認できます。

ReorderMessages()

なし

ダイアグラム内のシーケンスメッセージやコミュニケーションメッセージの番号を調整します。メッセージの追加あるいは削除後に実行してください。

このメソッドは、対象のダイアグラムが表示されている状態で実行してください。

SaveAsPDF

(string FileName)

bool

ダイアグラムの内容をPDFの形式で出力します。成功した場合にはtrueが戻ります。

 

引数:

  • FileName: string - 出力ファイル名です。

SaveImagePage

(int X,

int Y,

int sizeX,

int sizeY,

string Filename,

int Flags)

bool

ダイアグラム内の、指定したページの内容のみを画像として保存します。

成功した場合にはtrueが戻ります。失敗した場合にはfalseが戻り、理由はGetLastError()で取得できます。

 

引数:

  • X, Y :int - 出力対象のダイアグラムの横・縦のページ位置を指定します。
    (1以上の値で指定します。)
  • sizeX, sizeY :int - 未使用です。0を指定して下さい。
  • Filename :string - 出力するファイル名をフルパスで指定します。
  • Flags :int - 未使用です。

 

出力形式は、ファイル名の拡張子で指定します。指定可能な拡張子は、BMP, EMF, PNGです。

ShowAsElementList

(bool ShowAsList,

bool Persist)

bool

ダイアグラムの表示について、通常の形式と一覧形式の切り替えを行います。ShowAsListにTrueを指定すると、一覧形式になります。

PersistにTrueを指定すると、対象のダイアグラムは常に指定した形式で表示されるようになります。それ以外の場合には、ダイアグラムを閉じると設定情報は破棄されます。

 

引数:

  • ShowAsList: bool - 通常の形式か、一覧形式かを指定します。trueで一覧形式です。
  • Persist: bool - ShowAsList引数で指定した形式を維持するかどうかを指定します。

TranslateToDiagramCoordinate

(string xy)

string

(ビルド1500以降で利用可能)

Update()

bool

ダイアグラムの属性を変更した後に呼び出すメソッドです。

Falseが返された場合にはGetLastErrorメソッドで詳細な情報を取得できます。

VirtualizeConnector()

bool

注意:

このメソッドを利用して要素を複数配置する場合、その要素の実体(内部的な扱い)は、接続の頂点です。ソース側の要素を複数配置する場合には、最もソース側に頂点を追加し、その位置に要素を表示します。ターゲット側に追加する場合も同様です。

 

対象の接続に対して、要素の複数配置の機能を実行します。この機能は、スタイルが「カスタム」の接続に対してのみ実行できます。そのため、このメソッドを実行した場合、接続のスタイルをカスタムに変更します。すべての引数の指定が必須です。

実行後には、対象の接続およびダイアグラムの両方に対して、Updateメソッドを実行する必要があります。

 

処理に成功するとTrueが返ります。失敗した場合にはFalseが返ります。

このメソッドを再度実行すると、複数配置は解除されますが、頂点の情報は残ります。

 

引数:

  • ConnectorID - 対象の接続のConnectorIDを指定します。
  • Action - 処理方法を数値で指定します。1を指定するとソース側・2を指定するとターゲット側の要素を複数表示します。
  • X - 複数配置する要素の、X軸方向の位置を指定します。
  • Y - 複数配置する要素の、Y軸方向の位置を指定します。

 

以下の内容は、ソース側の要素を複数配置する場合の例です。

 

function main()

{

    var diagram as EA.Diagram;

    var conn as EA.Connector;

    diagram = Repository.GetCurrentDiagram();

    if(diagram != null)

    {

         var connector as EA.Connector.

         connector = diagram.SelectedConnector;

         diagram.VirtualizeConnector(connector.

          ConnectorID,1, 100, 150);

         connector.Update();

         diagram.Update();

         Repository.ReloadDiagram(diagram.DiagramID);

    }

    else

    {

         Session.Output("Script requires a diagram

          to be visible");

    }

}

main();

WriteStyle

(string StyleName,

string StyleValue)

なし

このダイアグラムのスタイルを設定します。

エラーが発生した場合には、GetLastError()で情報を取得できます。

 

引数:

  • StyleName: string - 設定対象のスタイルです。以下のいずれかの文字列が指定できます。
    • Show Element Property String
    • Show Connector Property String
    • Show Feature Property String
  • StyleValue: string - 設定するスタイルの内容です。上のいずれかの文字列の場合には、0 か 1 のいずれかを文字列として指定してください。