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
10namespace views {
11
12struct 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.
20class 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