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

Unified Diff: ui/views/examples/label_example.cc

Issue 851853002: It is time. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Trying to reup because the last upload failed. Created 5 years, 11 months 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 | « ui/views/examples/label_example.h ('k') | ui/views/examples/link_example.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/views/examples/label_example.cc
diff --git a/ui/views/examples/label_example.cc b/ui/views/examples/label_example.cc
deleted file mode 100644
index 89e32235b4fc86cb6d292d3f44f160f5264edc47..0000000000000000000000000000000000000000
--- a/ui/views/examples/label_example.cc
+++ /dev/null
@@ -1,215 +0,0 @@
-// Copyright (c) 2012 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 "ui/views/examples/label_example.h"
-
-#include "base/strings/utf_string_conversions.h"
-#include "ui/views/background.h"
-#include "ui/views/border.h"
-#include "ui/views/controls/button/checkbox.h"
-#include "ui/views/controls/combobox/combobox.h"
-#include "ui/views/controls/label.h"
-#include "ui/views/controls/textfield/textfield.h"
-#include "ui/views/examples/example_combobox_model.h"
-#include "ui/views/layout/box_layout.h"
-#include "ui/views/layout/grid_layout.h"
-#include "ui/views/view.h"
-
-using base::ASCIIToUTF16;
-using base::WideToUTF16;
-
-namespace views {
-namespace examples {
-
-namespace {
-
-const char* kElideBehaviors[] = { "No Elide", "Truncate", "Elide Head",
- "Elide Middle", "Elide Tail", "Elide Email", "Fade Tail" };
-const char* kAlignments[] = { "Left", "Center", "Right", "Head" };
-
-// A Label with a clamped preferred width to demonstrate eliding or wrapping.
-class PreferredSizeLabel : public Label {
- public:
- PreferredSizeLabel() : Label() {
- SetBorder(Border::CreateSolidBorder(1, SK_ColorGRAY));
- }
- virtual ~PreferredSizeLabel() {}
-
- // Label:
- virtual gfx::Size GetPreferredSize() const override {
- return gfx::Size(50, Label::GetPreferredSize().height());
- }
-
- private:
- DISALLOW_COPY_AND_ASSIGN(PreferredSizeLabel);
-};
-
-} // namespace
-
-LabelExample::LabelExample()
- : ExampleBase("Label"),
- textfield_(NULL),
- alignment_(NULL),
- elide_behavior_(NULL),
- multiline_(NULL),
- shadows_(NULL),
- custom_label_(NULL) {
-}
-
-LabelExample::~LabelExample() {
- // Remove the views first as some reference combobox models.
- container()->RemoveAllChildViews(true);
-}
-
-void LabelExample::CreateExampleView(View* container) {
- // A very simple label example, followed by additional helpful examples.
- container->SetLayoutManager(new BoxLayout(BoxLayout::kVertical, 0, 0, 10));
- Label* label = new Label(ASCIIToUTF16("Hello world!"));
- container->AddChildView(label);
-
- const wchar_t hello_world_hebrew[] =
- L"\x5e9\x5dc\x5d5\x5dd \x5d4\x5e2\x5d5\x5dc\x5dd!";
- label = new Label(WideToUTF16(hello_world_hebrew));
- label->SetHorizontalAlignment(gfx::ALIGN_RIGHT);
- container->AddChildView(label);
-
- label = new Label(WideToUTF16(L"A UTF16 surrogate pair: \x5d0\x5b0"));
- label->SetHorizontalAlignment(gfx::ALIGN_RIGHT);
- container->AddChildView(label);
-
- label = new Label(ASCIIToUTF16("A left-aligned blue label."));
- label->SetHorizontalAlignment(gfx::ALIGN_LEFT);
- label->SetEnabledColor(SK_ColorBLUE);
- container->AddChildView(label);
-
- label = new Label(WideToUTF16(L"Password!"));
- label->SetObscured(true);
- container->AddChildView(label);
-
- label = new Label(ASCIIToUTF16("A Courier-18 label with shadows."));
- label->SetFontList(gfx::FontList("Courier, 18px"));
- gfx::ShadowValues shadows(1, gfx::ShadowValue(gfx::Point(), 1, SK_ColorRED));
- gfx::ShadowValue shadow(gfx::Point(2, 2), 0, SK_ColorGRAY);
- shadows.push_back(shadow);
- label->SetShadows(shadows);
- container->AddChildView(label);
-
- label = new PreferredSizeLabel();
- label->SetText(ASCIIToUTF16("A long label will elide toward its logical end "
- "if the text's width exceeds the label's available width."));
- container->AddChildView(label);
-
- label = new PreferredSizeLabel();
- label->SetText(ASCIIToUTF16("A multi-line label will wrap onto subsequent "
- "lines if the text's width exceeds the label's available width, which is "
- "helpful for extemely long text used to demonstrate line wrapping."));
- label->SetMultiLine(true);
- container->AddChildView(label);
-
- AddCustomLabel(container);
-}
-
-void LabelExample::ButtonPressed(Button* button, const ui::Event& event) {
- if (button == multiline_) {
- custom_label_->SetMultiLine(multiline_->checked());
- } else if (button == shadows_) {
- gfx::ShadowValues shadows;
- if (shadows_->checked()) {
- shadows.push_back(gfx::ShadowValue(gfx::Point(), 1, SK_ColorRED));
- shadows.push_back(gfx::ShadowValue(gfx::Point(2, 2), 0, SK_ColorGRAY));
- }
- custom_label_->SetShadows(shadows);
- }
- custom_label_->parent()->parent()->Layout();
- custom_label_->SchedulePaint();
-}
-
-void LabelExample::OnPerformAction(Combobox* combobox) {
- if (combobox == alignment_) {
- custom_label_->SetHorizontalAlignment(
- static_cast<gfx::HorizontalAlignment>(combobox->selected_index()));
- } else if (combobox == elide_behavior_) {
- custom_label_->SetElideBehavior(
- static_cast<gfx::ElideBehavior>(combobox->selected_index()));
- }
-}
-
-void LabelExample::ContentsChanged(Textfield* sender,
- const base::string16& new_contents) {
- custom_label_->SetText(new_contents);
- custom_label_->parent()->parent()->Layout();
-}
-
-void LabelExample::AddCustomLabel(View* container) {
- View* control_container = new View();
- control_container->SetBorder(Border::CreateSolidBorder(2, SK_ColorGRAY));
- control_container->set_background(
- Background::CreateSolidBackground(SK_ColorLTGRAY));
- GridLayout* layout = GridLayout::CreatePanel(control_container);
- control_container->SetLayoutManager(layout);
-
- ColumnSet* column_set = layout->AddColumnSet(0);
- column_set->AddColumn(GridLayout::LEADING, GridLayout::FILL,
- 0.0f, GridLayout::USE_PREF, 0, 0);
- column_set->AddColumn(GridLayout::FILL, GridLayout::FILL,
- 1.0f, GridLayout::USE_PREF, 0, 0);
-
- layout->StartRow(0, 0);
- layout->AddView(new Label(ASCIIToUTF16("Content: ")));
- textfield_ = new Textfield();
- textfield_->SetText(ASCIIToUTF16("Use the provided controls to configure the "
- "content and presentation of this custom label."));
- textfield_->SetSelectionRange(gfx::Range());
- textfield_->set_controller(this);
- layout->AddView(textfield_);
-
- alignment_ = AddCombobox(layout, "Alignment: ", kAlignments,
- arraysize(kAlignments));
- elide_behavior_ = AddCombobox(layout, "Elide Behavior: ", kElideBehaviors,
- arraysize(kElideBehaviors));
-
- column_set = layout->AddColumnSet(1);
- column_set->AddColumn(GridLayout::LEADING, GridLayout::LEADING,
- 0, GridLayout::USE_PREF, 0, 0);
- column_set->AddColumn(GridLayout::LEADING, GridLayout::LEADING,
- 0, GridLayout::USE_PREF, 0, 0);
- layout->StartRow(0, 1);
- multiline_ = new Checkbox(base::ASCIIToUTF16("Multiline"));
- multiline_->set_listener(this);
- layout->AddView(multiline_);
- shadows_ = new Checkbox(base::ASCIIToUTF16("Shadows"));
- shadows_->set_listener(this);
- layout->AddView(shadows_);
- layout->AddPaddingRow(0, 8);
-
- column_set = layout->AddColumnSet(2);
- column_set->AddColumn(GridLayout::FILL, GridLayout::FILL,
- 1, GridLayout::USE_PREF, 0, 0);
- layout->StartRow(0, 2);
- custom_label_ = new PreferredSizeLabel();
- custom_label_->SetHorizontalAlignment(gfx::ALIGN_LEFT);
- custom_label_->SetElideBehavior(gfx::NO_ELIDE);
- custom_label_->SetText(textfield_->text());
- layout->AddView(custom_label_);
-
- container->AddChildView(control_container);
-}
-
-Combobox* LabelExample::AddCombobox(GridLayout* layout,
- const char* name,
- const char** strings,
- int count) {
- layout->StartRow(0, 0);
- layout->AddView(new Label(base::ASCIIToUTF16(name)));
- ExampleComboboxModel* model = new ExampleComboboxModel(strings, count);
- example_combobox_models_.push_back(model);
- Combobox* combobox = new Combobox(model);
- combobox->SetSelectedIndex(0);
- combobox->set_listener(this);
- layout->AddView(combobox);
- return combobox;
-}
-
-} // namespace examples
-} // namespace views
« no previous file with comments | « ui/views/examples/label_example.h ('k') | ui/views/examples/link_example.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698