void IInitializable.Initialize()
        {
            // on initialization, register our tree control with the hosting service
            m_controlHostService.RegisterControl(
                TreeControl,
                new ControlInfo(
                    Localizer.Localize("Addon Explorer"),
                    Localizer.Localize("Displays the current addon"),
                    StandardControlGroup.Left), // don't show close button
                this);


            BoundPropertyDescriptor[] settings = new BoundPropertyDescriptor[] {
                new BoundPropertyDescriptor(typeof(GlobalSettings),
                                            () => GlobalSettings.CurrentProjectDirectory, "Current Project Directory".Localize(), "Paths".Localize(), "Path to current addon project.  Dont mess with this".Localize()),
            };

            this.settings.RegisterSettings(this, settings);

            TreeView = new ProjectView();
            this.TreeControl.DoubleClick += TreeControl_DoubleClick;

            SettingsService service = this.settings as SettingsService;

            service.LoadSettings();
            if (GlobalSettings.CurrentProjectDirectory != null)
            {
                OpenProject(ProjectLoader.OpenProjectFromFolder(GlobalSettings.CurrentProjectDirectory));
            }
            (TreeView as ProjectView).SelectionChanged += view_SelectionChanged;

            TreeControl.MouseUp += TreeControl_MouseUp;
        }
        public void OpenProject(AddonProject project)
        {
            ProjectView pv = TreeView as ProjectView;

            pv.Root = project;

            TreeView = pv; //When changing the root node, it doesn't update unless I do this.  No idea why

            SettingsService service = this.settings as SettingsService;

            service.SaveSettings();
        }
        void IInitializable.Initialize()
        {
            // on initialization, register our tree control with the hosting service
            m_controlHostService.RegisterControl(
                TreeControl,
                new ControlInfo(
                    Localizer.Localize("Dota Game File Explorer"),
                    Localizer.Localize("Displays the built in dota files"),
                    StandardControlGroup.Left), // don't show close button
                this);

            Project.ProjectFolder folder = VPKService.BuildDotaVPKNode();

            ProjectView view = new ProjectView();

            view.Root = folder.As <DomNode>();
            TreeView  = view;
            this.TreeControl.DoubleClick += TreeControl_DoubleClick;
            view.SelectionChanged        += view_SelectionChanged;
            this.TreeControl.MouseUp     += TreeControl_MouseUp;
        }