public void OnIconIdChanged(string oldIconId, string newIconId)
 {
     //
     for (int i = 0; i < Nodes.Count; i++)
     {
         TreeNodeWixShortcutCollection tnic = Nodes[i] as TreeNodeWixShortcutCollection;
         if (tnic != null)
         {
             if (tnic.NextLevelLoaded)
             {
                 foreach (TreeNode tn in tnic.Nodes)
                 {
                     TreeNodeWixShortcut tnwi = tn as TreeNodeWixShortcut;
                     if (tnwi != null)
                     {
                         if (string.CompareOrdinal(oldIconId, tnwi.ShortcutNode.Icon) == 0)
                         {
                             tnwi.ShortcutNode.Icon = newIconId;
                         }
                     }
                 }
             }
             break;
         }
     }
     _rootNode.OnIconIdChanged(oldIconId, newIconId);
 }
        public void OnLoadNextLevel(NodeLoader loader)
        {
            _nextLevelLoaded = true;
            WixShortcutCollection shortcuts = this.ShortcutNodes;

            if (shortcuts != null && shortcuts.Shortcuts.Count > 0)
            {
                foreach (WixShortcut s in shortcuts.Shortcuts)
                {
                    TreeNodeWixShortcut sn = new TreeNodeWixShortcut(s);
                    Nodes.Add(sn);
                }
            }
        }
        private void mnu_addShortcut(object sender, EventArgs e)
        {
            this.Expand();
            WixShortcut         st = this.ShortcutNodes.AddShortcut();
            TreeNodeWixShortcut ts = new TreeNodeWixShortcut(st);

            Nodes.Add(ts);
            if (this.TreeView != null)
            {
                this.TreeView.SelectedNode = ts;
            }
            TreeViewWix tv = this.TreeView as TreeViewWix;

            if (tv != null)
            {
                tv.OnPropertyValueChanged();
            }
        }