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

Unified Diff: chrome/browser/ui/views/bookmarks/bookmark_bar_view.h

Issue 7054013: Cleans up bookmark_bar_view. In particular makes sure order of methods (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 7 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/views/bookmarks/bookmark_bar_view.h
diff --git a/chrome/browser/ui/views/bookmarks/bookmark_bar_view.h b/chrome/browser/ui/views/bookmarks/bookmark_bar_view.h
index 4ec60e30c8c43d980524c252661cf3bbbb9ee075..eb6016d3f132ab1d22262ed95a9a4100a15fbf14 100644
--- a/chrome/browser/ui/views/bookmarks/bookmark_bar_view.h
+++ b/chrome/browser/ui/views/bookmarks/bookmark_bar_view.h
@@ -53,8 +53,6 @@ class BookmarkBarView : public DetachableToolbarView,
public ui::AnimationDelegate,
public BookmarkMenuController::Observer,
public BookmarkBarInstructionsView::Delegate {
- friend class ShowFolderMenuTask;
-
public:
// Constants used in Browser View, as well as here.
// How inset the bookmarks bar is when displayed on the new tab page.
@@ -64,27 +62,6 @@ class BookmarkBarView : public DetachableToolbarView,
// Maximum size of buttons on the bookmark bar.
static const int kMaxButtonWidth;
- // Interface implemented by controllers/views that need to be notified any
- // time the model changes, typically to cancel an operation that is showing
- // data from the model such as a menu. This isn't intended as a general
- // way to be notified of changes, rather for cases where a controller/view is
- // showing data from the model in a modal like setting and needs to cleanly
- // exit the modal loop if the model changes out from under it.
- //
- // A controller/view that needs this notification should install itself as the
- // ModelChangeListener via the SetModelChangedListener method when shown and
- // reset the ModelChangeListener of the BookmarkBarView when it closes by way
- // of either the SetModelChangedListener method or the
- // ClearModelChangedListenerIfEquals method.
- class ModelChangedListener {
- public:
- virtual ~ModelChangedListener() {}
-
- // Invoked when the model changes. Should cancel the edit and close any
- // dialogs.
- virtual void ModelChanged() = 0;
- };
-
static const int kNewtabBarHeight;
BookmarkBarView(Profile* profile, Browser* browser);
@@ -104,70 +81,21 @@ class BookmarkBarView : public DetachableToolbarView,
// the bookmark bar.
void SetPageNavigator(PageNavigator* navigator);
+ // Returns the page navigator.
+ PageNavigator* GetPageNavigator() { return page_navigator_; }
+
// Sets whether the containing browser is showing an infobar. This affects
// layout during animation.
void set_infobar_visible(bool infobar_visible) {
infobar_visible_ = infobar_visible;
}
- virtual bool IsOnTop() const;
-
- // DetachableToolbarView methods:
- virtual bool IsDetached() const OVERRIDE;
- virtual double GetAnimationValue() const OVERRIDE;
- virtual int GetToolbarOverlap() const OVERRIDE;
-
- // View methods:
- virtual gfx::Size GetPreferredSize() OVERRIDE;
- virtual gfx::Size GetMinimumSize() OVERRIDE;
- virtual void Layout() OVERRIDE;
- virtual void ViewHierarchyChanged(bool is_add, View* parent, View* child)
- OVERRIDE;
- virtual void PaintChildren(gfx::Canvas* canvas) OVERRIDE;
- virtual bool GetDropFormats(
- int* formats,
- std::set<ui::OSExchangeData::CustomFormat>* custom_formats) OVERRIDE;
- virtual bool AreDropTypesRequired() OVERRIDE;
- virtual bool CanDrop(const ui::OSExchangeData& data) OVERRIDE;
- virtual void OnDragEntered(const views::DropTargetEvent& event) OVERRIDE;
- virtual int OnDragUpdated(const views::DropTargetEvent& event) OVERRIDE;
- virtual void OnDragExited() OVERRIDE;
- virtual int OnPerformDrop(const views::DropTargetEvent& event) OVERRIDE;
- virtual void ShowContextMenu(const gfx::Point& p, bool is_mouse_gesture)
- OVERRIDE;
-
- // AccessiblePaneView methods:
- virtual void GetAccessibleState(ui::AccessibleViewState* state) OVERRIDE;
-
- // ProfileSyncServiceObserver method.
- virtual void OnStateChanged();
+ // Returns the model.
+ BookmarkModel* GetModel() { return model_; }
// Called when fullscreen mode toggles on or off; this affects our layout.
void OnFullscreenToggled(bool fullscreen);
- // Sets the model change listener to listener.
- void SetModelChangedListener(ModelChangedListener* listener) {
- model_changed_listener_ = listener;
- }
-
- // If the ModelChangedListener is listener, ModelChangeListener is set to
- // NULL.
- void ClearModelChangedListenerIfEquals(ModelChangedListener* listener) {
- if (model_changed_listener_ == listener)
- model_changed_listener_ = NULL;
- }
-
- // Returns the model change listener.
- ModelChangedListener* GetModelChangedListener() {
- return model_changed_listener_;
- }
-
- // Returns the page navigator.
- PageNavigator* GetPageNavigator() { return page_navigator_; }
-
- // Returns the model.
- BookmarkModel* GetModel() { return model_; }
-
// Returns true if the bookmarks bar preference is set to 'always show'.
bool IsAlwaysShown() const;
@@ -181,34 +109,14 @@ class BookmarkBarView : public DetachableToolbarView,
// Whether or not we are animating.
bool is_animating();
- // SlideAnimationDelegate implementation.
- virtual void AnimationProgressed(const ui::Animation* animation);
- virtual void AnimationEnded(const ui::Animation* animation);
-
- // BookmarkMenuController::Observer
- virtual void BookmarkMenuDeleted(BookmarkMenuController* controller);
+ // Returns the number of buttons corresponding to starred urls/folders. This
+ // is equivalent to the number of children the bookmark bar node from the
+ // bookmark bar model has.
+ int GetBookmarkButtonCount();
// Returns the button at the specified index.
views::TextButton* GetBookmarkButton(int index);
- // Returns the button responsible for showing bookmarks in the other bookmark
- // folder.
- views::MenuButton* other_bookmarked_button() const {
- return other_bookmarked_button_;
- }
-
- // Returns the active MenuItemView, or NULL if a menu isn't showing.
- views::MenuItemView* GetMenu();
-
- // Returns the drop MenuItemView, or NULL if a menu isn't showing.
- views::MenuItemView* GetDropMenu();
-
- // Returns the context menu, or null if one isn't showing.
- views::MenuItemView* GetContextMenu();
-
- // Returns the button used when not all the items on the bookmark bar fit.
- views::MenuButton* overflow_button() const { return overflow_button_; }
-
// If |loc| is over a bookmark button the node is returned corresponding
// to the button and |start_index| is set to 0. If a overflow button is
// showing and |loc| is over the overflow button, the bookmark bar node is
@@ -227,19 +135,29 @@ class BookmarkBarView : public DetachableToolbarView,
views::MenuItemView::AnchorPosition* anchor,
int* start_index);
- // BookmarkBarInstructionsView::Delegate.
- virtual void ShowImportDialog();
+ // Returns the button responsible for showing bookmarks in the other bookmark
+ // folder.
+ views::MenuButton* other_bookmarked_button() const {
+ return other_bookmarked_button_;
+ }
+
+ // Returns the button used when not all the items on the bookmark bar fit.
+ views::MenuButton* overflow_button() const { return overflow_button_; }
+
+ // Returns the active MenuItemView, or NULL if a menu isn't showing.
+ views::MenuItemView* GetMenu();
+
+ // Returns the context menu, or null if one isn't showing.
+ views::MenuItemView* GetContextMenu();
+
+ // Returns the drop MenuItemView, or NULL if a menu isn't showing.
+ views::MenuItemView* GetDropMenu();
// If a button is currently throbbing, it is stopped. If immediate is true
// the throb stops immediately, otherwise it stops after a couple more
// throbs.
void StopThrobbing(bool immediate);
- // Returns the number of buttons corresponding to starred urls/folders. This
- // is equivalent to the number of children the bookmark bar node from the
- // bookmark bar model has.
- int GetBookmarkButtonCount();
-
// Returns the tooltip text for the specified url and title. The returned
// text is clipped to fit within the bounds of the monitor.
//
@@ -251,6 +169,99 @@ class BookmarkBarView : public DetachableToolbarView,
const std::wstring& title,
Profile* profile);
+ // DetachableToolbarView methods:
+ virtual bool IsDetached() const OVERRIDE;
+ virtual double GetAnimationValue() const OVERRIDE;
+ virtual int GetToolbarOverlap() const OVERRIDE;
+
+ // View methods:
+ virtual gfx::Size GetPreferredSize() OVERRIDE;
+ virtual gfx::Size GetMinimumSize() OVERRIDE;
+ virtual void Layout() OVERRIDE;
+ virtual void ViewHierarchyChanged(bool
+ is_add,
+ View* parent,
+ View* child) OVERRIDE;
+ virtual void PaintChildren(gfx::Canvas* canvas) OVERRIDE;
+ virtual bool GetDropFormats(
+ int* formats,
+ std::set<ui::OSExchangeData::CustomFormat>* custom_formats) OVERRIDE;
+ virtual bool AreDropTypesRequired() OVERRIDE;
+ virtual bool CanDrop(const ui::OSExchangeData& data) OVERRIDE;
+ virtual void OnDragEntered(const views::DropTargetEvent& event) OVERRIDE;
+ virtual int OnDragUpdated(const views::DropTargetEvent& event) OVERRIDE;
+ virtual void OnDragExited() OVERRIDE;
+ virtual int OnPerformDrop(const views::DropTargetEvent& event) OVERRIDE;
+ virtual void ShowContextMenu(const gfx::Point& p,
+ bool is_mouse_gesture) OVERRIDE;
+ virtual void OnThemeChanged() OVERRIDE;
+
+ // AccessiblePaneView methods:
+ virtual void GetAccessibleState(ui::AccessibleViewState* state) OVERRIDE;
+
+ // ProfileSyncServiceObserver method.
+ virtual void OnStateChanged() OVERRIDE;
+
+ // SlideAnimationDelegate implementation.
+ virtual void AnimationProgressed(const ui::Animation* animation) OVERRIDE;
+ virtual void AnimationEnded(const ui::Animation* animation) OVERRIDE;
+
+ // BookmarkMenuController::Observer
+ virtual void BookmarkMenuDeleted(
+ BookmarkMenuController* controller) OVERRIDE;
+
+ // BookmarkBarInstructionsView::Delegate.
+ virtual void ShowImportDialog() OVERRIDE;
+
+ // BookmarkModelObserver:
+ virtual void Loaded(BookmarkModel* model) OVERRIDE;
+ virtual void BookmarkModelBeingDeleted(BookmarkModel* model) OVERRIDE;
+ virtual void BookmarkNodeMoved(BookmarkModel* model,
+ const BookmarkNode* old_parent,
+ int old_index,
+ const BookmarkNode* new_parent,
+ int new_index) OVERRIDE;
+ virtual void BookmarkNodeAdded(BookmarkModel* model,
+ const BookmarkNode* parent,
+ int index) OVERRIDE;
+ virtual void BookmarkNodeRemoved(BookmarkModel* model,
+ const BookmarkNode* parent,
+ int old_index,
+ const BookmarkNode* node) OVERRIDE;
+ virtual void BookmarkNodeChanged(BookmarkModel* model,
+ const BookmarkNode* node) OVERRIDE;
+ virtual void BookmarkNodeChildrenReordered(BookmarkModel* model,
+ const BookmarkNode* node) OVERRIDE;
+ virtual void BookmarkNodeFaviconLoaded(BookmarkModel* model,
+ const BookmarkNode* node) OVERRIDE;
+
+ // DragController:
+ virtual void WriteDragDataForView(views::View* sender,
+ const gfx::Point& press_pt,
+ ui::OSExchangeData* data) OVERRIDE;
+ virtual int GetDragOperationsForView(views::View* sender,
+ const gfx::Point& p) OVERRIDE;
+ virtual bool CanStartDragForView(views::View* sender,
+ const gfx::Point& press_pt,
+ const gfx::Point& p) OVERRIDE;
+
+ // ViewMenuDelegate:
+ virtual void RunMenu(views::View* view, const gfx::Point& pt) OVERRIDE;
+
+ // ButtonListener:
+ virtual void ButtonPressed(views::Button* sender,
+ const views::Event& event) OVERRIDE;
+
+ // ContextMenuController
+ virtual void ShowContextMenuForView(views::View* source,
+ const gfx::Point& p,
+ bool is_mouse_gesture) OVERRIDE;
+
+ // NotificationService:
+ virtual void Observe(NotificationType type,
+ const NotificationSource& source,
+ const NotificationDetails& details) OVERRIDE;
+
// If true we're running tests. This short circuits a couple of animations.
static bool testing_;
@@ -297,120 +308,30 @@ class BookmarkBarView : public DetachableToolbarView,
// Creates the button used when not all bookmark buttons fit.
views::MenuButton* CreateOverflowButton();
- // Invoked when the bookmark bar model has finished loading. Creates a button
- // for each of the children of the root node from the model.
- virtual void Loaded(BookmarkModel* model);
-
- // Invoked when the model is being deleted.
- virtual void BookmarkModelBeingDeleted(BookmarkModel* model);
+ // Creates the sync error button and adds it as a child view.
+ views::TextButton* CreateSyncErrorButton();
- // Invokes added followed by removed.
- virtual void BookmarkNodeMoved(BookmarkModel* model,
- const BookmarkNode* old_parent,
- int old_index,
- const BookmarkNode* new_parent,
- int new_index);
+ // Creates the button for rendering the specified bookmark node.
+ views::View* CreateBookmarkButton(const BookmarkNode* node);
- // Notifies ModelChangeListener of change.
- // If the node was added to the root node, a button is created and added to
- // this bookmark bar view.
- virtual void BookmarkNodeAdded(BookmarkModel* model,
- const BookmarkNode* parent,
- int index);
+ // COnfigures the button from the specified node. This sets the text,
+ // and icon.
+ void ConfigureButton(const BookmarkNode* node, views::TextButton* button);
// Implementation for BookmarkNodeAddedImpl.
void BookmarkNodeAddedImpl(BookmarkModel* model,
const BookmarkNode* parent,
int index);
- // Notifies ModelChangeListener of change.
- // If the node was a child of the root node, the button corresponding to it
- // is removed.
- virtual void BookmarkNodeRemoved(BookmarkModel* model,
- const BookmarkNode* parent,
- int old_index,
- const BookmarkNode* node);
-
// Implementation for BookmarkNodeRemoved.
void BookmarkNodeRemovedImpl(BookmarkModel* model,
const BookmarkNode* parent,
int index);
- // Notifies ModelChangedListener and invokes BookmarkNodeChangedImpl.
- virtual void BookmarkNodeChanged(BookmarkModel* model,
- const BookmarkNode* node);
-
// If the node is a child of the root node, the button is updated
// appropriately.
void BookmarkNodeChangedImpl(BookmarkModel* model, const BookmarkNode* node);
- virtual void BookmarkNodeChildrenReordered(BookmarkModel* model,
- const BookmarkNode* node);
-
- // Invoked when the favicon is available. If the node is a child of the
- // root node, the appropriate button is updated. If a menu is showing, the
- // call is forwarded to the menu to allow for it to update the icon.
- virtual void BookmarkNodeFaviconLoaded(BookmarkModel* model,
- const BookmarkNode* node);
-
- // DragController method. Determines the node representing sender and invokes
- // WriteDragData to write the actual data.
- virtual void WriteDragDataForView(views::View* sender,
- const gfx::Point& press_pt,
- ui::OSExchangeData* data) OVERRIDE;
-
- virtual int GetDragOperationsForView(views::View* sender,
- const gfx::Point& p) OVERRIDE;
-
- virtual bool CanStartDragForView(views::View* sender,
- const gfx::Point& press_pt,
- const gfx::Point& p) OVERRIDE;
-
- // Writes a BookmarkNodeData for node to data.
- void WriteBookmarkDragData(const BookmarkNode* node,
- ui::OSExchangeData* data);
-
- // ViewMenuDelegate method. Ends up creating a BookmarkMenuController to
- // show the menu.
- virtual void RunMenu(views::View* view, const gfx::Point& pt);
-
- // Invoked when a star entry corresponding to a URL on the bookmark bar is
- // pressed. Forwards to the PageNavigator to open the URL.
- virtual void ButtonPressed(views::Button* sender, const views::Event& event);
-
- // Invoked for this View, one of the buttons or the 'other' button. Shows the
- // appropriate context menu.
- virtual void ShowContextMenuForView(views::View* source,
- const gfx::Point& p,
- bool is_mouse_gesture);
-
- // Creates the button for rendering the specified bookmark node.
- views::View* CreateBookmarkButton(const BookmarkNode* node);
-
- // COnfigures the button from the specified node. This sets the text,
- // and icon.
- void ConfigureButton(const BookmarkNode* node, views::TextButton* button);
-
- // Used when showing the menu allowing the user to choose when the bar is
- // visible. Return value corresponds to the users preference for when the
- // bar is visible.
- virtual bool IsItemChecked(int id) const;
-
- // Used when showing the menu allowing the user to choose when the bar is
- // visible. Updates the preferences to match the users choice as appropriate.
- virtual void ExecuteCommand(int id);
-
- // NotificationService method.
- virtual void Observe(NotificationType type,
- const NotificationSource& source,
- const NotificationDetails& details);
-
- // Overridden from views::View.
- virtual void OnThemeChanged();
-
- // If the ModelChangedListener is non-null, ModelChanged is invoked on it.
- void NotifyModelChanged();
-
// Shows the menu used during drag and drop for the specified node.
void ShowDropFolderForNode(const BookmarkNode* node);
@@ -429,6 +350,10 @@ class BookmarkBarView : public DetachableToolbarView,
bool* is_over_overflow,
bool* is_over_other);
+ // Writes a BookmarkNodeData for node to data.
+ void WriteBookmarkDragData(const BookmarkNode* node,
+ ui::OSExchangeData* data);
+
// Returns the index of the first hidden bookmark button. If all buttons are
// visible, this returns GetBookmarkButtonCount().
int GetFirstHiddenNodeIndex();
@@ -459,9 +384,6 @@ class BookmarkBarView : public DetachableToolbarView,
// desired bounds. If |compute_bounds_only| = FALSE, the bounds are set.
gfx::Size LayoutItems(bool compute_bounds_only);
- // Creates the sync error button and adds it as a child view.
- views::TextButton* CreateSyncErrorButton();
-
NotificationRegistrar registrar_;
Profile* profile_;
@@ -485,9 +407,6 @@ class BookmarkBarView : public DetachableToolbarView,
// Shows the other bookmark entries.
views::MenuButton* other_bookmarked_button_;
- // ModelChangeListener.
- ModelChangedListener* model_changed_listener_;
-
// Task used to delay showing of the drop menu.
ShowFolderDropMenuTask* show_folder_drop_menu_task_;
« no previous file with comments | « no previous file | chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698