public bool SortResult(CoreDll.SortType sortType, bool increasing) { return(m_dll.adResultSort(m_handle, sortType, increasing ? CoreDll.TRUE : CoreDll.FALSE) == CoreDll.Error.Ok); }
protected override void OnColumnHeaderMouseClick(DataGridViewCellMouseEventArgs e) { DataGridViewColumn dataGridViewColumn = Columns[e.ColumnIndex]; CoreDll.SortType sortType = CoreDll.SortType.ByType; if (m_options.resultsOptions.viewMode == ResultsOptions.ViewMode.VerticalPairTable) { switch ((ColumnsTypeVertical)e.ColumnIndex) { case ColumnsTypeVertical.Type: sortType = CoreDll.SortType.ByType; break; case ColumnsTypeVertical.Group: sortType = CoreDll.SortType.ByGroup; break; case ColumnsTypeVertical.GroupSize: sortType = CoreDll.SortType.ByGroupSize; break; case ColumnsTypeVertical.Difference: sortType = CoreDll.SortType.ByDifference; break; case ColumnsTypeVertical.Defect: sortType = CoreDll.SortType.ByDefect; break; case ColumnsTypeVertical.Transform: sortType = CoreDll.SortType.ByTransform; break; case ColumnsTypeVertical.Hint: sortType = CoreDll.SortType.ByHint; break; case ColumnsTypeVertical.FileName: sortType = CoreDll.SortType.BySortedName; break; case ColumnsTypeVertical.FileDirectory: sortType = CoreDll.SortType.BySortedDirectory; break; case ColumnsTypeVertical.ImageSize: sortType = CoreDll.SortType.BySortedArea; break; case ColumnsTypeVertical.ImageType: sortType = CoreDll.SortType.BySortedType; break; case ColumnsTypeVertical.Blockiness: sortType = CoreDll.SortType.BySortedBlockiness; break; case ColumnsTypeVertical.Blurring: sortType = CoreDll.SortType.BySortedBlurring; break; case ColumnsTypeVertical.FileSize: sortType = CoreDll.SortType.BySortedSize; break; case ColumnsTypeVertical.FileTime: sortType = CoreDll.SortType.BySortedTime; break; } } if (m_options.resultsOptions.viewMode == ResultsOptions.ViewMode.HorizontalPairTable) { switch ((ColumnsTypeHorizontal)e.ColumnIndex) { case ColumnsTypeHorizontal.Type: sortType = CoreDll.SortType.ByType; break; case ColumnsTypeHorizontal.Group: sortType = CoreDll.SortType.ByGroup; break; case ColumnsTypeHorizontal.GroupSize: sortType = CoreDll.SortType.ByGroupSize; break; case ColumnsTypeHorizontal.Difference: sortType = CoreDll.SortType.ByDifference; break; case ColumnsTypeHorizontal.Defect: sortType = CoreDll.SortType.ByDefect; break; case ColumnsTypeHorizontal.Transform: sortType = CoreDll.SortType.ByTransform; break; case ColumnsTypeHorizontal.Hint: sortType = CoreDll.SortType.ByHint; break; case ColumnsTypeHorizontal.FirstFileName: sortType = CoreDll.SortType.ByFirstName; break; case ColumnsTypeHorizontal.FirstFileDirectory: sortType = CoreDll.SortType.ByFirstDirectory; break; case ColumnsTypeHorizontal.FirstImageSize: sortType = CoreDll.SortType.ByFirstArea; break; case ColumnsTypeHorizontal.FirstImageType: sortType = CoreDll.SortType.ByFirstType; break; case ColumnsTypeHorizontal.FirstFileSize: sortType = CoreDll.SortType.ByFirstSize; break; case ColumnsTypeHorizontal.FirstBlockiness: sortType = CoreDll.SortType.ByFirstBlockiness; break; case ColumnsTypeHorizontal.FirstBlurring: sortType = CoreDll.SortType.ByFirstBlurring; break; case ColumnsTypeHorizontal.FirstFileTime: sortType = CoreDll.SortType.ByFirstTime; break; case ColumnsTypeHorizontal.SecondFileName: sortType = CoreDll.SortType.BySecondName; break; case ColumnsTypeHorizontal.SecondFileDirectory: sortType = CoreDll.SortType.BySecondDirectory; break; case ColumnsTypeHorizontal.SecondImageSize: sortType = CoreDll.SortType.BySecondArea; break; case ColumnsTypeHorizontal.SecondImageType: sortType = CoreDll.SortType.BySecondType; break; case ColumnsTypeHorizontal.SecondFileSize: sortType = CoreDll.SortType.BySecondSize; break; case ColumnsTypeHorizontal.SecondBlockiness: sortType = CoreDll.SortType.BySecondBlockiness; break; case ColumnsTypeHorizontal.SecondBlurring: sortType = CoreDll.SortType.BySecondBlurring; break; case ColumnsTypeHorizontal.SecondFileTime: sortType = CoreDll.SortType.BySecondTime; break; } } ListSortDirection direction = ListSortDirection.Ascending; switch (dataGridViewColumn.HeaderCell.SortGlyphDirection) { case SortOrder.None: direction = ListSortDirection.Ascending; dataGridViewColumn.HeaderCell.SortGlyphDirection = SortOrder.Ascending; break; case SortOrder.Ascending: direction = ListSortDirection.Descending; dataGridViewColumn.HeaderCell.SortGlyphDirection = SortOrder.Descending; break; case SortOrder.Descending: direction = ListSortDirection.Ascending; dataGridViewColumn.HeaderCell.SortGlyphDirection = SortOrder.Ascending; break; } for (int col = 0; col < ColumnCount; col++) { if (col != e.ColumnIndex) { Columns[col].HeaderCell.SortGlyphDirection = SortOrder.None; } } m_options.resultsOptions.sortTypeDefault = (int)sortType; m_options.resultsOptions.increasingDefault = direction == ListSortDirection.Ascending; m_core.SortResult(sortType, direction == ListSortDirection.Ascending); m_mainSplitContainer.UpdateResults(); }