/// <summary> /// Gets the selected results. /// </summary> /// <seealso cref="VirtualTreeExtensions.GetUniqueRowsInGuiOrder(Row[])"/> /// <returns>the selected results</returns> private IResultNode[] GetSelectedResults(RowSelectionType rowSelectionType) { List <IResultNode> selectedResults = new List <IResultNode>(); foreach (Row row in GetSelectedRows(rowSelectionType)) { IFragment detectable; if ((detectable = row.Item as IFragment) != null) { try { selectedResults.AddRange(_backgroundDataBlockScanner.GetResults(detectable).Children); } catch (FileNotFoundException fileNotFoundException) { ExceptionHandling.HandleFileNotFoundException(fileNotFoundException); } catch (IOException ioException) { ExceptionHandling.HandleIOException(ioException, detectable.InputFile.Name); } catch (FrameworkException frameworkException) { ExceptionHandling.HandleFrameworkException(frameworkException); } } } return(selectedResults.ToArray()); }
private Row[] GetSelectedRows(RowSelectionType rowSelectionType) { switch (rowSelectionType) { case RowSelectionType.UniqueInGuiOrder: return(UniqueSelectedRowsInGuiOrder); case RowSelectionType.AllInGuiOrder: return(SelectedRowsInGuiOrder); default: Debug.Fail("No implementation for value '{0}' of enum 'RowSelectionType'", Enum.GetName(typeof(RowSelectionType), rowSelectionType)); return(null); } }
/// <summary> /// Gets the data or result selection in the tree. /// </summary> /// <returns>the selection</returns> private ISelection GetSelection(RowSelectionType rowSelectionType) { return(new Selection(this, rowSelectionType)); }
/// <summary> /// Creates a new selection. /// </summary> /// <param name="fileTreeObject">the tree for the selection</param> /// <param name="rowSelectionType">make the selection unique and in GUI order</param> public Selection(FileTreeObject fileTreeObject, RowSelectionType rowSelectionType) { _fileTreeObject = fileTreeObject; _rowSelectionType = rowSelectionType; }