| Index: chrome/browser/views/tabs/tab_strip.h
|
| ===================================================================
|
| --- chrome/browser/views/tabs/tab_strip.h (revision 20183)
|
| +++ chrome/browser/views/tabs/tab_strip.h (working copy)
|
| @@ -9,6 +9,7 @@
|
| #include "base/message_loop.h"
|
| #include "chrome/browser/tabs/tab_strip_model.h"
|
| #include "chrome/browser/views/tabs/tab.h"
|
| +#include "chrome/browser/views/tabs/tab_strip_wrapper.h"
|
| #include "views/controls/button/image_button.h"
|
| #include "views/view.h"
|
| #if defined(OS_WIN)
|
| @@ -40,40 +41,20 @@
|
| public TabStripModelObserver,
|
| public Tab::TabDelegate,
|
| public views::ButtonListener,
|
| - public MessageLoopForUI::Observer {
|
| + public MessageLoopForUI::Observer,
|
| + public TabStripWrapper {
|
| public:
|
| TabStrip(TabStripModel* model);
|
| virtual ~TabStrip();
|
|
|
| - // Returns the preferred height of this TabStrip. This is based on the
|
| - // typical height of its constituent tabs.
|
| - int GetPreferredHeight();
|
| -
|
| // Returns true if the TabStrip can accept input events. This returns false
|
| // when the TabStrip is animating to a new state and as such the user should
|
| // not be allowed to interact with the TabStrip.
|
| bool CanProcessInputEvents() const;
|
|
|
| - // Returns true if the specified point (in TabStrip coordinates) is within a
|
| - // portion of the TabStrip that should be treated as the containing Window's
|
| - // titlebar for dragging purposes.
|
| - // TODO(beng): (Cleanup) should be const, but GetViewForPoint isn't, so fie!
|
| - bool PointIsWithinWindowCaption(const gfx::Point& point);
|
| -
|
| - // Return true if this tab strip is compatible with the provided tab strip.
|
| - // Compatible tab strips can transfer tabs during drag and drop.
|
| - bool IsCompatibleWith(TabStrip* other);
|
| -
|
| - // Returns true if Tabs in this TabStrip are currently changing size or
|
| - // position.
|
| - bool IsAnimating() const;
|
| -
|
| // Accessors for the model and individual Tabs.
|
| TabStripModel* model() { return model_; }
|
|
|
| - // Returns true if there is an active drag session.
|
| - bool IsDragSessionActive() const { return drag_controller_.get() != NULL; }
|
| -
|
| // Destroys the active drag controller.
|
| void DestroyDragController();
|
|
|
| @@ -83,12 +64,6 @@
|
| // Retrieve the ideal bounds for the Tab at the specified index.
|
| gfx::Rect GetIdealBounds(int index);
|
|
|
| - // Updates loading animations for the TabStrip.
|
| - void UpdateLoadingAnimations();
|
| -
|
| - // Set the background offset used by inactive tabs to match the frame image.
|
| - void SetBackgroundOffset(gfx::Point offset);
|
| -
|
| // Create the new tab button.
|
| void InitTabStripButtons();
|
|
|
| @@ -108,8 +83,11 @@
|
| virtual void SetAccessibleName(const std::wstring& name);
|
| virtual views::View* GetViewForPoint(const gfx::Point& point);
|
| virtual void ThemeChanged();
|
| -
|
| protected:
|
| + virtual void ViewHierarchyChanged(bool is_add,
|
| + views::View* parent,
|
| + views::View* child);
|
| +
|
| // TabStripModelObserver implementation:
|
| virtual void TabInsertedAt(TabContents* contents,
|
| int index,
|
| @@ -153,6 +131,20 @@
|
| virtual void DidProcessEvent(GdkEvent* event);
|
| #endif
|
|
|
| + // TabStripWrapper implementation:
|
| + virtual int GetPreferredHeight();
|
| + virtual bool IsAnimating() const;
|
| + virtual void SetBackgroundOffset(gfx::Point offset);
|
| + virtual bool PointIsWithinWindowCaption(const gfx::Point& point);
|
| + virtual bool IsDragSessionActive() const;
|
| + virtual bool IsCompatibleWith(TabStripWrapper* other) const;
|
| + virtual void SetDraggedTabBounds(int tab_index,
|
| + const gfx::Rect& tab_bounds);
|
| + virtual void UpdateLoadingAnimations();
|
| + virtual views::View* GetView();
|
| + virtual BrowserTabStrip* AsBrowserTabStrip();
|
| + virtual TabStrip* AsTabStrip();
|
| +
|
| private:
|
| class InsertTabAnimation;
|
| class MoveTabAnimation;
|
|
|