Roll src/third_party/WebKit 4526c29:30f3df0 (svn 190187:190189)
[chromium-blink-merge.git] / ui / base / models / table_model_observer.h
blob4c9d0eb03295482fc521f43dcc4f9d08d6b0c349
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.
5 #ifndef UI_BASE_MODELS_TABLE_MODEL_OBSERVER_H_
6 #define UI_BASE_MODELS_TABLE_MODEL_OBSERVER_H_
8 #include "ui/base/ui_base_export.h"
10 namespace ui {
12 // Observer for a TableModel. Anytime the model changes, it must notify its
13 // observer.
14 class UI_BASE_EXPORT TableModelObserver {
15 public:
16 // Invoked when the model has been completely changed.
17 virtual void OnModelChanged() = 0;
19 // Invoked when a range of items has changed.
20 virtual void OnItemsChanged(int start, int length) = 0;
22 // Invoked when new items are added.
23 virtual void OnItemsAdded(int start, int length) = 0;
25 // Invoked when a range of items has been removed.
26 virtual void OnItemsRemoved(int start, int length) = 0;
28 protected:
29 virtual ~TableModelObserver() {}
32 } // namespace ui
34 #endif // UI_BASE_MODELS_TABLE_MODEL_OBSERVER_H_