Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(909)

Unified Diff: views/examples/native_theme_button_example.cc

Issue 8555013: views: Move examples/ directory to ui/views/. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « views/examples/native_theme_button_example.h ('k') | views/examples/native_theme_checkbox_example.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: views/examples/native_theme_button_example.cc
diff --git a/views/examples/native_theme_button_example.cc b/views/examples/native_theme_button_example.cc
deleted file mode 100644
index 33b5b7d80abdc5d616158acc00acaf46cee3a584..0000000000000000000000000000000000000000
--- a/views/examples/native_theme_button_example.cc
+++ /dev/null
@@ -1,255 +0,0 @@
-// 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.
-
-#include "views/examples/native_theme_button_example.h"
-
-#include <string>
-
-#include "base/logging.h"
-#include "base/stringprintf.h"
-#include "base/utf_string_conversions.h"
-#include "ui/base/animation/throb_animation.h"
-#include "ui/base/models/combobox_model.h"
-#include "ui/gfx/canvas.h"
-#include "views/controls/label.h"
-#include "views/examples/example_combobox_model.h"
-#include "views/layout/grid_layout.h"
-#include "views/native_theme_painter.h"
-
-namespace {
-
-const char* kParts[] = {
- "PushButton",
- "RadioButton",
- "Checkbox",
-};
-
-const char* kStates[] = {
- "Disabled",
- "Normal",
- "Hot",
- "Pressed",
- "<Dynamic>",
-};
-
-} // namespace
-
-namespace examples {
-
-ExampleNativeThemeButton::ExampleNativeThemeButton(
- views::ButtonListener* listener,
- views::Combobox* cb_part,
- views::Combobox* cb_state)
- : CustomButton(listener),
- cb_part_(cb_part),
- cb_state_(cb_state),
- count_(0),
- is_checked_(false),
- is_indeterminate_(false) {
- cb_part_->set_listener(this);
- cb_state_->set_listener(this);
-
- painter_.reset(new views::NativeThemePainter(this));
- set_background(views::Background::CreateBackgroundPainter(
- false, painter_.get()));
-}
-
-ExampleNativeThemeButton::~ExampleNativeThemeButton() {
-}
-
-std::string ExampleNativeThemeButton::MessWithState() {
- const char* message = NULL;
- switch (GetThemePart()) {
- case gfx::NativeTheme::kPushButton:
- message = "Pressed! count:%d";
- break;
- case gfx::NativeTheme::kRadio:
- is_checked_ = !is_checked_;
- message = is_checked_ ? "Checked! count:%d" : "Unchecked! count:%d";
- break;
- case gfx::NativeTheme::kCheckbox:
- if (is_indeterminate_) {
- is_checked_ = false;
- is_indeterminate_ = false;
- } else if (!is_checked_) {
- is_checked_ = true;
- } else {
- is_checked_ = false;
- is_indeterminate_ = true;
- }
-
- message = is_checked_ ? "Checked! count:%d" :
- is_indeterminate_ ? "Indeterminate! count:%d" : "Unchecked! count:%d";
- break;
- default:
- DCHECK(false);
- }
-
- return base::StringPrintf(message, ++count_);
-}
-
-void ExampleNativeThemeButton::ItemChanged(views::Combobox* combo_box,
- int prev_index,
- int new_index) {
- SchedulePaint();
-}
-
-gfx::NativeTheme::Part ExampleNativeThemeButton::GetThemePart() const {
- int selected = cb_part_->selected_item();
- switch (selected) {
- case 0:
- return gfx::NativeTheme::kPushButton;
- case 1:
- return gfx::NativeTheme::kRadio;
- case 2:
- return gfx::NativeTheme::kCheckbox;
- default:
- DCHECK(false);
- }
- return gfx::NativeTheme::kPushButton;
-}
-
-gfx::Rect ExampleNativeThemeButton::GetThemePaintRect() const {
- gfx::NativeTheme::ExtraParams extra;
- gfx::NativeTheme::State state = GetThemeState(&extra);
- gfx::Size size(gfx::NativeTheme::instance()->GetPartSize(GetThemePart(),
- state,
- extra));
- gfx::Rect rect(size);
- rect.set_x(GetMirroredXForRect(rect));
- return rect;
-}
-
-gfx::NativeTheme::State ExampleNativeThemeButton::GetThemeState(
- gfx::NativeTheme::ExtraParams* params) const {
- GetExtraParams(params);
-
- int selected = cb_state_->selected_item();
- if (selected > 3) {
- switch (state()) {
- case BS_DISABLED:
- return gfx::NativeTheme::kDisabled;
- case BS_NORMAL:
- return gfx::NativeTheme::kNormal;
- case BS_HOT:
- return gfx::NativeTheme::kHovered;
- case BS_PUSHED:
- return gfx::NativeTheme::kPressed;
- default:
- DCHECK(false);
- }
- }
-
- switch (selected) {
- case 0:
- return gfx::NativeTheme::kDisabled;
- case 1:
- return gfx::NativeTheme::kNormal;
- case 2:
- return gfx::NativeTheme::kHovered;
- case 3:
- return gfx::NativeTheme::kPressed;
- default:
- DCHECK(false);
- }
- return gfx::NativeTheme::kNormal;
-}
-
-void ExampleNativeThemeButton::GetExtraParams(
- gfx::NativeTheme::ExtraParams* params) const {
-
- params->button.checked = is_checked_;
- params->button.indeterminate = is_indeterminate_;
- params->button.is_default = false;
- params->button.has_border = false;
- params->button.classic_state = 0;
- params->button.background_color = SkColorSetARGB(0, 0, 0, 0);
-}
-
-const ui::Animation* ExampleNativeThemeButton::GetThemeAnimation() const {
- int selected = cb_state_->selected_item();
- return selected <= 3 ? NULL : hover_animation_.get();
-}
-
-gfx::NativeTheme::State ExampleNativeThemeButton::GetBackgroundThemeState(
- gfx::NativeTheme::ExtraParams* params) const {
- GetExtraParams(params);
- return gfx::NativeTheme::kNormal;
-}
-
-gfx::NativeTheme::State ExampleNativeThemeButton::GetForegroundThemeState(
- gfx::NativeTheme::ExtraParams* params) const {
- GetExtraParams(params);
- return gfx::NativeTheme::kHovered;
-}
-
-gfx::Size ExampleNativeThemeButton::GetPreferredSize() {
- return painter_.get() == NULL ? gfx::Size() : painter_->GetPreferredSize();
-}
-
-void ExampleNativeThemeButton::OnPaintBackground(gfx::Canvas* canvas) {
- // Fill the background with a known colour so that we know where the bounds
- // of the View are.
- canvas->FillRect(SkColorSetRGB(255, 128, 128), GetLocalBounds());
- CustomButton::OnPaintBackground(canvas);
-}
-
-////////////////////////////////////////////////////////////////////////////////
-
-NativeThemeButtonExample::NativeThemeButtonExample(ExamplesMain* main)
- : ExampleBase(main, "Native Theme Button") {
-}
-
-NativeThemeButtonExample::~NativeThemeButtonExample() {
-}
-
-void NativeThemeButtonExample::CreateExampleView(views::View* container) {
- views::GridLayout* layout = new views::GridLayout(container);
- container->SetLayoutManager(layout);
-
- layout->AddPaddingRow(0, 8);
-
- views::ColumnSet* column_set = layout->AddColumnSet(0);
- column_set->AddPaddingColumn(0, 8);
- column_set->AddColumn(views::GridLayout::LEADING, views::GridLayout::FILL,
- 0.1f, views::GridLayout::USE_PREF, 0, 0);
- column_set->AddColumn(views::GridLayout::FILL, views::GridLayout::FILL,
- 0.9f, views::GridLayout::USE_PREF, 0, 0);
- column_set->AddPaddingColumn(0, 8);
-
- layout->StartRow(0, 0);
- layout->AddView(new views::Label(ASCIIToUTF16("Part:")));
- views::Combobox* cb_part = new views::Combobox(
- new ExampleComboboxModel(kParts, arraysize(kParts)));
- cb_part->SetSelectedItem(0);
- layout->AddView(cb_part);
-
- layout->StartRow(0, 0);
- layout->AddView(new views::Label(ASCIIToUTF16("State:")));
- views::Combobox* cb_state = new views::Combobox(
- new ExampleComboboxModel(kStates, arraysize(kStates)));
- cb_state->SetSelectedItem(0);
- layout->AddView(cb_state);
-
- layout->AddPaddingRow(0, 32);
-
- button_ = new ExampleNativeThemeButton(this, cb_part, cb_state);
-
- column_set = layout->AddColumnSet(1);
- column_set->AddPaddingColumn(0, 16);
- column_set->AddColumn(views::GridLayout::FILL, views::GridLayout::FILL,
- 1, views::GridLayout::USE_PREF, 0, 0);
- column_set->AddPaddingColumn(0, 16);
- layout->StartRow(1, 1);
- layout->AddView(button_);
-
- layout->AddPaddingRow(0, 8);
-}
-
-void NativeThemeButtonExample::ButtonPressed(views::Button* sender,
- const views::Event& event) {
- PrintStatus(button_->MessWithState().c_str());
-}
-
-} // namespace examples
« no previous file with comments | « views/examples/native_theme_button_example.h ('k') | views/examples/native_theme_checkbox_example.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698