public NVisualStudioIDE(NIDELoadUC loader)
        {
            InitializeComponent();

            m_Loader = loader;
            m_SolutionExplorer.HideSelection = false;

            ResizeRedraw = false;

            m_SolutionExplorer.Dock = DockStyle.Fill;

            LoadDockingFramework();

            PopulateSolutionExplorer();
            LoadCommandBars();

            nStatusBar1.SendToBack();

            NUIManager.ApplyPalette(this);
        }
        internal void PopulateDirectory(TreeNode parent, DirectoryInfo dirInfo)
        {
            DirectoryInfo[] infos = dirInfo.GetDirectories();

            int           length = infos.Length;
            DirectoryInfo info;
            TreeNode      node;
            string        name;

            for (int i = 0; i < length; i++)
            {
                info = infos[i];
                if (!NIDELoadUC.IsDirectoryBrowsable(info))
                {
                    continue;
                }

                name = info.Name;

                node                    = parent.Nodes.Add(info.Name);
                node.ImageIndex         = 0;
                node.SelectedImageIndex = 0;

                PopulateDirectory(node, info);
            }

            FileInfo[] fileInfos = dirInfo.GetFiles();
            FileInfo   fi;

            length = fileInfos.Length;

            for (int i = 0; i < length; i++)
            {
                fi = fileInfos[i];
                if (!NIDELoadUC.IsFileBrowsable(fi))
                {
                    continue;
                }

                name     = fi.Name;
                node     = parent.Nodes.Add(fi.Name);
                node.Tag = fi;

                name = name.Replace(fi.Extension, "");

                if (fi.Extension == ".cs")
                {
                    if (name.EndsWith("UC"))
                    {
                        node.ImageIndex         = 6;
                        node.SelectedImageIndex = 6;
                    }
                    else
                    {
                        node.ImageIndex         = 8;
                        node.SelectedImageIndex = 8;
                    }
                    continue;
                }

                if (fi.Extension.EndsWith("ico"))
                {
                    node.ImageIndex         = 9;
                    node.SelectedImageIndex = 9;
                }

                if (fi.Extension.EndsWith("bmp"))
                {
                    node.ImageIndex         = 10;
                    node.SelectedImageIndex = 10;
                }
            }
        }