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; }