Index: ui/aura_shell/examples/window_type_launcher.h |
diff --git a/ui/aura_shell/examples/window_type_launcher.h b/ui/aura_shell/examples/window_type_launcher.h |
index a476e72938d806efaa5d854db04e6b04b1ba0d3f..edf75f837da2bca32fc128116d8dcb570a8c20e7 100644 |
--- a/ui/aura_shell/examples/window_type_launcher.h |
+++ b/ui/aura_shell/examples/window_type_launcher.h |
@@ -6,10 +6,13 @@ |
#define UI_AURA_SHELL_EXAMPLES_WINDOW_TYPE_LAUNCHER_H_ |
#pragma once |
-#include "views/widget/widget_delegate.h" |
+#include "views/context_menu_controller.h" |
#include "views/controls/button/button.h" |
+#include "views/controls/menu/menu_delegate.h" |
+#include "views/widget/widget_delegate.h" |
namespace views { |
+class MenuRunner; |
class NativeTextButton; |
} |
@@ -19,16 +22,23 @@ namespace examples { |
// The contents view/delegate of a window that shows some buttons that create |
// various window types. |
class WindowTypeLauncher : public views::WidgetDelegateView, |
- public views::ButtonListener { |
+ public views::ButtonListener, |
+ public views::MenuDelegate, |
+ public views::ContextMenuController { |
public: |
WindowTypeLauncher(); |
virtual ~WindowTypeLauncher(); |
private: |
+ enum MenuCommands { |
+ COMMAND_NEW_WINDOW = 1, |
+ }; |
+ |
// Overridden from views::View: |
virtual void OnPaint(gfx::Canvas* canvas) OVERRIDE; |
virtual void Layout() OVERRIDE; |
virtual gfx::Size GetPreferredSize() OVERRIDE; |
+ virtual bool OnMousePressed(const views::MouseEvent& event) OVERRIDE; |
// Overridden from views::WidgetDelegate: |
virtual views::View* GetContentsView() OVERRIDE; |
@@ -38,8 +48,17 @@ class WindowTypeLauncher : public views::WidgetDelegateView, |
virtual void ButtonPressed(views::Button* sender, |
const views::Event& event) OVERRIDE; |
+ // Overriden from views::MenuDelegate: |
+ virtual void ExecuteCommand(int id) OVERRIDE; |
+ |
+ // Override from views::ContextMenuController: |
+ virtual void ShowContextMenuForView(views::View* source, |
+ const gfx::Point& p, |
+ bool is_mouse_gesture) OVERRIDE; |
+ |
views::NativeTextButton* create_button_; |
views::NativeTextButton* bubble_button_; |
+ scoped_ptr<views::MenuRunner> menu_runner_; |
DISALLOW_COPY_AND_ASSIGN(WindowTypeLauncher); |
}; |