AddChild() public méthode

Adds another OverlayElement to this container.
public AddChild ( OverlayElement element ) : void
element OverlayElement
Résultat void
Exemple #1
0
        /// <summary>
        ///    Parses a new element
        /// </summary>
        /// <param name="script"></param>
        /// <param name="type"></param>
        /// <param name="name"></param>
        /// <param name="isContainer"></param>
        /// <param name="overlay"></param>
        /// <param name="isTemplate"></param>
        /// <param name="templateName"></param>
        /// <param name="parent"></param>
        private void ParseNewElement(TextReader script, string type, string name, bool isContainer, Overlay overlay,
                                     bool isTemplate, string templateName, OverlayElementContainer parent)
        {
            string line;
            var    element = OverlayElementManager.Instance.CreateElementFromTemplate(templateName, type, name, isTemplate);

            if (parent != null)
            {
                // add this element to the parent container
                parent.AddChild(element);
            }
            else if (overlay != null)
            {
                overlay.AddElement((OverlayElementContainer)element);
            }

            while ((line = ParseHelper.ReadLine(script)) != null)
            {
                // inore blank lines and comments
                if (line.Length > 0 && (!line.StartsWith("//") && !line.StartsWith("# ")))
                {
                    if (line == "}")
                    {
                        // finished element
                        break;
                    }
                    else
                    {
                        OverlayElementContainer container = null;
                        if (element is OverlayElementContainer)
                        {
                            container = (OverlayElementContainer)element;
                        }
                        if (isContainer && ParseChildren(script, line, overlay, isTemplate, container))
                        {
                            // nested children, so don't reparse it
                        }
                        else
                        {
                            // element attribute
                            ParseElementAttrib(line, overlay, element);
                        }
                    }
                }
            }
        }
        /// <summary>
        ///    Parses a new element
        /// </summary>
        /// <param name="script"></param>
        /// <param name="type"></param>
        /// <param name="name"></param>
        /// <param name="isContainer"></param>
        /// <param name="overlay"></param>
        /// <param name="isTemplate"></param>
        /// <param name="templateName"></param>
        /// <param name="parent"></param>
        private void ParseNewElement(TextReader script, string type, string name, bool isContainer, Overlay overlay, bool isTemplate,
            string templateName, OverlayElementContainer parent)
        {
            string line;
            OverlayElement element = OverlayElementManager.Instance.CreateElementFromTemplate(templateName, type, name, isTemplate);

            if(parent != null) {
                // add this element to the parent container
                parent.AddChild(element);
            }
            else if(overlay != null) {
                overlay.AddElement((OverlayElementContainer)element);
            }

            while((line = ParseHelper.ReadLine(script)) != null) {
                // inore blank lines and comments
                if(line.Length > 0 && !line.StartsWith("//")) {
                    if(line == "}") {
                        // finished element
                        break;
                    }
                    else {
                        if(isContainer && ParseChildren(script, line, overlay, isTemplate, (OverlayElementContainer)element)) {
                            // nested children, so don't reparse it
                        }
                        else {
                            // element attribute
                            ParseElementAttrib(line, overlay, element);
                        }
                    }
                }
            }
        }