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

Unified Diff: ui/views/examples/text_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/text_example.h ('k') | ui/views/examples/textfield_example.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/views/examples/text_example.cc
diff --git a/ui/views/examples/text_example.cc b/ui/views/examples/text_example.cc
deleted file mode 100644
index 4dcf113e5a53ebd05dddb9ce58f7032c6792efba..0000000000000000000000000000000000000000
--- a/ui/views/examples/text_example.cc
+++ /dev/null
@@ -1,265 +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/text_example.h"
-
-#include "base/strings/utf_string_conversions.h"
-#include "ui/gfx/canvas.h"
-#include "ui/gfx/font_list.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/examples/example_combobox_model.h"
-#include "ui/views/layout/grid_layout.h"
-#include "ui/views/view.h"
-
-namespace views {
-namespace examples {
-
-namespace {
-
-// Number of columns in the view layout.
-const int kNumColumns = 10;
-
-const char kShortText[] = "The quick brown fox jumps over the lazy dog.";
-const char kLongText[] =
- "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod "
- "tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim "
- "veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea "
- "commodo consequat.\nDuis aute irure dolor in reprehenderit in voluptate "
- "velit esse cillum dolore eu fugiat nulla pariatur.\n\nExcepteur sint "
- "occaecat cupidatat non proident, sunt in culpa qui officia deserunt "
- "mollit anim id est laborum.";
-const char kAmpersandText[] =
- "The quick && &brown fo&x jumps over the lazy dog.";
-const wchar_t kRightToLeftText[] =
- L"\x5e9\x5dc\x5d5\x5dd \x5d4\x5e2\x5d5\x5dc\x5dd! "
- L"\x5e9\x5dc\x5d5\x5dd \x5d4\x5e2\x5d5\x5dc\x5dd! "
- L"\x5e9\x5dc\x5d5\x5dd \x5d4\x5e2\x5d5\x5dc\x5dd! "
- L"\x5e9\x5dc\x5d5\x5dd \x5d4\x5e2\x5d5\x5dc\x5dd! "
- L"\x5e9\x5dc\x5d5\x5dd \x5d4\x5e2\x5d5\x5dc\x5dd! "
- L"\x5e9\x5dc\x5d5\x5dd \x5d4\x5e2\x5d5\x5dc\x5dd! "
- L"\x5e9\x5dc\x5d5\x5dd \x5d4\x5e2\x5d5\x5dc\x5dd! "
- L"\x5e9\x5dc\x5d5\x5dd \x5d4\x5e2\x5d5\x5dc\x5dd!";
-
-const char* kTextExamples[] = { "Short", "Long", "Ampersands", "RTL Hebrew", };
-const char* kElideBehaviors[] = { "Elide", "No Elide", "Fade", };
-const char* kPrefixOptions[] = { "Default", "Show", "Hide", };
-const char* kHorizontalAligments[] = { "Default", "Left", "Center", "Right", };
-
-// Toggles bit |flag| on |flags| based on state of |checkbox|.
-void SetFlagFromCheckbox(Checkbox* checkbox, int* flags, int flag) {
- if (checkbox->checked())
- *flags |= flag;
- else
- *flags &= ~flag;
-}
-
-} // namespace
-
-// TextExample's content view, which draws stylized string.
-class TextExample::TextExampleView : public View {
- public:
- TextExampleView()
- : text_(base::ASCIIToUTF16(kShortText)),
- flags_(0),
- halo_(false),
- elide_(gfx::NO_ELIDE) {
- }
-
- virtual void OnPaint(gfx::Canvas* canvas) override {
- View::OnPaint(canvas);
- const gfx::Rect bounds = GetContentsBounds();
- const SkColor color = SK_ColorDKGRAY;
- if (elide_ == gfx::FADE_TAIL) {
- canvas->DrawFadedString(text_, font_list_, color, bounds, flags_);
- } else if (halo_) {
- canvas->DrawStringRectWithHalo(text_, font_list_, color, SK_ColorYELLOW,
- bounds, flags_);
- } else {
- canvas->DrawStringRectWithFlags(text_, font_list_, color, bounds, flags_);
- }
- }
-
- int flags() const { return flags_; }
- void set_flags(int flags) { flags_ = flags; }
- void set_text(const base::string16& text) { text_ = text; }
- void set_halo(bool halo) { halo_ = halo; }
- void set_elide(gfx::ElideBehavior elide) { elide_ = elide; }
-
- int GetStyle() const { return font_list_.GetFontStyle(); }
- void SetStyle(int style) { font_list_ = font_list_.DeriveWithStyle(style); }
-
- private:
- // The font used for drawing the text.
- gfx::FontList font_list_;
-
- // The text to draw.
- base::string16 text_;
-
- // Text flags for passing to |DrawStringRect()|.
- int flags_;
-
- // A flag to draw a halo around the text.
- bool halo_;
-
- // The eliding, fading, or truncating behavior.
- gfx::ElideBehavior elide_;
-
- DISALLOW_COPY_AND_ASSIGN(TextExampleView);
-};
-
-TextExample::TextExample() : ExampleBase("Text Styles") {}
-
-TextExample::~TextExample() {
- // Remove the views first as some reference combobox models.
- container()->RemoveAllChildViews(true);
-}
-
-Checkbox* TextExample::AddCheckbox(GridLayout* layout, const char* name) {
- Checkbox* checkbox = new Checkbox(base::ASCIIToUTF16(name));
- checkbox->set_listener(this);
- layout->AddView(checkbox);
- return checkbox;
-}
-
-Combobox* TextExample::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_model_.push_back(model);
- Combobox* combobox = new Combobox(model);
- combobox->SetSelectedIndex(0);
- combobox->set_listener(this);
- layout->AddView(combobox, kNumColumns - 1, 1);
- return combobox;
-}
-
-void TextExample::CreateExampleView(View* container) {
- text_view_ = new TextExampleView;
- text_view_->SetBorder(Border::CreateSolidBorder(1, SK_ColorGRAY));
- GridLayout* layout = new GridLayout(container);
- container->SetLayoutManager(layout);
- layout->AddPaddingRow(0, 8);
-
- ColumnSet* column_set = layout->AddColumnSet(0);
- column_set->AddPaddingColumn(0, 8);
- column_set->AddColumn(GridLayout::LEADING, GridLayout::FILL,
- 0.1f, GridLayout::USE_PREF, 0, 0);
- for (int i = 0; i < kNumColumns - 1; i++)
- column_set->AddColumn(GridLayout::FILL, GridLayout::FILL,
- 0.1f, GridLayout::USE_PREF, 0, 0);
- column_set->AddPaddingColumn(0, 8);
-
- h_align_cb_ = AddCombobox(layout, "H-Align", kHorizontalAligments,
- arraysize(kHorizontalAligments));
- eliding_cb_ = AddCombobox(layout, "Eliding", kElideBehaviors,
- arraysize(kElideBehaviors));
- prefix_cb_ = AddCombobox(layout, "Prefix", kPrefixOptions,
- arraysize(kPrefixOptions));
- text_cb_ = AddCombobox(layout, "Example Text", kTextExamples,
- arraysize(kTextExamples));
-
- layout->StartRow(0, 0);
- multiline_checkbox_ = AddCheckbox(layout, "Multiline");
- break_checkbox_ = AddCheckbox(layout, "Character Break");
- halo_checkbox_ = AddCheckbox(layout, "Halo");
- bold_checkbox_ = AddCheckbox(layout, "Bold");
- italic_checkbox_ = AddCheckbox(layout, "Italic");
- underline_checkbox_ = AddCheckbox(layout, "Underline");
-
- layout->AddPaddingRow(0, 20);
- column_set = layout->AddColumnSet(1);
- column_set->AddPaddingColumn(0, 16);
- column_set->AddColumn(GridLayout::FILL, GridLayout::FILL,
- 1, GridLayout::USE_PREF, 0, 0);
- column_set->AddPaddingColumn(0, 16);
- layout->StartRow(1, 1);
- layout->AddView(text_view_);
- layout->AddPaddingRow(0, 8);
-}
-
-void TextExample::ButtonPressed(Button* button, const ui::Event& event) {
- int flags = text_view_->flags();
- int style = text_view_->GetStyle();
- SetFlagFromCheckbox(multiline_checkbox_, &flags, gfx::Canvas::MULTI_LINE);
- SetFlagFromCheckbox(break_checkbox_, &flags, gfx::Canvas::CHARACTER_BREAK);
- SetFlagFromCheckbox(bold_checkbox_, &style, gfx::Font::BOLD);
- SetFlagFromCheckbox(italic_checkbox_, &style, gfx::Font::ITALIC);
- SetFlagFromCheckbox(underline_checkbox_, &style, gfx::Font::UNDERLINE);
- text_view_->set_halo(halo_checkbox_->checked());
- text_view_->set_flags(flags);
- text_view_->SetStyle(style);
- text_view_->SchedulePaint();
-}
-
-void TextExample::OnPerformAction(Combobox* combobox) {
- int flags = text_view_->flags();
- if (combobox == h_align_cb_) {
- flags &= ~(gfx::Canvas::TEXT_ALIGN_LEFT |
- gfx::Canvas::TEXT_ALIGN_CENTER |
- gfx::Canvas::TEXT_ALIGN_RIGHT);
- switch (combobox->selected_index()) {
- case 0:
- break;
- case 1:
- flags |= gfx::Canvas::TEXT_ALIGN_LEFT;
- break;
- case 2:
- flags |= gfx::Canvas::TEXT_ALIGN_CENTER;
- break;
- case 3:
- flags |= gfx::Canvas::TEXT_ALIGN_RIGHT;
- break;
- }
- } else if (combobox == text_cb_) {
- switch (combobox->selected_index()) {
- case 0:
- text_view_->set_text(base::ASCIIToUTF16(kShortText));
- break;
- case 1:
- text_view_->set_text(base::ASCIIToUTF16(kLongText));
- break;
- case 2:
- text_view_->set_text(base::ASCIIToUTF16(kAmpersandText));
- break;
- case 3:
- text_view_->set_text(base::WideToUTF16(kRightToLeftText));
- break;
- }
- } else if (combobox == eliding_cb_) {
- switch (combobox->selected_index()) {
- case 0:
- text_view_->set_elide(gfx::ELIDE_TAIL);
- break;
- case 1:
- text_view_->set_elide(gfx::NO_ELIDE);
- break;
- case 2:
- text_view_->set_elide(gfx::FADE_TAIL);
- break;
- }
- } else if (combobox == prefix_cb_) {
- flags &= ~(gfx::Canvas::SHOW_PREFIX | gfx::Canvas::HIDE_PREFIX);
- switch (combobox->selected_index()) {
- case 0:
- break;
- case 1:
- flags |= gfx::Canvas::SHOW_PREFIX;
- break;
- case 2:
- flags |= gfx::Canvas::HIDE_PREFIX;
- break;
- }
- }
- text_view_->set_flags(flags);
- text_view_->SchedulePaint();
-}
-
-} // namespace examples
-} // namespace views
« no previous file with comments | « ui/views/examples/text_example.h ('k') | ui/views/examples/textfield_example.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698