1// Copyright (c) 2011 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_BASE_MODELS_TABLE_MODEL_OBSERVER_H_
6#define UI_BASE_MODELS_TABLE_MODEL_OBSERVER_H_
7
8#include "ui/base/ui_base_export.h"
9
10namespace ui {
11
12// Observer for a TableModel. Anytime the model changes, it must notify its
13// observer.
14class UI_BASE_EXPORT TableModelObserver {
15 public:
16  // Invoked when the model has been completely changed.
17  virtual void OnModelChanged() = 0;
18
19  // Invoked when a range of items has changed.
20  virtual void OnItemsChanged(int start, int length) = 0;
21
22  // Invoked when new items are added.
23  virtual void OnItemsAdded(int start, int length) = 0;
24
25  // Invoked when a range of items has been removed.
26  virtual void OnItemsRemoved(int start, int length) = 0;
27
28 protected:
29  virtual ~TableModelObserver() {}
30};
31
32}  // namespace ui
33
34#endif  // UI_BASE_MODELS_TABLE_MODEL_OBSERVER_H_
35