Home | History | Annotate | Download | only in tabs
      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