diff options
author | msw@chromium.org <msw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-01-14 00:19:04 +0000 |
---|---|---|
committer | msw@chromium.org <msw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-01-14 00:19:04 +0000 |
commit | 736d1898191dc530e603a996d8c4bf2415326aa7 (patch) | |
tree | 79c524d49f164c8c970b119279be072aaaaee91d /chrome/browser/gtk/bookmark_menu_controller_gtk.h | |
parent | 2dee6d5003f0d5a9fffd55856b9f54b404988cab (diff) | |
download | chromium_src-736d1898191dc530e603a996d8c4bf2415326aa7.zip chromium_src-736d1898191dc530e603a996d8c4bf2415326aa7.tar.gz chromium_src-736d1898191dc530e603a996d8c4bf2415326aa7.tar.bz2 |
Move chrome/browser/gtk/ to chrome/browser/ui/gtk/
(moved *.cc using 'svn mv' to preserve history)
(copied *.h using 'svn cp' to preserve history and stub out originals)
Stubbed out original headers in chrome/browser/gtk/
Update header guards & copyright dates in chrome/browser/ui/gtk/
Update .gypi files
Remove chrome/chrome_browser.gypi:4228 reference to nonexistant:
['include', '^browser/gtk/pk11_password_dialog.h'],
Remove stray header guard in:
chrome/browser/ui/gtk/bookmark_bar_instructions_gtk.cc
Add #pragma once to the following files:
chrome/browser/ui/gtk/instant_confirm_dialog_gtk.h
chrome/browser/ui/gtk/infobar_arrow_model.h
Ran the following to appease presubmit: 'svn pset svn:eol-style LF \
chrome/browser/ui/gtk/info_bubble_accelerators_gtk.cc \
chrome/browser/ui/gtk/gtk_custom_menu.cc \
chrome/browser/ui/gtk/info_bubble_accelerators_gtk.h \
chrome/browser/ui/gtk/gtk_custom_menu.h \
chrome/browser/ui/gtk/options/managed_prefs_banner_gtk.h \
chrome/browser/ui/gtk/chrome_gtk_frame.h \
chrome/browser/ui/gtk/chrome_gtk_frame.cc \
chrome/browser/ui/gtk/gtk_custom_menu_item.h \
chrome/browser/gtk/info_bubble_accelerators_gtk.h \
chrome/browser/gtk/gtk_custom_menu.h \
chrome/browser/gtk/options/managed_prefs_banner_gtk.h \
chrome/browser/gtk/chrome_gtk_frame.h \
chrome/browser/gtk/gtk_custom_menu_item.h'
BUG=69289
TEST=Compile&Trybots
Review URL: http://codereview.chromium.org/6251001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71397 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/gtk/bookmark_menu_controller_gtk.h')
-rw-r--r-- | chrome/browser/gtk/bookmark_menu_controller_gtk.h | 139 |
1 files changed, 3 insertions, 136 deletions
diff --git a/chrome/browser/gtk/bookmark_menu_controller_gtk.h b/chrome/browser/gtk/bookmark_menu_controller_gtk.h index 0060267..92467d2 100644 --- a/chrome/browser/gtk/bookmark_menu_controller_gtk.h +++ b/chrome/browser/gtk/bookmark_menu_controller_gtk.h @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -6,140 +6,7 @@ #define CHROME_BROWSER_GTK_BOOKMARK_MENU_CONTROLLER_GTK_H_ #pragma once -#include <map> - -#include "app/gtk_integers.h" -#include "app/gtk_signal.h" -#include "app/gtk_signal_registrar.h" -#include "base/scoped_ptr.h" -#include "chrome/browser/bookmarks/base_bookmark_model_observer.h" -#include "chrome/browser/bookmarks/bookmark_context_menu_controller.h" -#include "chrome/browser/gtk/owned_widget_gtk.h" -#include "webkit/glue/window_open_disposition.h" - -class Browser; -class Profile; -class Profiler; -class PageNavigator; -class BookmarkModel; -class BookmarkNode; -class MenuGtk; - -typedef struct _GdkDragContext GdkDragContext; -typedef struct _GdkEventButton GdkEventButton; -typedef struct _GtkSelectionData GtkSelectionData; -typedef struct _GtkWidget GtkWidget; - -class BookmarkMenuController : public BaseBookmarkModelObserver, - public BookmarkContextMenuControllerDelegate { - public: - // Creates a BookmarkMenuController showing the children of |node| starting - // at index |start_child_index|. - BookmarkMenuController(Browser* browser, - Profile* profile, - PageNavigator* page_navigator, - GtkWindow* window, - const BookmarkNode* node, - int start_child_index); - virtual ~BookmarkMenuController(); - - GtkWidget* widget() { return menu_; } - - // Pops up the menu. |widget| must be a GtkChromeButton. - void Popup(GtkWidget* widget, gint button_type, guint32 timestamp); - - // Overridden from BaseBookmarkModelObserver: - virtual void BookmarkModelChanged(); - virtual void BookmarkNodeFavIconLoaded(BookmarkModel* model, - const BookmarkNode* node); - - // Overridden from BookmarkContextMenuController::Delegate: - virtual void WillExecuteCommand(); - virtual void CloseMenu(); - - private: - // Recursively change the bookmark hierarchy rooted in |parent| into a set of - // gtk menus rooted in |menu|. - void BuildMenu(const BookmarkNode* parent, - int start_child_index, - GtkWidget* menu); - - // Calls the page navigator to navigate to the node represented by - // |menu_item|. - void NavigateToMenuItem(GtkWidget* menu_item, - WindowOpenDisposition disposition); - - // Button press and release events for a GtkMenu. - CHROMEGTK_CALLBACK_1(BookmarkMenuController, gboolean, - OnMenuButtonPressedOrReleased, GdkEventButton*); - - // Button release event for a GtkMenuItem. - CHROMEGTK_CALLBACK_1(BookmarkMenuController, gboolean, OnButtonReleased, - GdkEventButton*); - - // We connect this handler to the button-press-event signal for folder nodes. - // It suppresses the normal behavior (popping up the submenu) to allow these - // nodes to be draggable. The submenu is instead popped up on a - // button-release-event. - CHROMEGTK_CALLBACK_1(BookmarkMenuController, gboolean, OnFolderButtonPressed, - GdkEventButton*); - - // We have to stop drawing |triggering_widget_| as active when the menu - // closes. - CHROMEGTK_CALLBACK_0(BookmarkMenuController, void, OnMenuHidden) - - // We respond to the activate signal because things other than mouse button - // events can trigger it. - CHROMEGTK_CALLBACK_0(BookmarkMenuController, void, OnMenuItemActivated); - - // The individual GtkMenuItems in the BookmarkMenu are all drag sources. - CHROMEGTK_CALLBACK_1(BookmarkMenuController, void, OnMenuItemDragBegin, - GdkDragContext*); - CHROMEGTK_CALLBACK_1(BookmarkMenuController, void, OnMenuItemDragEnd, - GdkDragContext*); - CHROMEGTK_CALLBACK_4(BookmarkMenuController, void, OnMenuItemDragGet, - GdkDragContext*, GtkSelectionData*, guint, guint); - - Browser* browser_; - Profile* profile_; - PageNavigator* page_navigator_; - - // Parent window of this menu. - GtkWindow* parent_window_; - - // The bookmark model. - BookmarkModel* model_; - - // The node we're showing the contents of. - const BookmarkNode* node_; - - // Our bookmark menus. We don't use the MenuGtk class because we have to do - // all sorts of weird non-standard things with this menu, like: - // - The menu is a drag target - // - The menu items have context menus. - GtkWidget* menu_; - - // The visual representation that follows the cursor during drags. - GtkWidget* drag_icon_; - - // Whether we should ignore the next button release event (because we were - // dragging). - bool ignore_button_release_; - - // The widget we are showing for (i.e. the bookmark bar folder button). - GtkWidget* triggering_widget_; - - // Mapping from node to GtkMenuItem menu id. This only contains entries for - // nodes of type URL. - std::map<const BookmarkNode*, GtkWidget*> node_to_menu_widget_map_; - - // The controller and view for the right click context menu. - scoped_ptr<BookmarkContextMenuController> context_menu_controller_; - scoped_ptr<MenuGtk> context_menu_; - - GtkSignalRegistrar signals_; - - DISALLOW_COPY_AND_ASSIGN(BookmarkMenuController); -}; +#include "chrome/browser/ui/gtk/bookmark_menu_controller_gtk.h" +// TODO(msw): remove this file once all includes have been updated. #endif // CHROME_BROWSER_GTK_BOOKMARK_MENU_CONTROLLER_GTK_H_ |