Home | History | Annotate | Download | only in tabs
      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 CHROME_BROWSER_UI_VIEWS_TABS_FAKE_BASE_TAB_STRIP_CONTROLLER_H_
      6 #define CHROME_BROWSER_UI_VIEWS_TABS_FAKE_BASE_TAB_STRIP_CONTROLLER_H_
      7 
      8 #include "base/compiler_specific.h"
      9 #include "chrome/browser/ui/views/tabs/tab_strip_controller.h"
     10 #include "ui/base/models/list_selection_model.h"
     11 
     12 class TabStrip;
     13 
     14 class FakeBaseTabStripController : public TabStripController {
     15  public:
     16   FakeBaseTabStripController();
     17   virtual ~FakeBaseTabStripController();
     18 
     19   void AddTab(int index, bool is_active);
     20   void RemoveTab(int index);
     21 
     22   void set_tab_strip(TabStrip* tab_strip) { tab_strip_ = tab_strip; }
     23 
     24   // TabStripController overrides:
     25   virtual const ui::ListSelectionModel& GetSelectionModel() OVERRIDE;
     26   virtual int GetCount() const OVERRIDE;
     27   virtual bool IsValidIndex(int index) const OVERRIDE;
     28   virtual bool IsActiveTab(int index) const OVERRIDE;
     29   virtual int GetActiveIndex() const OVERRIDE;
     30   virtual bool IsTabSelected(int index) const OVERRIDE;
     31   virtual bool IsTabPinned(int index) const OVERRIDE;
     32   virtual bool IsNewTabPage(int index) const OVERRIDE;
     33   virtual void SelectTab(int index) OVERRIDE;
     34   virtual void ExtendSelectionTo(int index) OVERRIDE;
     35   virtual void ToggleSelected(int index) OVERRIDE;
     36   virtual void AddSelectionFromAnchorTo(int index) OVERRIDE;
     37   virtual void CloseTab(int index, CloseTabSource source) OVERRIDE;
     38   virtual void ShowContextMenuForTab(Tab* tab,
     39                                      const gfx::Point& p,
     40                                      ui::MenuSourceType source_type) OVERRIDE;
     41   virtual void UpdateLoadingAnimations() OVERRIDE;
     42   virtual int HasAvailableDragActions() const OVERRIDE;
     43   virtual void OnDropIndexUpdate(int index, bool drop_before) OVERRIDE;
     44   virtual void PerformDrop(bool drop_before,
     45                            int index,
     46                            const GURL& url) OVERRIDE;
     47   virtual bool IsCompatibleWith(TabStrip* other) const OVERRIDE;
     48   virtual void CreateNewTab() OVERRIDE;
     49   virtual bool IsIncognito() OVERRIDE;
     50   virtual void LayoutTypeMaybeChanged() OVERRIDE;
     51   virtual void OnStartedDraggingTabs() OVERRIDE;
     52   virtual void OnStoppedDraggingTabs() OVERRIDE;
     53 
     54  private:
     55   TabStrip* tab_strip_;
     56 
     57   int num_tabs_;
     58   int active_index_;
     59 
     60   ui::ListSelectionModel selection_model_;
     61 
     62   DISALLOW_COPY_AND_ASSIGN(FakeBaseTabStripController);
     63 };
     64 
     65 #endif  // CHROME_BROWSER_UI_VIEWS_TABS_FAKE_BASE_TAB_STRIP_CONTROLLER_H_
     66