Example #1
0
        private void searchResultsBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            ListBox searchResultsBox = (ListBox)sender;

            try
            {
                if (searchResultsBox.SelectedItem != null)
                {
                    string[]           splitPath  = ((string)searchResultsBox.SelectedItem).Split(@"\".ToCharArray());
                    WzNode             node       = null;
                    TreeNodeCollection collection = DataTree.Nodes;
                    for (int i = 0; i < splitPath.Length; i++)
                    {
                        node = GetNodeByName(collection, splitPath[i]);
                        if (node.Tag is WzImage && !((WzImage)node.Tag).Parsed && i != splitPath.Length - 1)
                        {
                            ((WzImage)node.Tag).ParseImage();
                            node.Reparse();
                        }
                        collection = node.Nodes;
                    }
                    if (node != null)
                    {
                        DataTree.SelectedNode = node;
                        node.EnsureVisible();
                        DataTree.RefreshSelectedNodes();
                    }
                }
            }
            catch
            {
            }
        }
Example #2
0
 private void SearchWzProperties(IPropertyContainer parent)
 {
     foreach (WzImageProperty prop in parent.WzProperties)
     {
         if ((0 <= prop.Name.IndexOf(searchText, StringComparison.InvariantCultureIgnoreCase)) || (searchValues && prop is WzStringProperty && (0 <= ((WzStringProperty)prop).Value.IndexOf(searchText, StringComparison.InvariantCultureIgnoreCase))))
         {
             if (listSearchResults)
             {
                 searchResultsList.Add(prop.FullPath.Replace(";", @"\"));
             }
             else if (currentidx == searchidx)
             {
                 if (prop.HRTag == null)
                 {
                     ((WzNode)prop.ParentImage.HRTag).Reparse();
                 }
                 WzNode node = (WzNode)prop.HRTag;
                 //if (node.Style == null) node.Style = new ElementStyle();
                 node.BackColor = Color.Yellow;
                 coloredNode    = node;
                 node.EnsureVisible();
                 //DataTree.Focus();
                 finished = true;
                 searchidx++;
                 return;
             }
             else
             {
                 currentidx++;
             }
         }
         if (prop is IPropertyContainer && prop.WzProperties.Count != 0)
         {
             SearchWzProperties((IPropertyContainer)prop);
             if (finished)
             {
                 return;
             }
         }
     }
 }