OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROME_BROWSER_UI_GTK_TABS_TAB_STRIP_GTK_H_ | 5 #ifndef CHROME_BROWSER_UI_GTK_TABS_TAB_STRIP_GTK_H_ |
6 #define CHROME_BROWSER_UI_GTK_TABS_TAB_STRIP_GTK_H_ | 6 #define CHROME_BROWSER_UI_GTK_TABS_TAB_STRIP_GTK_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include <gtk/gtk.h> | 9 #include <gtk/gtk.h> |
10 #include <vector> | 10 #include <vector> |
11 | 11 |
12 #include "base/basictypes.h" | 12 #include "base/basictypes.h" |
| 13 #include "base/compiler_specific.h" |
13 #include "base/memory/weak_ptr.h" | 14 #include "base/memory/weak_ptr.h" |
14 #include "base/message_loop.h" | 15 #include "base/message_loop.h" |
15 #include "base/task.h" | 16 #include "base/task.h" |
16 #include "chrome/browser/tabs/tab_strip_model.h" | 17 #include "chrome/browser/tabs/tab_strip_model.h" |
17 #include "chrome/browser/ui/gtk/tabs/tab_gtk.h" | 18 #include "chrome/browser/ui/gtk/tabs/tab_gtk.h" |
18 #include "chrome/browser/ui/gtk/tabstrip_origin_provider.h" | 19 #include "chrome/browser/ui/gtk/tabstrip_origin_provider.h" |
19 #include "chrome/browser/ui/gtk/view_id_util.h" | 20 #include "chrome/browser/ui/gtk/view_id_util.h" |
20 #include "chrome/browser/ui/tabs/hover_tab_selector.h" | 21 #include "chrome/browser/ui/tabs/hover_tab_selector.h" |
21 #include "content/public/browser/notification_observer.h" | 22 #include "content/public/browser/notification_observer.h" |
22 #include "content/public/browser/notification_registrar.h" | 23 #include "content/public/browser/notification_registrar.h" |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
91 | 92 |
92 // Retrieve the ideal bounds for the Tab at the specified index. | 93 // Retrieve the ideal bounds for the Tab at the specified index. |
93 gfx::Rect GetIdealBounds(int index); | 94 gfx::Rect GetIdealBounds(int index); |
94 | 95 |
95 // Sets the vertical offset that each tab will use to offset against the | 96 // Sets the vertical offset that each tab will use to offset against the |
96 // background image. Passed in from the titlebar and based on the size of the | 97 // background image. Passed in from the titlebar and based on the size of the |
97 // alignment that sits above the tabstrip. | 98 // alignment that sits above the tabstrip. |
98 void SetVerticalOffset(int offset); | 99 void SetVerticalOffset(int offset); |
99 | 100 |
100 // TabstripOriginProvider implementation ------------------------------------- | 101 // TabstripOriginProvider implementation ------------------------------------- |
101 virtual gfx::Point GetTabStripOriginForWidget(GtkWidget* widget); | 102 virtual gfx::Point GetTabStripOriginForWidget(GtkWidget* widget) OVERRIDE; |
102 | 103 |
103 // ViewIDUtil::Delegate implementation --------------------------------------- | 104 // ViewIDUtil::Delegate implementation --------------------------------------- |
104 virtual GtkWidget* GetWidgetForViewID(ViewID id); | 105 virtual GtkWidget* GetWidgetForViewID(ViewID id) OVERRIDE; |
105 | 106 |
106 protected: | 107 protected: |
107 // TabStripModelObserver implementation: | 108 // TabStripModelObserver implementation: |
108 virtual void TabInsertedAt(TabContentsWrapper* contents, | 109 virtual void TabInsertedAt(TabContentsWrapper* contents, |
109 int index, | 110 int index, |
110 bool foreground); | 111 bool foreground) OVERRIDE; |
111 virtual void TabDetachedAt(TabContentsWrapper* contents, int index); | 112 virtual void TabDetachedAt(TabContentsWrapper* contents, int index) OVERRIDE; |
112 virtual void TabMoved(TabContentsWrapper* contents, | 113 virtual void TabMoved(TabContentsWrapper* contents, |
113 int from_index, | 114 int from_index, |
114 int to_index); | 115 int to_index) OVERRIDE; |
115 virtual void ActiveTabChanged(TabContentsWrapper* old_contents, | 116 virtual void ActiveTabChanged(TabContentsWrapper* old_contents, |
116 TabContentsWrapper* new_contents, | 117 TabContentsWrapper* new_contents, |
117 int index, | 118 int index, |
118 bool user_gesture); | 119 bool user_gesture) OVERRIDE; |
119 virtual void TabSelectionChanged(TabStripModel* tab_strip_model, | 120 virtual void TabSelectionChanged( |
120 const TabStripSelectionModel& old_model); | 121 TabStripModel* tab_strip_model, |
| 122 const TabStripSelectionModel& old_model) OVERRIDE; |
121 virtual void TabChangedAt(TabContentsWrapper* contents, int index, | 123 virtual void TabChangedAt(TabContentsWrapper* contents, int index, |
122 TabChangeType change_type); | 124 TabChangeType change_type) OVERRIDE; |
123 virtual void TabReplacedAt(TabStripModel* tab_strip_model, | 125 virtual void TabReplacedAt(TabStripModel* tab_strip_model, |
124 TabContentsWrapper* old_contents, | 126 TabContentsWrapper* old_contents, |
125 TabContentsWrapper* new_contents, | 127 TabContentsWrapper* new_contents, |
126 int index); | 128 int index) OVERRIDE; |
127 virtual void TabMiniStateChanged(TabContentsWrapper* contents, int index); | 129 virtual void TabMiniStateChanged(TabContentsWrapper* contents, |
| 130 int index) OVERRIDE; |
128 virtual void TabBlockedStateChanged(TabContentsWrapper* contents, | 131 virtual void TabBlockedStateChanged(TabContentsWrapper* contents, |
129 int index); | 132 int index) OVERRIDE; |
130 | 133 |
131 // TabGtk::TabDelegate implementation: | 134 // TabGtk::TabDelegate implementation: |
132 virtual bool IsTabActive(const TabGtk* tab) const; | 135 virtual bool IsTabActive(const TabGtk* tab) const OVERRIDE; |
133 virtual bool IsTabSelected(const TabGtk* tab) const; | 136 virtual bool IsTabSelected(const TabGtk* tab) const OVERRIDE; |
134 virtual bool IsTabPinned(const TabGtk* tab) const; | 137 virtual bool IsTabPinned(const TabGtk* tab) const OVERRIDE; |
135 virtual bool IsTabDetached(const TabGtk* tab) const; | 138 virtual bool IsTabDetached(const TabGtk* tab) const OVERRIDE; |
136 virtual void ActivateTab(TabGtk* tab); | 139 virtual void ActivateTab(TabGtk* tab) OVERRIDE; |
137 virtual void ToggleTabSelection(TabGtk* tab); | 140 virtual void ToggleTabSelection(TabGtk* tab) OVERRIDE; |
138 virtual void ExtendTabSelection(TabGtk* tab); | 141 virtual void ExtendTabSelection(TabGtk* tab) OVERRIDE; |
139 virtual void CloseTab(TabGtk* tab); | 142 virtual void CloseTab(TabGtk* tab) OVERRIDE; |
140 virtual bool IsCommandEnabledForTab( | 143 virtual bool IsCommandEnabledForTab( |
141 TabStripModel::ContextMenuCommand command_id, const TabGtk* tab) const; | 144 TabStripModel::ContextMenuCommand command_id, |
| 145 const TabGtk* tab) const OVERRIDE; |
142 virtual void ExecuteCommandForTab( | 146 virtual void ExecuteCommandForTab( |
143 TabStripModel::ContextMenuCommand command_id, TabGtk* tab); | 147 TabStripModel::ContextMenuCommand command_id, TabGtk* tab) OVERRIDE; |
144 virtual void StartHighlightTabsForCommand( | 148 virtual void StartHighlightTabsForCommand( |
145 TabStripModel::ContextMenuCommand command_id, TabGtk* tab); | 149 TabStripModel::ContextMenuCommand command_id, TabGtk* tab) OVERRIDE; |
146 virtual void StopHighlightTabsForCommand( | 150 virtual void StopHighlightTabsForCommand( |
147 TabStripModel::ContextMenuCommand command_id, TabGtk* tab); | 151 TabStripModel::ContextMenuCommand command_id, TabGtk* tab) OVERRIDE; |
148 virtual void StopAllHighlighting(); | 152 virtual void StopAllHighlighting() OVERRIDE; |
149 virtual void MaybeStartDrag(TabGtk* tab, const gfx::Point& point); | 153 virtual void MaybeStartDrag(TabGtk* tab, const gfx::Point& point) OVERRIDE; |
150 virtual void ContinueDrag(GdkDragContext* context); | 154 virtual void ContinueDrag(GdkDragContext* context) OVERRIDE; |
151 virtual bool EndDrag(bool canceled); | 155 virtual bool EndDrag(bool canceled) OVERRIDE; |
152 virtual bool HasAvailableDragActions() const; | 156 virtual bool HasAvailableDragActions() const OVERRIDE; |
153 virtual GtkThemeService* GetThemeProvider(); | 157 virtual GtkThemeService* GetThemeProvider() OVERRIDE; |
154 virtual TabStripMenuController* GetTabStripMenuControllerForTab(TabGtk* tab); | 158 virtual TabStripMenuController* GetTabStripMenuControllerForTab( |
| 159 TabGtk* tab) OVERRIDE; |
155 | 160 |
156 // MessageLoop::Observer implementation: | 161 // MessageLoop::Observer implementation: |
157 virtual void WillProcessEvent(GdkEvent* event) OVERRIDE; | 162 virtual void WillProcessEvent(GdkEvent* event) OVERRIDE; |
158 virtual void DidProcessEvent(GdkEvent* event) OVERRIDE; | 163 virtual void DidProcessEvent(GdkEvent* event) OVERRIDE; |
159 | 164 |
160 // Overridden from content::NotificationObserver: | 165 // Overridden from content::NotificationObserver: |
161 virtual void Observe(int type, | 166 virtual void Observe(int type, |
162 const content::NotificationSource& source, | 167 const content::NotificationSource& source, |
163 const content::NotificationDetails& details) OVERRIDE; | 168 const content::NotificationDetails& details) OVERRIDE; |
164 | 169 |
(...skipping 326 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
491 | 496 |
492 // Helper for performing tab selection as a result of dragging over a tab. | 497 // Helper for performing tab selection as a result of dragging over a tab. |
493 HoverTabSelector hover_tab_selector_; | 498 HoverTabSelector hover_tab_selector_; |
494 | 499 |
495 content::NotificationRegistrar registrar_; | 500 content::NotificationRegistrar registrar_; |
496 | 501 |
497 DISALLOW_COPY_AND_ASSIGN(TabStripGtk); | 502 DISALLOW_COPY_AND_ASSIGN(TabStripGtk); |
498 }; | 503 }; |
499 | 504 |
500 #endif // CHROME_BROWSER_UI_GTK_TABS_TAB_STRIP_GTK_H_ | 505 #endif // CHROME_BROWSER_UI_GTK_TABS_TAB_STRIP_GTK_H_ |
OLD | NEW |