public ExplorerDiagrams(EditingContext context, Diagrams diagrams, ExplorerEFElement parent) : base(context, diagrams, parent) { var name = Resources.DiagramTypesGhostNodeName; base.Name = name; _typesGhostNode = new ExplorerTypes(name, context, this); }
internal CreateDiagramCommand(string name, Diagrams diagrams) { ValidateString(name); Debug.Assert(diagrams != null, "diagrams is null"); _name = name; _diagrams = diagrams; }
internal override bool ParseSingleElement(ICollection<XName> unprocessedElements, XElement element) { if (element.Name.LocalName == "Connection") { DesignerInfo connectionDesignerInfo = new ConnectionDesignerInfo(this, element); connectionDesignerInfo.Parse(unprocessedElements); _designerInfos.Add(element.Name.LocalName, connectionDesignerInfo); } else if (element.Name.LocalName == OptionsDesignerInfo.ElementName) { DesignerInfo optionsDesignerInfo = new OptionsDesignerInfo(this, element); optionsDesignerInfo.Parse(unprocessedElements); _designerInfos.Add(element.Name.LocalName, optionsDesignerInfo); } else if (_diagramArtifact == null && element.Name.LocalName == Diagrams.ElementName) // only parse Diagrams element if DiagramArtifact is not available. { _diagrams = new Diagrams(this, element); _diagrams.Parse(unprocessedElements); } else { return base.ParseSingleElement(unprocessedElements, element); } return true; }
protected override void PreParse() { Debug.Assert(State != EFElementState.Parsed, "this object should not already be in the parsed state"); if (_designerInfos != null) { if (_designerInfos.Values.Count > 0) { foreach (var info in _designerInfos.Values) { info.Dispose(); } } _designerInfos.Clear(); } ClearEFObject(_diagrams); _diagrams = null; base.PreParse(); }
protected override void OnChildDeleted(EFContainer efContainer) { var child2 = efContainer as DesignerInfo; if (child2 != null) { var infoEnum = _designerInfos.GetEnumerator(); while (infoEnum.MoveNext()) { if (infoEnum.Current.Value == child2) { _designerInfos.Remove(infoEnum.Current.Key); break; } } return; } if (efContainer.Equals(_diagrams)) { _diagrams = null; } base.OnChildDeleted(efContainer); }