OLD | NEW |
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_VIEWS_BOOKMARK_BAR_VIEW_H_ | 5 #ifndef CHROME_BROWSER_VIEWS_BOOKMARK_BAR_VIEW_H_ |
6 #define CHROME_BROWSER_VIEWS_BOOKMARK_BAR_VIEW_H_ | 6 #define CHROME_BROWSER_VIEWS_BOOKMARK_BAR_VIEW_H_ |
7 | 7 |
8 #include <set> | 8 #include <set> |
9 | 9 |
10 #include "app/slide_animation.h" | 10 #include "app/slide_animation.h" |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
43 public views::ButtonListener, | 43 public views::ButtonListener, |
44 public NotificationObserver, | 44 public NotificationObserver, |
45 public views::ContextMenuController, | 45 public views::ContextMenuController, |
46 public views::DragController, | 46 public views::DragController, |
47 public AnimationDelegate, | 47 public AnimationDelegate, |
48 public BookmarkMenuController::Observer, | 48 public BookmarkMenuController::Observer, |
49 public BookmarkBarInstructionsView::Delegate { | 49 public BookmarkBarInstructionsView::Delegate { |
50 friend class ShowFolderMenuTask; | 50 friend class ShowFolderMenuTask; |
51 | 51 |
52 public: | 52 public: |
| 53 // Constants used in Browser View, as well as here. |
| 54 // How inset the bookmarks bar is when displayed on the new tab page. |
| 55 static const int kNewtabHorizontalPadding; |
| 56 static const int kNewtabVerticalPadding; |
| 57 |
| 58 // Maximum size of buttons on the bookmark bar. |
| 59 static const int kMaxButtonWidth; |
| 60 |
53 // Interface implemented by controllers/views that need to be notified any | 61 // Interface implemented by controllers/views that need to be notified any |
54 // time the model changes, typically to cancel an operation that is showing | 62 // time the model changes, typically to cancel an operation that is showing |
55 // data from the model such as a menu. This isn't intended as a general | 63 // data from the model such as a menu. This isn't intended as a general |
56 // way to be notified of changes, rather for cases where a controller/view is | 64 // way to be notified of changes, rather for cases where a controller/view is |
57 // showing data from the model in a modal like setting and needs to cleanly | 65 // showing data from the model in a modal like setting and needs to cleanly |
58 // exit the modal loop if the model changes out from under it. | 66 // exit the modal loop if the model changes out from under it. |
59 // | 67 // |
60 // A controller/view that needs this notification should install itself as the | 68 // A controller/view that needs this notification should install itself as the |
61 // ModelChangeListener via the SetModelChangedListener method when shown and | 69 // ModelChangeListener via the SetModelChangedListener method when shown and |
62 // reset the ModelChangeListener of the BookmarkBarView when it closes by way | 70 // reset the ModelChangeListener of the BookmarkBarView when it closes by way |
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
206 // Returns the position to anchor the menu for |button| at, the index of the | 214 // Returns the position to anchor the menu for |button| at, the index of the |
207 // first child of the node to build the menu from. | 215 // first child of the node to build the menu from. |
208 void GetAnchorPositionAndStartIndexForButton( | 216 void GetAnchorPositionAndStartIndexForButton( |
209 views::MenuButton* button, | 217 views::MenuButton* button, |
210 views::MenuItemView::AnchorPosition* anchor, | 218 views::MenuItemView::AnchorPosition* anchor, |
211 int* start_index); | 219 int* start_index); |
212 | 220 |
213 // BookmarkBarInstructionsView::Delegate. | 221 // BookmarkBarInstructionsView::Delegate. |
214 virtual void ShowImportDialog(); | 222 virtual void ShowImportDialog(); |
215 | 223 |
216 // Maximum size of buttons on the bookmark bar. | |
217 static const int kMaxButtonWidth; | |
218 | |
219 // If a button is currently throbbing, it is stopped. If immediate is true | 224 // If a button is currently throbbing, it is stopped. If immediate is true |
220 // the throb stops immediately, otherwise it stops after a couple more | 225 // the throb stops immediately, otherwise it stops after a couple more |
221 // throbs. | 226 // throbs. |
222 void StopThrobbing(bool immediate); | 227 void StopThrobbing(bool immediate); |
223 | 228 |
| 229 // Returns the number of buttons corresponding to starred urls/groups. This |
| 230 // is equivalent to the number of children the bookmark bar node from the |
| 231 // bookmark bar model has. |
| 232 int GetBookmarkButtonCount(); |
| 233 |
224 // If true we're running tests. This short circuits a couple of animations. | 234 // If true we're running tests. This short circuits a couple of animations. |
225 static bool testing_; | 235 static bool testing_; |
226 | 236 |
227 // Constants used in Browser View, as well as here. | |
228 // How inset the bookmarks bar is when displayed on the new tab page. | |
229 static const int kNewtabHorizontalPadding; | |
230 static const int kNewtabVerticalPadding; | |
231 | |
232 private: | 237 private: |
233 class ButtonSeparatorView; | 238 class ButtonSeparatorView; |
234 struct DropInfo; | 239 struct DropInfo; |
235 | 240 |
236 // Task that invokes ShowDropFolderForNode when run. ShowFolderDropMenuTask | 241 // Task that invokes ShowDropFolderForNode when run. ShowFolderDropMenuTask |
237 // deletes itself once run. | 242 // deletes itself once run. |
238 class ShowFolderDropMenuTask : public Task { | 243 class ShowFolderDropMenuTask : public Task { |
239 public: | 244 public: |
240 ShowFolderDropMenuTask(BookmarkBarView* view, const BookmarkNode* node) | 245 ShowFolderDropMenuTask(BookmarkBarView* view, const BookmarkNode* node) |
241 : view_(view), | 246 : view_(view), |
(...skipping 23 matching lines...) Expand all Loading... |
265 // Creates recent bookmark button and when visible button as well as | 270 // Creates recent bookmark button and when visible button as well as |
266 // calculating the preferred height. | 271 // calculating the preferred height. |
267 void Init(); | 272 void Init(); |
268 | 273 |
269 // Creates the button showing the other bookmarked items. | 274 // Creates the button showing the other bookmarked items. |
270 views::MenuButton* CreateOtherBookmarkedButton(); | 275 views::MenuButton* CreateOtherBookmarkedButton(); |
271 | 276 |
272 // Creates the button used when not all bookmark buttons fit. | 277 // Creates the button used when not all bookmark buttons fit. |
273 views::MenuButton* CreateOverflowButton(); | 278 views::MenuButton* CreateOverflowButton(); |
274 | 279 |
275 // Returns the number of buttons corresponding to starred urls/groups. This | |
276 // is equivalent to the number of children the bookmark bar node from the | |
277 // bookmark bar model has. | |
278 int GetBookmarkButtonCount(); | |
279 | |
280 // Invoked when the bookmark bar model has finished loading. Creates a button | 280 // Invoked when the bookmark bar model has finished loading. Creates a button |
281 // for each of the children of the root node from the model. | 281 // for each of the children of the root node from the model. |
282 virtual void Loaded(BookmarkModel* model); | 282 virtual void Loaded(BookmarkModel* model); |
283 | 283 |
284 // Invoked when the model is being deleted. | 284 // Invoked when the model is being deleted. |
285 virtual void BookmarkModelBeingDeleted(BookmarkModel* model); | 285 virtual void BookmarkModelBeingDeleted(BookmarkModel* model); |
286 | 286 |
287 // Invokes added followed by removed. | 287 // Invokes added followed by removed. |
288 virtual void BookmarkNodeMoved(BookmarkModel* model, | 288 virtual void BookmarkNodeMoved(BookmarkModel* model, |
289 const BookmarkNode* old_parent, | 289 const BookmarkNode* old_parent, |
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
492 // overflow_button_ or a button on the bar. | 492 // overflow_button_ or a button on the bar. |
493 views::CustomButton* throbbing_view_; | 493 views::CustomButton* throbbing_view_; |
494 | 494 |
495 // Background for extension toolstrips. | 495 // Background for extension toolstrips. |
496 SkBitmap toolstrip_background_; | 496 SkBitmap toolstrip_background_; |
497 | 497 |
498 DISALLOW_COPY_AND_ASSIGN(BookmarkBarView); | 498 DISALLOW_COPY_AND_ASSIGN(BookmarkBarView); |
499 }; | 499 }; |
500 | 500 |
501 #endif // CHROME_BROWSER_VIEWS_BOOKMARK_BAR_VIEW_H_ | 501 #endif // CHROME_BROWSER_VIEWS_BOOKMARK_BAR_VIEW_H_ |
OLD | NEW |