summaryrefslogtreecommitdiffstats
path: root/chrome/browser/gtk/bookmark_menu_controller_gtk.h
diff options
context:
space:
mode:
authormsw@chromium.org <msw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-01-14 00:19:04 +0000
committermsw@chromium.org <msw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-01-14 00:19:04 +0000
commit736d1898191dc530e603a996d8c4bf2415326aa7 (patch)
tree79c524d49f164c8c970b119279be072aaaaee91d /chrome/browser/gtk/bookmark_menu_controller_gtk.h
parent2dee6d5003f0d5a9fffd55856b9f54b404988cab (diff)
downloadchromium_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.h139
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_