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_export.h" 11 12 namespace ui { 13 14 class UI_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: 31 virtual ~ListModelObserver() {} 32 }; 33 34 } // namespace ui 35 36 #endif // UI_BASE_MODELS_LIST_MODEL_OBSERVER_H_ 37