Example #1
0
 public void AddAnchors(List<string> Anchors, Dictionary<string, DetectedHeaders> DetectAnchorText)
 {
     foreach (string anch in Anchors)
     {
         DetectedHeaders det = new DetectedHeaders();
         string source = Text + "#" + anch;
         DetectAnchorText.TryGetValue(source, out det);
         List<string> text = det != null ? det.Result : null;
         MyNode n = new MyNode(anch, text);
         n.Tag = new NavDetails(Guid.NewGuid().ToString(), source, n.DetectedCombo);
         n.OriginalCount = det != null ? det.OriginalCount : 0;
         Nodes.Add(n);
     }
 }
Example #2
0
        private void LoadFiles()
        {
            try
            {

                using (new HourGlass())
                {
                    treeView1.BeginUpdate();

                    if (Model != null && Model.Nodes.Count > 0)
                        Model.Nodes.Clear();

                    OpfDocument OpfDoc = new OpfDocument();
                    List<string> htmlFileLIst = OpfDoc.GetFilesList("html");
                    List<string> t = htmlFileLIst;
                    if (!cbShowAll.Checked)
                    {
                        t = (from i in htmlFileLIst
                             where !PresentFileList.Contains(i)
                             select i).ToList();
                    }

                    MyHtmlDocument htmlDoc = new MyHtmlDocument();
                    Dictionary<string, DetectedHeaders> DetectText = htmlDoc.FindHeaderTextInFile(t);

                    foreach (string item in t)
                    {
                        DetectedHeaders det = new DetectedHeaders();
                        DetectText.TryGetValue(item, out det);
                        List<string> text = det != null ? det.Result : null;
                        MyNode n = new MyNode(item, text);
                        n.OriginalCount = det != null ? det.OriginalCount : 0;
                        Model.Nodes.Add(n);
                    }

                    SortList();

                    Dictionary<string, string> SrcTag = OpfDoc.GetFilesList();
                    foreach (MyNode item in Model.Nodes)
                    {
                        item.Tag = new NavDetails(Utils.GetId(item.Text, SrcTag), item.Text, item.DetectedCombo);
                        NavDetails nav = item.Tag as NavDetails;

                        if (AddType == AddWindowType.TOCEdit && cbShowAnchors.Checked)
                        {
                            List<string> Anchors = htmlDoc.FindAnchorsInFile(item.Text);

                            if (!cbShowAll.Checked)
                            {
                                Anchors = (from i in Anchors
                                           where !PresentAnchors.ContainsKey(nav.File + "#" + i)
                                           select i).ToList();
                            }

                            Dictionary<string, DetectedHeaders> DetectAnchorText = htmlDoc.FindAchorTextInFile(item.Text, Anchors);
                            item.AddAnchors(Anchors, DetectAnchorText);
                        }
                    }

                    RemoveEmptyNodes();
                    treeView1.EndUpdate();

                    //Utils.RemoveNonExistantNode(Model.Nodes);
                }
            } catch (Exception)
            {
                treeView1.EndUpdate();
            }
        }