Ejemplo n.º 1
0
        void getElementFromEA( )
        {
            EA.Repository repo  = ProjectSetting.getEARepo();
            EA.ObjectType otype = repo.GetContextItemType();

            if (otype == EA.ObjectType.otElement)
            {
                // Code for when an element is selected
                EA.Element eaElemObj = (EA.Element)repo.GetContextObject();

                if (eaElemObj != null && (eaElemObj.Type == "Class" || eaElemObj.Type == "Enumeration"))
                {
                    ElementVO eaElement = ObjectEAConverter.getElementFromEAObject(eaElemObj);
                    textBoxElementName.Text = eaElement.name;
                    targetElement           = eaElement;
                }
                else
                {
                    textBoxElementName.Text = "(EA上でクラスを選択してください)";
                    targetElement           = null;
                }
            }
            else
            {
                textBoxElementName.Text = "(EA上でクラスを選択してください)";
                targetElement           = null;
            }
        }
        private string makePackagePathFromEAPackage(EA.Package pacObj)
        {
            EA.Repository repo = ProjectSetting.getEARepo();

            if (pacObj.ParentID == 0)
            {
                return("/" + pacObj.Name);
            }
            else
            {
                EA.Package parentPacObj = repo.GetPackageByID(pacObj.ParentID);
                return(makePackagePathFromEAPackage(parentPacObj) + "/" + pacObj.Name);
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// ツリービューのコンテキストメニュー-「この成果物をEAから取得」のクリック時イベント
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void UpdateArtifactByEAToolStripMenuItemClick(object sender, EventArgs e)
        {
            TreeNode node = treeView1.SelectedNode;

            EA.Repository repo = ProjectSetting.getEARepo();

            if (node != null && node.Tag != null)
            {
                ArtifactVO atfvo = (ArtifactVO)node.Tag;

                try {
                    // 確認メッセージを表示
                    MessageBox.Show("選択されたパッケージの内容をEAから取得しローカルを更新します");

                    // マウスカーソルを待機状態にする
                    Cursor.Current = Cursors.WaitCursor;

                    EA.Package atfPacObj = repo.GetPackageByGuid(atfvo.guid);

                    EAArtifactXmlMaker maker       = new EAArtifactXmlMaker(atfPacObj);
                    ArtifactVO         newArtifact = maker.makeArtifactXml();

                    // 現在読み込まれている成果物の内容を今読んだもので置き換え
                    atfvo.package = newArtifact.package;

                    // elements配下の要素XMLファイルを今読んだもので置き換え
                    ArtifactXmlWriter writer = new ArtifactXmlWriter();
                    writer.rewriteElementXmlFiles(atfvo);

                    // 標準に戻す
                    Cursor.Current = Cursors.Default;

                    MessageBox.Show("EAの最新情報をローカルに取り込みました");
                } catch (Exception ex) {
                    MessageBox.Show(ex.Message);
                }
            }
            else
            {
                MessageBox.Show("フォルダツリーから成果物パッケージを選択して下さい");
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        ///  メニュー - 編集 - (全)成果物を更新 メニュークリックイベント
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void EditRefreshArtifactToolStripMenuItemClick(object sender, EventArgs e)
        {
            EA.Repository repo = ProjectSetting.getEARepo();

            try {
                // 確認メッセージを表示
                MessageBox.Show("全ての成果物パッケージの内容をEAから取得しローカルを更新します");

                // マウスカーソルを待機状態にする
                Cursor.Current = Cursors.WaitCursor;

                // 全成果物をなめ、それぞれの成果物パッケージをEAから取得してローカルを更新
                foreach (ArtifactVO atfvo in artifacts)
                {
                    try {
                        EA.Package atfPacObj = repo.GetPackageByGuid(atfvo.guid);

                        EAArtifactXmlMaker maker       = new EAArtifactXmlMaker(atfPacObj);
                        ArtifactVO         newArtifact = maker.makeArtifactXml();

                        // 現在読み込まれている成果物の内容を今読んだもので置き換え
                        atfvo.package = newArtifact.package;

                        // elements配下の要素XMLファイルを今読んだもので置き換え
                        ArtifactXmlWriter writer = new ArtifactXmlWriter();
                        writer.rewriteElementXmlFiles(atfvo);
                    } catch (Exception ex) {
                        MessageBox.Show(ex.Message);
                    }
                }

                // マウスカーソルを標準に戻す
                Cursor.Current = Cursors.Default;

                MessageBox.Show("EAの最新情報をローカルに取り込みました");
            } catch (Exception ex) {
                MessageBox.Show(ex.Message);
            }
        }
Ejemplo n.º 5
0
        public ElementForm(ref ElementVO element)
        {
            //
            // The InitializeComponent() call is required for Windows Forms designer support.
            //
            InitializeComponent();

            // changed のXMLファイルが存在する場合はそちらを読み込む
            if (ElementsXmlReader.existChangedElementFile(element.guid))
            {
                element = ElementsXmlReader.readChangedElementFile(element.guid);
            }

            // このフォームを開いた時点の要素を保存
            savedElement = element;

            // このフォーム内で変更されうる要素オブジェクトはクローンで作成
            myElement = element.Clone();

            //
            this.Text = myElement.eaType + " " + myElement.name + " " + myElement.guid;

            if (ProjectSetting.getEARepo() == null)
            {
                buttonViewDiff.Enabled = false;
            }
            else
            {
                buttonViewDiff.Enabled = true;
            }

            // 初期状態で一時保存ボタンは使用不可
            btnCommit.Enabled = false;

            setElementItems(myElement);
        }