Example #1
0
    public void DeleteInnerScheme(InnerContainer container)
    {
        var removedLinks = new List <LinkContainer>();

        container.SourceThisLinks.ForEach((x) => {
            if (removedLinks.Contains(x))
            {
                return;
            }
            removedLinks.Add(x);
            x.Link.RemoveLink();
            x.Design.DestroyThis();
            x.TargetScheme.TargetThisLinks.Remove(x);
            Links.Remove(x);
        });
        container.TargetThisLinks.ForEach((x) => {
            if (removedLinks.Contains(x))
            {
                return;
            }
            x.Link.RemoveLink();
            x.Design.DestroyThis();
            x.SourceScheme.SourceThisLinks.Remove(x);
            Links.Remove(x);
        });
        removedLinks.Clear();
        (container.Design as BaseInnerSchemeDesign).DestroyThis();
        container.Scheme.UnlinkAll();
        InnerSchemes.Remove(container);
        InnerSchemesList.Remove(container.Scheme);
        Schemes.Remove(container.SchemeName);
    }
Example #2
0
    public void AddScheme(UIInnerSchemeBuildInfo innerSchemeInfo)
    {
        var innerContainer = new InnerContainer(innerSchemeInfo);

        InnerSchemes.Add(innerContainer);
        InnerSchemesList.Add(innerContainer.Scheme);
        Schemes.Add(innerSchemeInfo.BuildString.Name, innerContainer);

        innerContainer.Design = SchemeDesigner.Instance.CreateInnerScheme(innerContainer);
    }