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 #include "ui/views/views_export.h" 9 10 namespace views { 11 12 struct VIEWS_EXPORT GroupRange { 13 int start; 14 int length; 15 }; 16 17 // TableGrouper is used by TableView to group a set of rows and treat them 18 // as one. Rows that fall in the same group are selected together and sorted 19 // together. 20 class VIEWS_EXPORT TableGrouper { 21 public: 22 virtual void GetGroupRange(int model_index, GroupRange* range) = 0; 23 24 protected: 25 virtual ~TableGrouper() {} 26 }; 27 28 } 29 30 #endif // UI_VIEWS_CONTROLS_TABLE_GROUP_TABLE_VIEW_H_ 31