コード例 #1
0
        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);
        }
コード例 #2
0
        internal CreateDiagramCommand(string name, Diagrams diagrams)
        {
            ValidateString(name);
            Debug.Assert(diagrams != null, "diagrams is null");

            _name = name;
            _diagrams = diagrams;
        }
コード例 #3
0
 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;
 }
コード例 #4
0
        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();
        }
コード例 #5
0
        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);
        }