From bbd7464f37190d38cc67b867a0c798a87187b379 Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Fri, 19 Jun 2009 21:56:08 +0000 Subject: [PATCH] Added the sorting column related methods. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31124 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- .../debuganalyzer/gui/table/AbstractTable.cpp | 41 +++++++++++++++++++ .../debuganalyzer/gui/table/AbstractTable.h | 8 ++++ 2 files changed, 49 insertions(+) diff --git a/src/apps/debuganalyzer/gui/table/AbstractTable.cpp b/src/apps/debuganalyzer/gui/table/AbstractTable.cpp index 67eb0f7a08..c3e278e346 100644 --- a/src/apps/debuganalyzer/gui/table/AbstractTable.cpp +++ b/src/apps/debuganalyzer/gui/table/AbstractTable.cpp @@ -103,3 +103,44 @@ AbstractTable::DeselectAll() { BColumnListView::DeselectAll(); } + + +void +AbstractTable::SetSortingEnabled(bool enabled) +{ + BColumnListView::SetSortingEnabled(enabled); +} + + +bool +AbstractTable::SortingEnabled() const +{ + return BColumnListView::SortingEnabled(); +} + + +void +AbstractTable::SetSortColumn(TableColumn* column, bool add, bool ascending) +{ + if (AbstractColumn* privateColumn = GetColumn(column)) + BColumnListView::SetSortColumn(privateColumn, add, ascending); +} + + +void +AbstractTable::ClearSortColumns() +{ + BColumnListView::ClearSortColumns(); +} + + +AbstractTable::AbstractColumn* +AbstractTable::GetColumn(TableColumn* column) const +{ + for (int32 i = 0; AbstractColumn* privateColumn = fColumns.ItemAt(i); i++) { + if (privateColumn->GetTableColumn() == column) + return privateColumn; + } + + return NULL; +} diff --git a/src/apps/debuganalyzer/gui/table/AbstractTable.h b/src/apps/debuganalyzer/gui/table/AbstractTable.h index 54122d6fb7..ea6db1c809 100644 --- a/src/apps/debuganalyzer/gui/table/AbstractTable.h +++ b/src/apps/debuganalyzer/gui/table/AbstractTable.h @@ -37,6 +37,12 @@ public: void SetSelectionMode(list_view_type type); void DeselectAll(); + void SetSortingEnabled(bool enabled); + bool SortingEnabled() const; + void SetSortColumn(TableColumn* column, bool add, + bool ascending); + void ClearSortColumns(); + protected: class AbstractColumn; @@ -45,6 +51,8 @@ protected: protected: virtual AbstractColumn* CreateColumn(TableColumn* column) = 0; + AbstractColumn* GetColumn(TableColumn* column) const; + protected: ColumnList fColumns; };