Esempio n. 1
0
        private void BuildTree(CssDocument css, Node parentNode)
        {
            classNode       = new Node(MainForm.rm.GetString("css_class"));
            classNode.Image = imageList.Images[0];

            idNode       = new Node(MainForm.rm.GetString("css_ids"));
            idNode.Image = imageList.Images[2];

            elementsNode       = new Node(MainForm.rm.GetString("css_element"));
            elementsNode.Image = imageList.Images[1];

            Node parent;

            if (parentNode != null)
            {
                parent = parentNode;
            }
            else
            {
                parent        = new Node(MainForm.rm.GetString("defaultFileName"));
                parent.Image  = imageList.Images[0];
                parent.Object = css;
                codeBrowser._model.Nodes.Add(parent);
            }

            parent.Nodes.Add(classNode);
            parent.Nodes.Add(idNode);
            parent.Nodes.Add(elementsNode);

            FillRuleSet(css.ParsedFile, parent);
        }
Esempio n. 2
0
        public CssDocument Parse(string fileName, string textToParse, bool reparse)
        {
            CssDocument cssDocument;

            if (fileName == "")
            {
                cssDocument = new CssDocument(fileName);
                cssDocument.ParseDocument(textToParse);
            }
            else
            {
                cssDocument = (CssDocument)DocumentList.GetDocument(fileName);
                if (cssDocument == null)
                {
                    cssDocument = new CssDocument(fileName);
                    cssDocument.ParseDocument(textToParse);
                    DocumentList.AddDocument(cssDocument);
                }
                else
                {
                    if (reparse)
                    {
                        codeBrowser.Clear();
                        cssDocument.ParseDocument(textToParse);
                    }
                }
            }

            return(cssDocument);
        }
Esempio n. 3
0
        public CssDocument Parse(string textToParse)
        {
            CssDocument cssDoc;

            cssDoc = new CssDocument("child");
            cssDoc.ParseDocument(textToParse);
            return(cssDoc);
        }
Esempio n. 4
0
        public void GenerateTree(CodeBrowserControl codeBrowser, CssDocument css, Node parent = null, bool clear = true)
        {
            this.codeBrowser = codeBrowser;
            if (clear)
            {
                codeBrowser.Clear();
            }
            codeBrowser._tree.BeginUpdate();

            BuildTree(css, parent);
            codeBrowser._tree.ExpandAll();
            codeBrowser._tree.EndUpdate();
        }
Esempio n. 5
0
        private void BuildChilds(HtmlNode htmlNode, Node rootNode, HtmlDocument htmlDoc)
        {
            foreach (var item in htmlNode.ChildNodes)
            {
                string itemText = "";
                if (item.Name == "?" || item.Name == "?php")
                {
                    itemText = "php";
                }
                else if (item.Name == "link" && item.HasAttributes && item.Attributes["href"] != null)
                {
                    itemText = "link : " + item.Attributes["href"].Value;
                }
                else
                {
                    itemText = item.Name;
                }

                if (!(item.Name == "#text") && !(item.Name == "#comment"))
                {
                    int imageIndex = getImageIndex(itemText);

                    if (item.HasAttributes)
                    {
                        foreach (var attr in item.Attributes)
                        {
                            if (attr.Name == "id")
                            {
                                itemText += " : #" + attr.Value;
                            }
                            else if (attr.Name == "class")
                            {
                                itemText += " : " + attr.Value;
                            }
                        }
                    }

                    Node childNode = new Node(itemText);
                    childNode.Image  = imageList.Images[imageIndex];
                    childNode.Object = item;
                    rootNode.Nodes.Add(childNode);

                    if (item.Name == "link")
                    {
                        //fehler müssen abgefangen werde
                        if (item.Attributes["href"].Value.EndsWith(".css"))
                        {
                            item.FileName = Path.GetDirectoryName(htmlDoc.FileName) + "\\" + item.Attributes["href"].Value;
                            ParserClass.CssParser.Parse(item.FileName, CssParser.ReadFile(item.FileName), false);
                        }
                    }

                    if (item.Name == "style")
                    {
                        CssDocument css = ParserClass.CssParser.Parse(item.InnerText);
                        htmlDoc.AddStyleChild(css);
                        ParserClass.CssParser.GenerateTree(MainForm.mainForm.codeBrowser.codeBrowserControl, css, childNode, false);

                        /*
                         * if (StyleNodes == null)
                         *  StyleNodes = new List<Node>();
                         * StyleNodes.Add(childNode);
                         * */
                    }


                    if (item.HasChildNodes)
                    {
                        if (item.Name == "?")
                        {
                            BuildChilds(item, rootNode, htmlDoc);
                        }
                        else
                        {
                            BuildChilds(item, childNode, htmlDoc);
                        }
                    }
                }
            }
        }