1 // Copyright 2013 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 CHROME_BROWSER_UI_VIEWS_TABS_TAB_STRIP_OBSERVER_H_ 6 #define CHROME_BROWSER_UI_VIEWS_TABS_TAB_STRIP_OBSERVER_H_ 7 8 #include "chrome/browser/ui/views/chrome_views_export.h" 9 10 class TabStrip; 11 12 //////////////////////////////////////////////////////////////////////////////// 13 // 14 // TabStripObserver 15 // 16 // Objects implement this interface when they wish to be notified of changes 17 // to the TabStrip. 18 // 19 // Register your TabStripObserver with the TabStrip using its 20 // Add/RemoveObserver methods. 21 // 22 //////////////////////////////////////////////////////////////////////////////// 23 class CHROME_VIEWS_EXPORT TabStripObserver { 24 public: 25 // A new tab was added to |tab_strip| at |index|. 26 virtual void TabStripAddedTabAt(TabStrip* tab_strip, int index); 27 28 // The tab at |from_index| was moved to |to_index| in |tab_strip|. 29 virtual void TabStripMovedTab(TabStrip* tab_strip, 30 int from_index, 31 int to_index); 32 33 // The tab at |index| was removed from |tab_strip|. 34 virtual void TabStripRemovedTabAt(TabStrip* tab_strip, int index); 35 36 // Sent when the |tabstrip| is about to be deleted and any reference held must 37 // be dropped. 38 virtual void TabStripDeleted(TabStrip* tab_strip); 39 40 protected: 41 virtual ~TabStripObserver() {} 42 }; 43 44 #endif // CHROME_BROWSER_UI_VIEWS_TABS_TAB_STRIP_OBSERVER_H_ 45