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); } }
/// <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("フォルダツリーから成果物パッケージを選択して下さい"); } }
/// <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); } }
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); }