/// <summary> /// Creates a new instance with the given arguments. /// </summary> /// <param name="itemType">Item type</param> /// <param name="description">Item description</param> /// <param name="workspaceArtefact">Affected workspace artefact</param> /// <param name="line">Line number that is associated with the item</param> /// <param name="column">Column number that is assocated with the item</param> public ProblemsViewItem(EProblemsViewItemType itemType, string description, IWorkspaceArtefact workspaceArtefact, uint line, uint column) { ItemType = itemType; Description = description; WorkspaceArtefact = workspaceArtefact; Line = line; Column = column; }
/// <inheritdoc /> public bool HasChildren(object item) { IWorkspaceArtefact workspaceArtefact = (IWorkspaceArtefact)item; if (workspaceArtefact is IWorkspaceArtefactContainer) { return(true); } return(false); }
/// <inheritdoc /> public ImageDescriptor GetImage(object item) { IWorkspaceArtefact workspaceArtefact = (IWorkspaceArtefact)item; string artefactNature = workspaceArtefact.Nature; // TODO Add support of artefact nature if (workspaceArtefact is IWorkspaceArtefactContainer) { return(FolderImageDescriptor); } return(FileImageDescriptor); }
/// <inheritdoc /> public virtual IWorkspaceArtefact GetArtefact(string name) { if (string.IsNullOrEmpty(name)) { return(null); } using (IEnumerator <IWorkspaceArtefact> artItr = Artefacts.GetEnumerator()) { while (artItr.MoveNext()) { IWorkspaceArtefact artefact = artItr.Current; if (artefact is IWorkspaceFile workspaceFile) { if (workspaceFile.Name == name) { return(workspaceFile); } continue; } if (artefact is IWorkspaceArtefactContainer fileContainer) { if (fileContainer.Name == name) { return(fileContainer); } IWorkspaceArtefact file = fileContainer.GetArtefact(name); if (file != null) { return(file); } } } } return(null); }
/// <inheritdoc /> public virtual IEnumerable <TElement> FlatHierarchy <TElement>() where TElement : class, IWorkspaceArtefact { using (IEnumerator <IWorkspaceArtefact> artItr = Artefacts.GetEnumerator()) { while (artItr.MoveNext()) { IWorkspaceArtefact workspaceArtefact = artItr.Current; if (workspaceArtefact is TElement targetElement) { yield return(targetElement); } if (workspaceArtefact is IWorkspaceArtefactContainer artefactContainer) { using (IEnumerator <TElement> cntItr = artefactContainer.FlatHierarchy <TElement>().GetEnumerator()) { while (cntItr.MoveNext()) { yield return(cntItr.Current); } } } } } }
/// <inheritdoc /> public virtual IWorkspaceFile GetWorkspaceFile(FileInfo fileInfo) { if (fileInfo == null) { return(null); } if (!fileInfo.Exists) { return(null); } DirectoryInfo fileDirectory = fileInfo.Directory; IWorkspaceFolder workspaceFolder = GetWorkspaceFolder(fileDirectory); if (workspaceFolder == null) { return(null); } string fileName = fileInfo.Name; IWorkspaceArtefact folderArtefact = workspaceFolder.GetArtefact(fileName); return(folderArtefact as IWorkspaceFile); }
/// <inheritdoc /> public string GetText(object item) { IWorkspaceArtefact workspaceArtefact = (IWorkspaceArtefact)item; return(workspaceArtefact.Name); }
/// <summary> /// Creates a new instance with the given arguments and 1 as line and column value. /// </summary> /// <param name="itemType">Item type</param> /// <param name="description">Item description</param> /// <param name="workspaceArtefact">Affected workspace artefact</param> public ProblemsViewItem(EProblemsViewItemType itemType, string description, IWorkspaceArtefact workspaceArtefact) : this(itemType, description, workspaceArtefact, 1, 1) { // Nothing to do here }