| Index: ui/views/examples/menu_example.cc
|
| diff --git a/ui/views/examples/menu_example.cc b/ui/views/examples/menu_example.cc
|
| index 378c90a76bc00ec2ea86194b5851693ccc39ef20..f8c322a62e7ef1eeba0f1f37d0ef13e1c2ddf9ae 100644
|
| --- a/ui/views/examples/menu_example.cc
|
| +++ b/ui/views/examples/menu_example.cc
|
| @@ -12,7 +12,7 @@
|
| #include "ui/views/controls/button/menu_button.h"
|
| #include "ui/views/controls/button/menu_button_listener.h"
|
| #include "ui/views/controls/menu/menu_runner.h"
|
| -#include "ui/views/layout/fill_layout.h"
|
| +#include "ui/views/layout/box_layout.h"
|
| #include "ui/views/view.h"
|
| #include "ui/views/widget/widget.h"
|
|
|
| @@ -60,9 +60,15 @@ class ExampleMenuModel : public ui::SimpleMenuModel,
|
|
|
| class ExampleMenuButton : public MenuButton, public MenuButtonListener {
|
| public:
|
| - explicit ExampleMenuButton(const base::string16& test);
|
| + ExampleMenuButton(const base::string16& test,
|
| + bool use_border,
|
| + bool use_background);
|
| ~ExampleMenuButton() override;
|
|
|
| + protected:
|
| + bool ShouldUsePlatformStyleBackground() const override;
|
| + bool ShouldUsePlatformStyleBorder() const override;
|
| +
|
| private:
|
| // MenuButtonListener:
|
| void OnMenuButtonClicked(MenuButton* source,
|
| @@ -74,6 +80,9 @@ class ExampleMenuButton : public MenuButton, public MenuButtonListener {
|
| std::unique_ptr<ExampleMenuModel> menu_model_;
|
| std::unique_ptr<MenuRunner> menu_runner_;
|
|
|
| + bool use_background_;
|
| + bool use_border_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(ExampleMenuButton);
|
| };
|
|
|
| @@ -179,8 +188,12 @@ void ExampleMenuModel::ExecuteCommand(int command_id, int event_flags) {
|
|
|
| // ExampleMenuButton -----------------------------------------------------------
|
|
|
| -ExampleMenuButton::ExampleMenuButton(const base::string16& test)
|
| - : MenuButton(test, this, true) {}
|
| +ExampleMenuButton::ExampleMenuButton(const base::string16& test,
|
| + bool use_background,
|
| + bool use_border)
|
| + : MenuButton(test, this, true),
|
| + use_background_(use_background),
|
| + use_border_(use_border) {}
|
|
|
| ExampleMenuButton::~ExampleMenuButton() {
|
| }
|
| @@ -206,6 +219,14 @@ ui::SimpleMenuModel* ExampleMenuButton::GetMenuModel() {
|
| return menu_model_.get();
|
| }
|
|
|
| +bool ExampleMenuButton::ShouldUsePlatformStyleBackground() const {
|
| + return use_background_;
|
| +}
|
| +
|
| +bool ExampleMenuButton::ShouldUsePlatformStyleBorder() const {
|
| + return use_border_;
|
| +}
|
| +
|
| } // namespace
|
|
|
| MenuExample::MenuExample() : ExampleBase("Menu") {
|
| @@ -217,9 +238,18 @@ MenuExample::~MenuExample() {
|
| void MenuExample::CreateExampleView(View* container) {
|
| // We add a button to open a menu.
|
| ExampleMenuButton* menu_button = new ExampleMenuButton(
|
| - ASCIIToUTF16("Open a menu"));
|
| - container->SetLayoutManager(new FillLayout);
|
| + ASCIIToUTF16("Open a menu (no decoration)"), false, false);
|
| + ExampleMenuButton* background_button = new ExampleMenuButton(
|
| + ASCIIToUTF16("Open a menu (background only)"), true, false);
|
| + ExampleMenuButton* border_button = new ExampleMenuButton(
|
| + ASCIIToUTF16("Open a menu (border only)"), false, true);
|
| + ExampleMenuButton* both_button = new ExampleMenuButton(
|
| + ASCIIToUTF16("Open a menu (both decorations)"), true, true);
|
| + container->SetLayoutManager(new BoxLayout(BoxLayout::kVertical, 1, 1, 1));
|
| container->AddChildView(menu_button);
|
| + container->AddChildView(background_button);
|
| + container->AddChildView(border_button);
|
| + container->AddChildView(both_button);
|
| }
|
|
|
| } // namespace examples
|
|
|