/// <summary> /// Adds a new address to the project items. /// </summary> private void AddNewProjectItem(Type projectItemType) { this.CreateProjectIfNone(); DirectoryItemView directoryItemView = this.SelectedProjectItem as DirectoryItemView ?? this.ProjectRoot.FirstOrDefault(); switch (projectItemType) { case Type _ when projectItemType == typeof(PointerItem): directoryItemView?.AddChild(new PointerItem()); break; case Type _ when projectItemType == typeof(ScriptItem): directoryItemView?.AddChild(new ScriptItem()); break; case Type _ when projectItemType == typeof(InstructionItem): directoryItemView?.AddChild(new InstructionItem()); break; default: Logger.Log(LogLevel.Error, "Unknown project item type - " + projectItemType.ToString()); break; } }
public void AddProjectItems(params ProjectItem[] projectItems) { if (projectItems == null) { return; } DirectoryItemView directoryItemView = this.SelectedProjectItem as DirectoryItemView ?? this.ProjectRoot?.FirstOrDefault(); foreach (ProjectItem projectItem in projectItems) { directoryItemView?.AddChild(projectItem); } }
private void DoOpenProject(String projectPath) { if (!Directory.Exists(projectPath)) { throw new Exception("Folder not found"); } // Create project root folder (initialize expanded for better UX) DirectoryItemView projectRootFolder = new DirectoryItemView(new DirectoryItem(projectPath)) { IsExpanded = true }; this.ProjectRoot = new FullyObservableCollection <DirectoryItemView> { projectRootFolder }; }