| Index: ui/views/examples/button_example.cc
|
| diff --git a/ui/views/examples/button_example.cc b/ui/views/examples/button_example.cc
|
| index 39fa76901d825472755e60b9b1c5aa646b57bbdf..fec2d1c12cde0897b8b5d3b3288d7aa52d4d6bd5 100644
|
| --- a/ui/views/examples/button_example.cc
|
| +++ b/ui/views/examples/button_example.cc
|
| @@ -8,15 +8,22 @@
|
| #include "grit/ui_resources.h"
|
| #include "ui/base/resource/resource_bundle.h"
|
| #include "ui/gfx/image/image.h"
|
| -#include "ui/views/controls/button/checkbox.h"
|
| -#include "ui/views/layout/fill_layout.h"
|
| +#include "ui/views/controls/button/image_button.h"
|
| +#include "ui/views/controls/button/text_button.h"
|
| +#include "ui/views/layout/box_layout.h"
|
| #include "ui/views/view.h"
|
|
|
| +namespace {
|
| +const int kLayoutSpacing = 10; // pixels
|
| +} // namespace
|
| +
|
| namespace views {
|
| namespace examples {
|
|
|
| ButtonExample::ButtonExample()
|
| - : ExampleBase("Text Button"),
|
| + : ExampleBase("Button"),
|
| + text_button_(NULL),
|
| + image_button_(NULL),
|
| alignment_(TextButton::ALIGN_LEFT),
|
| use_native_theme_border_(false),
|
| icon_(NULL),
|
| @@ -29,10 +36,22 @@ ButtonExample::~ButtonExample() {
|
| }
|
|
|
| void ButtonExample::CreateExampleView(View* container) {
|
| - TextButton* tb = new TextButton(this, ASCIIToUTF16("Button"));
|
| - button_ = tb;
|
| - container->SetLayoutManager(new FillLayout);
|
| - container->AddChildView(button_);
|
| + container->SetLayoutManager(
|
| + new BoxLayout(BoxLayout::kVertical, 0, 0, kLayoutSpacing));
|
| +
|
| + text_button_ = new TextButton(this, ASCIIToUTF16("Text Button"));
|
| + container->AddChildView(text_button_);
|
| +
|
| + ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance();
|
| + image_button_ = new ImageButton(this);
|
| + image_button_->SetImage(ImageButton::BS_NORMAL,
|
| + rb.GetImageNamed(IDR_CLOSE).ToSkBitmap());
|
| + image_button_->SetImage(ImageButton::BS_HOT,
|
| + rb.GetImageNamed(IDR_CLOSE_H).ToSkBitmap());
|
| + image_button_->SetImage(ImageButton::BS_PUSHED,
|
| + rb.GetImageNamed(IDR_CLOSE_P).ToSkBitmap());
|
| + image_button_->SetOverlayImage(rb.GetImageNamed(IDR_MENU_CHECK).ToSkBitmap());
|
| + container->AddChildView(image_button_);
|
| }
|
|
|
| void ButtonExample::ButtonPressed(Button* sender, const Event& event) {
|
| @@ -41,29 +60,29 @@ void ButtonExample::ButtonPressed(Button* sender, const Event& event) {
|
| if (event.IsControlDown()) {
|
| if (event.IsShiftDown()) {
|
| if (event.IsAltDown()) {
|
| - button_->SetMultiLine(!button_->multi_line());
|
| - if (button_->multi_line()) {
|
| - button_->SetText(ASCIIToUTF16("Multi-line text\n") +
|
| + text_button_->SetMultiLine(!text_button_->multi_line());
|
| + if (text_button_->multi_line()) {
|
| + text_button_->SetText(ASCIIToUTF16("Multi-line text\n") +
|
| ASCIIToUTF16("is here to stay all the way!\n") +
|
| ASCIIToUTF16("123"));
|
| } else {
|
| - button_->SetText(ASCIIToUTF16("Button"));
|
| + text_button_->SetText(ASCIIToUTF16("Button"));
|
| }
|
| } else {
|
| - switch(button_->icon_placement()) {
|
| + switch(text_button_->icon_placement()) {
|
| case TextButton::ICON_ON_LEFT:
|
| - button_->set_icon_placement(TextButton::ICON_ON_RIGHT);
|
| + text_button_->set_icon_placement(TextButton::ICON_ON_RIGHT);
|
| break;
|
| case TextButton::ICON_ON_RIGHT:
|
| - button_->set_icon_placement(TextButton::ICON_ON_LEFT);
|
| + text_button_->set_icon_placement(TextButton::ICON_ON_LEFT);
|
| break;
|
| }
|
| }
|
| } else if (event.IsAltDown()) {
|
| - if (button_->HasIcon())
|
| - button_->SetIcon(SkBitmap());
|
| + if (text_button_->HasIcon())
|
| + text_button_->SetIcon(SkBitmap());
|
| else
|
| - button_->SetIcon(*icon_);
|
| + text_button_->SetIcon(*icon_);
|
| } else {
|
| switch(alignment_) {
|
| case TextButton::ALIGN_LEFT:
|
| @@ -76,30 +95,31 @@ void ButtonExample::ButtonPressed(Button* sender, const Event& event) {
|
| alignment_ = TextButton::ALIGN_LEFT;
|
| break;
|
| }
|
| - button_->set_alignment(alignment_);
|
| + text_button_->set_alignment(alignment_);
|
| }
|
| } else if (event.IsShiftDown()) {
|
| if (event.IsAltDown()) {
|
| - if (button_->text().length() < 10) {
|
| - button_->SetText(
|
| + if (text_button_->text().length() < 10) {
|
| + text_button_->SetText(
|
| ASCIIToUTF16("Startof") +
|
| ASCIIToUTF16("ReallyReallyReallyReallyReallyReallyReally") +
|
| ASCIIToUTF16("ReallyReallyReallyReallyReallyReallyReally") +
|
| ASCIIToUTF16("ReallyReallyReallyReallyReallyReallyReally") +
|
| ASCIIToUTF16("LongButtonText"));
|
| } else {
|
| - button_->SetText(ASCIIToUTF16("Button"));
|
| + text_button_->SetText(ASCIIToUTF16("Button"));
|
| }
|
| } else {
|
| use_native_theme_border_ = !use_native_theme_border_;
|
| if (use_native_theme_border_)
|
| - button_->set_border(new TextButtonNativeThemeBorder(button_));
|
| + text_button_->set_border(new TextButtonNativeThemeBorder(text_button_));
|
| else
|
| - button_->set_border(new TextButtonBorder());
|
| + text_button_->set_border(new TextButtonBorder());
|
| }
|
| } else if (event.IsAltDown()) {
|
| - button_->SetIsDefault(!button_->is_default());
|
| + text_button_->SetIsDefault(!text_button_->is_default());
|
| }
|
| + example_view()->GetLayoutManager()->Layout(example_view());
|
| }
|
|
|
| } // namespace examples
|
|
|