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 10 namespace ui { 11 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; 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: ~TableModelObserver()29 virtual ~TableModelObserver() {} 30 }; 31 32 } // namespace ui 33 34 #endif // UI_BASE_MODELS_TABLE_MODEL_OBSERVER_H_ 35