public static EAAPI.Element AddEmbeddedElement(this EAAPI.Element parent, EAAPI.Repository repository, string name, string type) { EAAPI.Element result = null; if (string.IsNullOrEmpty(name)) { name = "empty"; } if (parent.Type == "Package") { EAAPI.Package package = repository.GetPackageByGuid(parent.ElementGUID) as EAAPI.Package; result = package.AddElement(name, type); } else { EAAPI.Element newElement = (EAAPI.Element)parent.Elements.AddNew(name, type); if (!newElement.Update()) { Debug.WriteLine(newElement.GetLastError()); } parent.Elements.Refresh(); result = newElement; } return(result); }
public static EAAPI.Element AddElement(this EAAPI.Package parentPackage, string name, string type) { EAAPI.Element newElement = (EAAPI.Element)parentPackage.Elements.AddNew(name, type); newElement.Update(); parentPackage.Elements.Refresh(); parentPackage.Element.Refresh(); return(newElement); }
public static EAAPI.Package GetModelPackage(this EAAPI.Package package, EAAPI.Repository repository) { EAAPI.Package result = package; while (result.ParentID != 0) { result = repository.GetPackageByID(result.ParentID); } return(result); }
public static EAAPI.Package GetChildPackageByNameAndStereotype(this EAAPI.Package parent, string name, string stereotype) { for (short i = 0; i < parent.Packages.Count; i++) { EAAPI.Package p = (EAAPI.Package)parent.Packages.GetAt(i); if (p.StereotypeEx == stereotype && p.Name == name) { return(p); } } return(null); }
public static EAAPI.Package GetChildPackageByStereotype(this EAAPI.Package parent, string stereotype) { for (short i = 0; i < parent.Packages.Count; i++) { EAAPI.Package package = (EAAPI.Package)parent.Packages.GetAt(i); if (package.StereotypeEx == stereotype) { return(package); } } return(null); }
public static EAAPI.Element AddEndNode(this EAAPI.Package parent) { EAAPI.Element result = (EAAPI.Element)parent.Elements.AddNew("End", "StateNode"); result.Subtype = 101; result.Update(); parent.Elements.Refresh(); parent.Element.Refresh(); return(result); }
public static List <EAAPI.Package> GetChildPackagesByStereotype(this EAAPI.Package parent, string stereotype) { List <EAAPI.Package> result = new List <EAAPI.Package>(); for (short i = 0; i < parent.Packages.Count; i++) { EAAPI.Package package = (EAAPI.Package)parent.Packages.GetAt(i); if (package.StereotypeEx == stereotype) { result.Add(package); } } return(result); }
public static void DeletePackage(this EAAPI.Repository repository, EAAPI.Package package) { EAAPI.Package parent = repository.GetPackageByID(package.ParentID); for (int i = 0; i < parent.Packages.Count; i++) { EAAPI.Package actP = (EAAPI.Package)parent.Packages.GetAt((short)i); if (actP.PackageID == package.PackageID) { parent.Packages.Delete((short)i); break; } } parent.Update(); //Repository.RefreshModelView(parent.PackageID); }
public static EAAPI.Diagram AddDiagram(this EAAPI.Package package, string diagramType) { EAAPI.Diagram diagram = (EAAPI.Diagram)package.Diagrams.AddNew(package.Name, diagramType); diagram.ShowDetails = 0; if (!diagram.Update()) { Debug.WriteLine(diagram.GetLastError()); } if (!package.Update()) { Debug.WriteLine(package.GetLastError()); } return(diagram); }
public static EAAPI.Element Copy(this EAAPI.Element source, EAAPI.Package targetPackage) { EAAPI.Element targetElement = (EAAPI.Element)targetPackage.Elements.AddNew(source.Name, source.Type); targetElement.ClassifierID = source.ClassifierID; targetElement.Stereotype = source.Stereotype; if (source.Type == "Part") { targetElement.PropertyType = source.PropertyType; } /* * if (source.Type == "Action") * { * for (int i = 0; i < source.Elements.Count; i++) * { * EA.Element sourceEmbeddedEl = (EA.Element) source.Elements.GetAt((short)i); * EA.Element embeddedEl = (EA.Element) el.Elements.AddNew(sourceEmbeddedEl.Name, sourceEmbeddedEl.Type); * embeddedEl.ClassfierID = sourceEmbeddedEl.ClassfierID; * embeddedEl.Stereotype = sourceEmbeddedEl.Stereotype; * * embeddedEl.Update(); * el.Elements.Refresh(); * } * } */ // copy tagged values for (short i = 0; i < source.TaggedValues.Count; i++) { EAAPI.TaggedValue sourceTag = (EAAPI.TaggedValue)source.TaggedValues.GetAt(i); EAAPI.TaggedValue targetTag = (EAAPI.TaggedValue)targetElement.TaggedValues.AddNew(sourceTag.Name, sourceTag.Value); targetTag.Update(); } targetElement.TaggedValues.Refresh(); targetElement.Update(); targetPackage.Elements.Refresh(); targetPackage.Element.Refresh(); return(targetElement); }
/// <summary> /// /// </summary> /// <param name=""></param> /// <param name="repository"></param> /// <param name="element"></param> /// <returns>The package ID.</returns> public static int DeleteElement(this EAAPI.Repository repository, EAAPI.Element element) { EAAPI.Package parentPackage = repository.GetPackageForElement(element); for (int i = 0; i < parentPackage.Elements.Count; i++) { EAAPI.Element el = (EAAPI.Element)parentPackage.Elements.GetAt((short)i); if (el.ElementID == element.ElementID) { parentPackage.Elements.Delete((short)i); break; } } parentPackage.Elements.Refresh(); parentPackage.Update(); return(parentPackage.PackageID); }
public static EAAPI.Package AddChildPackage(this EAAPI.Package parentPackage, string name) { // avoid null value for package name string packageName = "_UNDEFINED_"; if (name != null) { packageName = name; } EAAPI.Package package = (EAAPI.Package)parentPackage.Packages.AddNew(packageName, "Nothing"); if (!package.Update()) { Debug.WriteLine(package.GetLastError()); } parentPackage.Packages.Refresh(); return(package); }