• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_BASE_MODELS_LIST_MODEL_OBSERVER_H_
6 #define UI_BASE_MODELS_LIST_MODEL_OBSERVER_H_
7 
8 #include <stddef.h>
9 
10 #include "ui/base/ui_base_export.h"
11 
12 namespace ui {
13 
14 class UI_BASE_EXPORT ListModelObserver {
15  public:
16   // Invoked after items has been added to the model.
17   virtual void ListItemsAdded(size_t start, size_t count) = 0;
18 
19   // Invoked after items has been removed. |start| is the index before the
20   // removal.
21   virtual void ListItemsRemoved(size_t start, size_t count) = 0;
22 
23   // Invoked after an item has been moved. See ListModel::Move() for details
24   // of the arguments.
25   virtual void ListItemMoved(size_t index, size_t target_index) = 0;
26 
27   // Invoked after items has been changed.
28   virtual void ListItemsChanged(size_t start, size_t count) = 0;
29 
30  protected:
~ListModelObserver()31   virtual ~ListModelObserver() {}
32 };
33 
34 }  // namespace ui
35 
36 #endif  // UI_BASE_MODELS_LIST_MODEL_OBSERVER_H_
37