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; };