# astah* API 利用ガイド

## 【図要素の編集】

ここでは図要素(プレゼンテーション)の編集の一例を紹介します。
astah* APIの図情報の編集機能は、astah* UML, professionalでサポートしています。ただし、ER図の編集機能はastah* professionalでのみ利用可能です。

#### 【トランザクション操作】

図要素を作成・編集・削除する場合、トランザクション操作が必要です。
トランザクション操作(モデル/図/プレゼンテーションの作成・編集・削除時)をご覧ください。

INodePresentation(矩形プレゼンテーション:クラス、インスタンス仕様、ユースケース、状態、ERエンティティ、トピックなど)・プレゼンテーションの位置設定

        public void setLocation(INodePresentation ps, Point2D location) {
            try {
                TransactionManager.beginTransaction();
                ps.setLocation(location);
                TransactionManager.endTransaction();
            } catch (InvalidEditingException e) {
                e.printStackTrace();
                TransactionManager.abortTransaction();
            }
        }

ILinkPresentation(線プレゼンテーション:関連、依存、汎化、実現、テンプレートバインディング、包含、拡張、依存型リレーションシップ、非依存型リレーションシップ、サブタイプ、トピック間リンクなど)・プレゼンテーション の点の設定

        public void setPoints(ILinkPresentation ps, Point2D[] points) {
            try {
                TransactionManager.beginTransaction();
                ps.setPoints(points);
                TransactionManager.endTransaction();
            } catch (InvalidEditingException e) {
                e.printStackTrace();
                TransactionManager.abortTransaction();
            }
        }

INodePresentation(矩形プレゼンテーション:クラス、インスタンス仕様、ユースケース、状態、ERエンティティ、トピックなど)・プレゼンテーション の幅設定

        public void setWidth(INodePresentation ps, double width) {
            try {
                TransactionManager.beginTransaction();
                ps.setWidth(width);
                TransactionManager.endTransaction();
            } catch (InvalidEditingException e) {
                e.printStackTrace();
                TransactionManager.abortTransaction();
            }
        }

INodePresentation(矩形プレゼンテーション:クラス、インスタンス仕様、ユースケース、状態、ERエンティティ、トピックなど)・プレゼンテーション の高さ設定

        public void setHeight(INodePresentation ps, double height) {
            try {
                TransactionManager.beginTransaction();
                ps.setHeight(height);
                TransactionManager.endTransaction();
            } catch (InvalidEditingException e) {
                e.printStackTrace();
                TransactionManager.abortTransaction();
            }
        }

INodePresentation(矩形プレゼンテーション:クラス、インスタンス仕様、ユースケース、状態、ERエンティティ、トピックなど)・プレゼンテーション のラベル設定

        public void setLabel(INodePresentation ps, String label) {
            try {
                TransactionManager.beginTransaction();
                ps.setLabel(label);
                TransactionManager.endTransaction();
            } catch (InvalidEditingException e) {
                e.printStackTrace();
                TransactionManager.abortTransaction();
            }
        }

INodePresentation(矩形プレゼンテーション:クラス、インスタンス仕様、ユースケース、状態、ERエンティティ、トピックなど)・プレゼンテーション の背景色設定
＊setProperty()メソッドのキーは背景色である"fill.color"キーのみ対応しています。

        //(EX)red:color="#FF0000" green:color="#00FF00" blue:color="#0000FF"
        public void setColor(INodePresentation ps, String color) {
            try {
                TransactionManager.beginTransaction();
                ps.setProperty("fill.color", color);
                TransactionManager.endTransaction();
            } catch (InvalidEditingException e) {
                e.printStackTrace();
                TransactionManager.abortTransaction();
            }
        }

HOME