int32 ColumnListView::Sorting(int32* SortKeys, CLVSortMode* SortModes) const { BWindow* ParentWindow = Window(); if(ParentWindow) ParentWindow->Lock(); int32 NumberOfKeys = fSortKeyList.CountItems(); for(int32 Counter = 0; Counter < NumberOfKeys; Counter++) { CLVColumn* Column = (CLVColumn*)fSortKeyList.ItemAt(Counter); SortKeys[Counter] = IndexOfColumn(Column); SortModes[Counter] = Column->SortMode(); } if(ParentWindow) ParentWindow->Unlock(); return NumberOfKeys; }