Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(126)

Side by Side Diff: chrome/browser/tabs/tab_strip_model.h

Issue 3012001: Move implementation from header to source. (Closed) Base URL: http://src.chromium.org/git/chromium.git
Patch Set: blank line Created 10 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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_TABS_TAB_STRIP_MODEL_H_ 5 #ifndef CHROME_BROWSER_TABS_TAB_STRIP_MODEL_H_
6 #define CHROME_BROWSER_TABS_TAB_STRIP_MODEL_H_ 6 #define CHROME_BROWSER_TABS_TAB_STRIP_MODEL_H_
7 7
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/observer_list.h" 10 #include "base/observer_list.h"
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 52
53 // Change not characterized by LOADING_ONLY or TITLE_NOT_LOADING. 53 // Change not characterized by LOADING_ONLY or TITLE_NOT_LOADING.
54 ALL 54 ALL
55 }; 55 };
56 56
57 // A new TabContents was inserted into the TabStripModel at the specified 57 // A new TabContents was inserted into the TabStripModel at the specified
58 // index. |foreground| is whether or not it was opened in the foreground 58 // index. |foreground| is whether or not it was opened in the foreground
59 // (selected). 59 // (selected).
60 virtual void TabInsertedAt(TabContents* contents, 60 virtual void TabInsertedAt(TabContents* contents,
61 int index, 61 int index,
62 bool foreground) {} 62 bool foreground);
63 63
64 // The specified TabContents at |index| is being closed (and eventually 64 // The specified TabContents at |index| is being closed (and eventually
65 // destroyed). 65 // destroyed).
66 virtual void TabClosingAt(TabContents* contents, int index) {} 66 virtual void TabClosingAt(TabContents* contents, int index);
67 67
68 // The specified TabContents at |index| is being detached, perhaps to be 68 // The specified TabContents at |index| is being detached, perhaps to be
69 // inserted in another TabStripModel. The implementer should take whatever 69 // inserted in another TabStripModel. The implementer should take whatever
70 // action is necessary to deal with the TabContents no longer being present. 70 // action is necessary to deal with the TabContents no longer being present.
71 virtual void TabDetachedAt(TabContents* contents, int index) {} 71 virtual void TabDetachedAt(TabContents* contents, int index);
72 72
73 // The selected TabContents is about to change from |old_contents| at |index|. 73 // The selected TabContents is about to change from |old_contents| at |index|.
74 // This gives observers a chance to prepare for an impending switch before it 74 // This gives observers a chance to prepare for an impending switch before it
75 // happens. 75 // happens.
76 virtual void TabDeselectedAt(TabContents* contents, int index) {} 76 virtual void TabDeselectedAt(TabContents* contents, int index);
77 77
78 // The selected TabContents changed from |old_contents| to |new_contents| at 78 // The selected TabContents changed from |old_contents| to |new_contents| at
79 // |index|. |user_gesture| specifies whether or not this was done by a user 79 // |index|. |user_gesture| specifies whether or not this was done by a user
80 // input event (e.g. clicking on a tab, keystroke) or as a side-effect of 80 // input event (e.g. clicking on a tab, keystroke) or as a side-effect of
81 // some other function. 81 // some other function.
82 virtual void TabSelectedAt(TabContents* old_contents, 82 virtual void TabSelectedAt(TabContents* old_contents,
83 TabContents* new_contents, 83 TabContents* new_contents,
84 int index, 84 int index,
85 bool user_gesture) {} 85 bool user_gesture);
86 86
87 // The specified TabContents at |from_index| was moved to |to_index|. 87 // The specified TabContents at |from_index| was moved to |to_index|.
88 virtual void TabMoved(TabContents* contents, 88 virtual void TabMoved(TabContents* contents,
89 int from_index, 89 int from_index,
90 int to_index) {} 90 int to_index);
91 91
92 // The specified TabContents at |index| changed in some way. |contents| may 92 // The specified TabContents at |index| changed in some way. |contents| may
93 // be an entirely different object and the old value is no longer available 93 // be an entirely different object and the old value is no longer available
94 // by the time this message is delivered. 94 // by the time this message is delivered.
95 // 95 //
96 // See TabChangeType for a description of |change_type|. 96 // See TabChangeType for a description of |change_type|.
97 virtual void TabChangedAt(TabContents* contents, int index, 97 virtual void TabChangedAt(TabContents* contents, int index,
98 TabChangeType change_type) {} 98 TabChangeType change_type);
99 99
100 // The tab contents was replaced at the specified index. This is invoked when 100 // The tab contents was replaced at the specified index. This is invoked when
101 // a tab becomes phantom. See description of phantom tabs in class description 101 // a tab becomes phantom. See description of phantom tabs in class description
102 // of TabStripModel for details. 102 // of TabStripModel for details.
103 virtual void TabReplacedAt(TabContents* old_contents, 103 virtual void TabReplacedAt(TabContents* old_contents,
104 TabContents* new_contents, int index) {} 104 TabContents* new_contents, int index);
105 105
106 // Invoked when the pinned state of a tab changes. This is not invoked if the 106 // Invoked when the pinned state of a tab changes. This is not invoked if the
107 // tab ends up moving as a result of the mini state changing. 107 // tab ends up moving as a result of the mini state changing.
108 // See note in TabMiniStateChanged as to how this relates to 108 // See note in TabMiniStateChanged as to how this relates to
109 // TabMiniStateChanged. 109 // TabMiniStateChanged.
110 virtual void TabPinnedStateChanged(TabContents* contents, int index) {} 110 virtual void TabPinnedStateChanged(TabContents* contents, int index);
111 111
112 // Invoked if the mini state of a tab changes. This is not invoked if the 112 // Invoked if the mini state of a tab changes. This is not invoked if the
113 // tab ends up moving as a result of the mini state changing. 113 // tab ends up moving as a result of the mini state changing.
114 // NOTE: this is sent when the pinned state of a non-app tab changes and is 114 // NOTE: this is sent when the pinned state of a non-app tab changes and is
115 // sent in addition to TabPinnedStateChanged. UI code typically need not care 115 // sent in addition to TabPinnedStateChanged. UI code typically need not care
116 // about TabPinnedStateChanged, but instead this. 116 // about TabPinnedStateChanged, but instead this.
117 virtual void TabMiniStateChanged(TabContents* contents, int index) {} 117 virtual void TabMiniStateChanged(TabContents* contents, int index);
118 118
119 // Invoked when the blocked state of a tab changes. 119 // Invoked when the blocked state of a tab changes.
120 // NOTE: This is invoked when a tab becomes blocked/unblocked by a tab modal 120 // NOTE: This is invoked when a tab becomes blocked/unblocked by a tab modal
121 // window. 121 // window.
122 virtual void TabBlockedStateChanged(TabContents* contents, int index) {} 122 virtual void TabBlockedStateChanged(TabContents* contents, int index);
123 123
124 // The TabStripModel now no longer has any phantom tabs. The implementer may 124 // The TabStripModel now no longer has any phantom tabs. The implementer may
125 // use this as a trigger to try and close the window containing the 125 // use this as a trigger to try and close the window containing the
126 // TabStripModel, for example... 126 // TabStripModel, for example...
127 virtual void TabStripEmpty() {} 127 virtual void TabStripEmpty();
128 128
129 // Sent when the tabstrip model is about to be deleted and any reference held 129 // Sent when the tabstrip model is about to be deleted and any reference held
130 // must be dropped. 130 // must be dropped.
131 virtual void TabStripModelDeleted() {} 131 virtual void TabStripModelDeleted();
132 }; 132 };
133 133
134 /////////////////////////////////////////////////////////////////////////////// 134 ///////////////////////////////////////////////////////////////////////////////
135 // 135 //
136 // TabStripModelDelegate 136 // TabStripModelDelegate
137 // 137 //
138 // A delegate interface that the TabStripModel uses to perform work that it 138 // A delegate interface that the TabStripModel uses to perform work that it
139 // can't do itself, such as obtain a container HWND for creating new 139 // can't do itself, such as obtain a container HWND for creating new
140 // TabContents, creating new TabStripModels for detached tabs, etc. 140 // TabContents, creating new TabStripModels for detached tabs, etc.
141 // 141 //
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
222 virtual bool CanCloseContentsAt(int index) = 0; 222 virtual bool CanCloseContentsAt(int index) = 0;
223 223
224 // Returns true if we should allow "bookmark all tabs" in this window; this is 224 // Returns true if we should allow "bookmark all tabs" in this window; this is
225 // true when there is more than one bookmarkable tab open. 225 // true when there is more than one bookmarkable tab open.
226 virtual bool CanBookmarkAllTabs() const = 0; 226 virtual bool CanBookmarkAllTabs() const = 0;
227 227
228 // Creates a bookmark folder containing a bookmark for all open tabs. 228 // Creates a bookmark folder containing a bookmark for all open tabs.
229 virtual void BookmarkAllTabs() = 0; 229 virtual void BookmarkAllTabs() = 0;
230 230
231 // Returns true if any of the tabs can be closed. 231 // Returns true if any of the tabs can be closed.
232 virtual bool CanCloseTab() const { 232 virtual bool CanCloseTab() const;
233 return true;
234 }
235 233
236 // Returns true if the vertical tabstrip presentation should be used. 234 // Returns true if the vertical tabstrip presentation should be used.
237 virtual bool UseVerticalTabs() const = 0; 235 virtual bool UseVerticalTabs() const = 0;
238 236
239 // Toggles the use of the vertical tabstrip. 237 // Toggles the use of the vertical tabstrip.
240 virtual void ToggleUseVerticalTabs() = 0; 238 virtual void ToggleUseVerticalTabs() = 0;
241 239
242 // Set the visiblity of the toolbar. 240 // Set the visiblity of the toolbar.
243 virtual void SetToolbarVisibility(bool value) = 0; 241 virtual void SetToolbarVisibility(bool value) = 0;
244 }; 242 };
(...skipping 569 matching lines...) Expand 10 before | Expand all | Expand 10 after
814 typedef ObserverList<TabStripModelObserver> TabStripModelObservers; 812 typedef ObserverList<TabStripModelObserver> TabStripModelObservers;
815 TabStripModelObservers observers_; 813 TabStripModelObservers observers_;
816 814
817 // A scoped container for notification registries. 815 // A scoped container for notification registries.
818 NotificationRegistrar registrar_; 816 NotificationRegistrar registrar_;
819 817
820 DISALLOW_COPY_AND_ASSIGN(TabStripModel); 818 DISALLOW_COPY_AND_ASSIGN(TabStripModel);
821 }; 819 };
822 820
823 #endif // CHROME_BROWSER_TABS_TAB_STRIP_MODEL_H_ 821 #endif // CHROME_BROWSER_TABS_TAB_STRIP_MODEL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698