1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef UI_VIEWS_CONTROLS_TABLE_TABLE_GROUPER_H_ 6 #define UI_VIEWS_CONTROLS_TABLE_TABLE_GROUPER_H_ 7 8 namespace views { 9 10 struct GroupRange { 11 int start; 12 int length; 13 }; 14 15 // TableGrouper is used by TableView to group a set of rows and treat them 16 // as one. Rows that fall in the same group are selected together and sorted 17 // together. 18 class TableGrouper { 19 public: 20 virtual void GetGroupRange(int model_index, GroupRange* range) = 0; 21 22 protected: 23 virtual ~TableGrouper() {} 24 }; 25 26 } 27 28 #endif // UI_VIEWS_CONTROLS_TABLE_GROUP_TABLE_VIEW_H_ 29