/// <summary> /// Wrapper to change DiagramLink style /// </summary> /// <param name="rep"></param> /// <param name="type"></param> /// <param name="style"></param> /// <param name="property"></param> /// <param name="changeScope"></param> public static void DiagramLinkStyleWrapper(Repository rep, string type, string style, string property, ChangeScope changeScope) { EaDiagram eaDia = new EaDiagram(rep, getAllDiagramObject: false); // Handle selected diagram and its selected items (connector/objects) if (eaDia.Dia != null) { rep.SaveDiagram(eaDia.Dia.DiagramID); // over all links foreach (var link in eaDia.GetSelectedLinks()) { var linkStyle = new DiagramLinkStyle(rep, link, type, style, property); if (linkStyle.IsToProcess()) { linkStyle.UpdateStyles(); linkStyle.SetProperties(); linkStyle.SetEaLayoutStyles(); } } eaDia.ReloadSelectedObjectsAndConnector(saveDiagram: false); } else { var liParameter = new string[4]; liParameter[0] = type; liParameter[1] = style; liParameter[2] = property; switch (rep.GetContextItemType()) { case EA.ObjectType.otPackage: EA.Package pkg = (EA.Package)rep.GetContextObject(); RecursivePackages.DoRecursivePkg(rep, pkg, null, null, SetDiagramLinkStyle, liParameter, changeScope); break; case EA.ObjectType.otElement: EA.Element el = (EA.Element)rep.GetContextObject(); RecursivePackages.DoRecursiveEl(rep, el, null, SetDiagramLinkStyle, liParameter, changeScope); break; } } }
/// <summary> /// Wrapper to change DiagramObject style /// - Selected Diagramobjects /// - Package (Diagrams and their DiagramObjects in package and below Elements) /// - Element (Diagrams and their DiagramObjects below Elements) /// </summary> /// <param name="rep"></param> /// <param name="type"></param> /// <param name="style"></param> /// <param name="property"></param> /// <param name="changeScope"></param> public static void DiagramObjectStyleWrapper(Repository rep, string type, string style, string property, ChangeScope changeScope) { EaDiagram eaDia = new EaDiagram(rep, getAllDiagramObject: true); if (eaDia.Dia != null) { rep.SaveDiagram(eaDia.Dia.DiagramID); foreach (var diaObj in eaDia.SelObjects) { var a = new DiagramObjectStyle(rep, diaObj, type, style, property); var objectStyle = new DiagramObjectStyle(rep, diaObj, type, style, property); if (objectStyle.IsToProcess()) { objectStyle.UpdateStyles(); objectStyle.SetProperties(); objectStyle.SetEaLayoutStyles(); objectStyle.SetCompleteNessMarker(); } } eaDia.ReloadSelectedObjectsAndConnector(saveDiagram: false); } else { var liParameter = new string[4]; liParameter[0] = type; liParameter[1] = style; liParameter[2] = property; switch (rep.GetContextItemType()) { case ObjectType.otPackage: Package pkg = (Package)rep.GetContextObject(); RecursivePackages.DoRecursivePkg(rep, pkg, null, null, SetDiagramObjectStyle, liParameter, changeScope); break; case ObjectType.otElement: Element el = (Element)rep.GetContextObject(); RecursivePackages.DoRecursiveEl(rep, el, null, SetDiagramObjectStyle, liParameter, changeScope); break; } } }
/// <summary> /// Bulk Change Diagram Style according to: /// liParameter[0] Styles/StyleEx /// liParameter[1] PDATA/ExtendedStyle /// liParameter[2] Properties /// liParameter[3] Diagram types as comma, semicolon separated list /// </summary> /// <param name="rep"></param> /// <param name="liParameter"></param> /// <param name="changeScope"></param> public static void ChangeDiagramStyle(EA.Repository rep, string[] liParameter, ChangeScope changeScope = ChangeScope.PackageRecursive) { switch (rep.GetContextItemType()) { case EA.ObjectType.otDiagram: EA.Diagram dia = (EA.Diagram)rep.GetContextObject(); SetDiagramStyle(rep, dia, liParameter); break; case EA.ObjectType.otPackage: EA.Package pkg = (EA.Package)rep.GetContextObject(); RecursivePackages.DoRecursivePkg(rep, pkg, null, null, SetDiagramStyle, liParameter, changeScope); break; case EA.ObjectType.otElement: EA.Element el = (EA.Element)rep.GetContextObject(); RecursivePackages.DoRecursiveEl(rep, el, null, SetDiagramStyle, liParameter, changeScope); break; } }