OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "ui/views/examples/text_example.h" | 5 #include "ui/views/examples/text_example.h" |
6 | 6 |
7 #include "base/strings/utf_string_conversions.h" | 7 #include "base/strings/utf_string_conversions.h" |
8 #include "ui/base/resource/resource_bundle.h" | 8 #include "ui/base/resource/resource_bundle.h" |
9 #include "ui/gfx/canvas.h" | 9 #include "ui/gfx/canvas.h" |
10 #include "ui/gfx/font_list.h" | 10 #include "ui/gfx/font_list.h" |
11 #include "ui/views/border.h" | 11 #include "ui/views/border.h" |
12 #include "ui/views/controls/button/checkbox.h" | 12 #include "ui/views/controls/button/checkbox.h" |
13 #include "ui/views/controls/combobox/combobox.h" | 13 #include "ui/views/controls/combobox/combobox.h" |
14 #include "ui/views/controls/label.h" | 14 #include "ui/views/controls/label.h" |
15 #include "ui/views/examples/example_combobox_model.h" | 15 #include "ui/views/examples/example_combobox_model.h" |
16 #include "ui/views/layout/grid_layout.h" | 16 #include "ui/views/layout/grid_layout.h" |
17 #include "ui/views/view.h" | 17 #include "ui/views/view.h" |
18 | 18 |
19 using base::ASCIIToUTF16; | |
20 | |
21 namespace views { | 19 namespace views { |
22 namespace examples { | 20 namespace examples { |
23 | 21 |
24 namespace { | 22 namespace { |
25 | 23 |
26 // Number of columns in the view layout. | 24 // Number of columns in the view layout. |
27 const int kNumColumns = 10; | 25 const int kNumColumns = 10; |
28 | 26 |
29 const char kShortText[] = "Batman"; | 27 const char kShortText[] = "The quick brown fox jumps over the lazy dog."; |
30 const char kMediumText[] = "The quick brown fox jumps over the lazy dog."; | |
31 const char kLongText[] = | 28 const char kLongText[] = |
32 "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod " | 29 "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod " |
33 "tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim " | 30 "tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim " |
34 "veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea " | 31 "veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea " |
35 "commodo consequat. Duis aute irure dolor in reprehenderit in voluptate " | 32 "commodo consequat.\nDuis aute irure dolor in reprehenderit in voluptate " |
36 "velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint " | 33 "velit esse cillum dolore eu fugiat nulla pariatur.\n\nExcepteur sint " |
37 "occaecat cupidatat non proident, sunt in culpa qui officia deserunt " | 34 "occaecat cupidatat non proident, sunt in culpa qui officia deserunt " |
38 "mollit anim id est laborum."; | 35 "mollit anim id est laborum."; |
39 const char kAmpersandText[] = | 36 const char kAmpersandText[] = |
40 "The quick && &brown fo&x jumps over the lazy dog."; | 37 "The quick && &brown fo&x jumps over the lazy dog."; |
41 const char kNewlineText[] = | 38 const wchar_t kRightToLeftText[] = |
42 "The quick \nbrown fox jumps\n\n over the lazy dog."; | 39 L"\x5e9\x5dc\x5d5\x5dd \x5d4\x5e2\x5d5\x5dc\x5dd! " |
| 40 L"\x5e9\x5dc\x5d5\x5dd \x5d4\x5e2\x5d5\x5dc\x5dd! " |
| 41 L"\x5e9\x5dc\x5d5\x5dd \x5d4\x5e2\x5d5\x5dc\x5dd! " |
| 42 L"\x5e9\x5dc\x5d5\x5dd \x5d4\x5e2\x5d5\x5dc\x5dd! " |
| 43 L"\x5e9\x5dc\x5d5\x5dd \x5d4\x5e2\x5d5\x5dc\x5dd! " |
| 44 L"\x5e9\x5dc\x5d5\x5dd \x5d4\x5e2\x5d5\x5dc\x5dd! " |
| 45 L"\x5e9\x5dc\x5d5\x5dd \x5d4\x5e2\x5d5\x5dc\x5dd! " |
| 46 L"\x5e9\x5dc\x5d5\x5dd \x5d4\x5e2\x5d5\x5dc\x5dd!"; |
43 | 47 |
44 const char* kTextExamples[] = { | 48 const char* kTextExamples[] = { "Short", "Long", "Ampersands", "RTL Hebrew", }; |
45 "Short", | 49 const char* kElideBehaviors[] = { "Elide", "Truncate", "Fade", }; |
46 "Medium", | 50 const char* kPrefixOptions[] = { "Default", "Show", "Hide", }; |
47 "Long", | 51 const char* kHorizontalAligments[] = { "Default", "Left", "Center", "Right", }; |
48 "Ampersands", | |
49 "Newlines", | |
50 }; | |
51 | |
52 const char* kElidingBehaviors[] = { | |
53 "Ellipsis", | |
54 "None", | |
55 "Fade Tail", | |
56 "Fade Head", | |
57 }; | |
58 | |
59 const char* kPrefixOptions[] = { | |
60 "Default", | |
61 "Show", | |
62 "Hide", | |
63 }; | |
64 | |
65 const char* kHorizontalAligments[] = { | |
66 "Default", | |
67 "Left", | |
68 "Center", | |
69 "Right", | |
70 }; | |
71 | 52 |
72 // Toggles bit |flag| on |flags| based on state of |checkbox|. | 53 // Toggles bit |flag| on |flags| based on state of |checkbox|. |
73 void SetFlagFromCheckbox(Checkbox* checkbox, int* flags, int flag) { | 54 void SetFlagFromCheckbox(Checkbox* checkbox, int* flags, int flag) { |
74 if (checkbox->checked()) | 55 if (checkbox->checked()) |
75 *flags |= flag; | 56 *flags |= flag; |
76 else | 57 else |
77 *flags &= ~flag; | 58 *flags &= ~flag; |
78 } | 59 } |
79 | 60 |
80 } // namespace | 61 } // namespace |
81 | 62 |
82 // TextExample's content view, which is responsible for drawing a string with | 63 // TextExample's content view, which draws stylized string. |
83 // the specified style. | |
84 class TextExample::TextExampleView : public View { | 64 class TextExample::TextExampleView : public View { |
85 public: | 65 public: |
86 TextExampleView() | 66 TextExampleView() |
87 : text_(ASCIIToUTF16(kShortText)), | 67 : text_(base::ASCIIToUTF16(kShortText)), |
88 text_flags_(0), | 68 flags_(0), |
89 halo_(false), | 69 halo_(false), |
90 fade_(false), | 70 elide_(gfx::TRUNCATE) { |
91 fade_mode_(gfx::Canvas::TruncateFadeTail) { | |
92 } | 71 } |
93 | 72 |
94 virtual void OnPaint(gfx::Canvas* canvas) OVERRIDE { | 73 virtual void OnPaint(gfx::Canvas* canvas) OVERRIDE { |
95 View::OnPaint(canvas); | 74 View::OnPaint(canvas); |
96 const gfx::Rect bounds = GetContentsBounds(); | 75 const gfx::Rect bounds = GetContentsBounds(); |
97 | 76 const SkColor color = SK_ColorDKGRAY; |
98 if (fade_) { | 77 if (elide_ == gfx::FADE_TAIL) { |
99 canvas->DrawFadeTruncatingStringRect(text_, fade_mode_, font_list_, | 78 canvas->DrawFadedString(text_, font_list_, color, bounds, flags_); |
100 SK_ColorDKGRAY, bounds); | |
101 } else if (halo_) { | 79 } else if (halo_) { |
102 canvas->DrawStringRectWithHalo(text_, font_list_, SK_ColorDKGRAY, | 80 canvas->DrawStringRectWithHalo(text_, font_list_, color, SK_ColorYELLOW, |
103 SK_ColorWHITE, bounds, text_flags_); | 81 bounds, flags_); |
104 } else { | 82 } else { |
105 canvas->DrawStringRectWithFlags(text_, font_list_, SK_ColorDKGRAY, bounds, | 83 canvas->DrawStringRectWithFlags(text_, font_list_, color, bounds, flags_); |
106 text_flags_); | |
107 } | 84 } |
108 } | 85 } |
109 | 86 |
110 int text_flags() const { return text_flags_; } | 87 int flags() const { return flags_; } |
111 void set_text_flags(int text_flags) { text_flags_ = text_flags; } | 88 void set_flags(int flags) { flags_ = flags; } |
| 89 void set_text(const base::string16& text) { text_ = text; } |
| 90 void set_halo(bool halo) { halo_ = halo; } |
| 91 void set_elide(gfx::ElideBehavior elide) { elide_ = elide; } |
112 | 92 |
113 const base::string16& text() const { return text_; } | 93 int GetStyle() const { return font_list_.GetFontStyle(); } |
114 void set_text(const base::string16& text) { text_ = text; } | 94 void SetStyle(int style) { font_list_ = font_list_.DeriveWithStyle(style); } |
115 | |
116 bool halo() const { return halo_; } | |
117 void set_halo(bool halo) { halo_ = halo; } | |
118 | |
119 bool fade() const { return fade_; } | |
120 void set_fade(bool fade) { fade_ = fade; } | |
121 | |
122 gfx::Canvas::TruncateFadeMode fade_mode() const { return fade_mode_; } | |
123 void set_fade_mode(gfx::Canvas::TruncateFadeMode mode) { fade_mode_ = mode; } | |
124 | |
125 int GetFontStyle() const { | |
126 return font_list_.GetFontStyle(); | |
127 } | |
128 void SetFontStyle(int style) { | |
129 font_list_ = font_list_.DeriveWithStyle(style); | |
130 } | |
131 | 95 |
132 private: | 96 private: |
133 // The font used for drawing the text. | 97 // The font used for drawing the text. |
134 gfx::FontList font_list_; | 98 gfx::FontList font_list_; |
135 | 99 |
136 // The text to draw. | 100 // The text to draw. |
137 base::string16 text_; | 101 base::string16 text_; |
138 | 102 |
139 // Text flags for passing to |DrawStringRect()|. | 103 // Text flags for passing to |DrawStringRect()|. |
140 int text_flags_; | 104 int flags_; |
141 | 105 |
142 // If |true|, specifies to call |DrawStringWithHalo()| instead of | 106 // A flag to draw a halo around the text. |
143 // |DrawStringRect()|. | |
144 bool halo_; | 107 bool halo_; |
145 | 108 |
146 // If |true|, specifies to call |DrawFadeTruncatingString()| instead of | 109 // The eliding, fading, or truncating behavior. |
147 // |DrawStringRect()|. | 110 gfx::ElideBehavior elide_; |
148 bool fade_; | |
149 | |
150 // If |fade_| is |true|, fade mode parameter to |DrawFadeTruncatingString()|. | |
151 gfx::Canvas::TruncateFadeMode fade_mode_; | |
152 | 111 |
153 DISALLOW_COPY_AND_ASSIGN(TextExampleView); | 112 DISALLOW_COPY_AND_ASSIGN(TextExampleView); |
154 }; | 113 }; |
155 | 114 |
156 TextExample::TextExample() : ExampleBase("Text Styles") { | 115 TextExample::TextExample() : ExampleBase("Text Styles") {} |
157 } | |
158 | 116 |
159 TextExample::~TextExample() { | 117 TextExample::~TextExample() { |
160 // Remove all the views first as some reference models in | 118 // Remove the views first as some reference combobox models. |
161 // |example_combobox_model_|. | |
162 container()->RemoveAllChildViews(true); | 119 container()->RemoveAllChildViews(true); |
163 } | 120 } |
164 | 121 |
165 Checkbox* TextExample::AddCheckbox(GridLayout* layout, const char* name) { | 122 Checkbox* TextExample::AddCheckbox(GridLayout* layout, const char* name) { |
166 Checkbox* checkbox = new Checkbox(ASCIIToUTF16(name)); | 123 Checkbox* checkbox = new Checkbox(base::ASCIIToUTF16(name)); |
167 checkbox->set_listener(this); | 124 checkbox->set_listener(this); |
168 layout->AddView(checkbox); | 125 layout->AddView(checkbox); |
169 return checkbox; | 126 return checkbox; |
170 } | 127 } |
171 | 128 |
172 Combobox* TextExample::AddCombobox(GridLayout* layout, | 129 Combobox* TextExample::AddCombobox(GridLayout* layout, |
173 const char* name, | 130 const char* name, |
174 const char** strings, | 131 const char** strings, |
175 int count) { | 132 int count) { |
176 layout->StartRow(0, 0); | 133 layout->StartRow(0, 0); |
177 layout->AddView(new Label(ASCIIToUTF16(name))); | 134 layout->AddView(new Label(base::ASCIIToUTF16(name))); |
178 ExampleComboboxModel* combobox_model = new ExampleComboboxModel(strings, | 135 ExampleComboboxModel* model = new ExampleComboboxModel(strings, count); |
179 count); | 136 example_combobox_model_.push_back(model); |
180 example_combobox_model_.push_back(combobox_model); | 137 Combobox* combobox = new Combobox(model); |
181 Combobox* combobox = new Combobox(combobox_model); | |
182 combobox->SetSelectedIndex(0); | 138 combobox->SetSelectedIndex(0); |
183 combobox->set_listener(this); | 139 combobox->set_listener(this); |
184 layout->AddView(combobox, kNumColumns - 1, 1); | 140 layout->AddView(combobox, kNumColumns - 1, 1); |
185 return combobox; | 141 return combobox; |
186 } | 142 } |
187 | 143 |
188 void TextExample::CreateExampleView(View* container) { | 144 void TextExample::CreateExampleView(View* container) { |
189 text_view_ = new TextExampleView; | 145 text_view_ = new TextExampleView; |
190 text_view_->SetBorder(Border::CreateSolidBorder(1, SK_ColorGRAY)); | 146 text_view_->SetBorder(Border::CreateSolidBorder(1, SK_ColorGRAY)); |
191 | |
192 GridLayout* layout = new GridLayout(container); | 147 GridLayout* layout = new GridLayout(container); |
193 container->SetLayoutManager(layout); | 148 container->SetLayoutManager(layout); |
194 | |
195 layout->AddPaddingRow(0, 8); | 149 layout->AddPaddingRow(0, 8); |
196 | 150 |
197 ColumnSet* column_set = layout->AddColumnSet(0); | 151 ColumnSet* column_set = layout->AddColumnSet(0); |
198 column_set->AddPaddingColumn(0, 8); | 152 column_set->AddPaddingColumn(0, 8); |
199 column_set->AddColumn(GridLayout::LEADING, GridLayout::FILL, | 153 column_set->AddColumn(GridLayout::LEADING, GridLayout::FILL, |
200 0.1f, GridLayout::USE_PREF, 0, 0); | 154 0.1f, GridLayout::USE_PREF, 0, 0); |
201 for (int i = 0; i < kNumColumns - 1; i++) | 155 for (int i = 0; i < kNumColumns - 1; i++) |
202 column_set->AddColumn(GridLayout::FILL, GridLayout::FILL, | 156 column_set->AddColumn(GridLayout::FILL, GridLayout::FILL, |
203 0.1f, GridLayout::USE_PREF, 0, 0); | 157 0.1f, GridLayout::USE_PREF, 0, 0); |
204 column_set->AddPaddingColumn(0, 8); | 158 column_set->AddPaddingColumn(0, 8); |
205 | 159 |
206 h_align_cb_ = AddCombobox(layout, | 160 h_align_cb_ = AddCombobox(layout, "H-Align", kHorizontalAligments, |
207 "H-Align", | |
208 kHorizontalAligments, | |
209 arraysize(kHorizontalAligments)); | 161 arraysize(kHorizontalAligments)); |
210 eliding_cb_ = AddCombobox(layout, | 162 eliding_cb_ = AddCombobox(layout, "Eliding", kElideBehaviors, |
211 "Eliding", | 163 arraysize(kElideBehaviors)); |
212 kElidingBehaviors, | 164 prefix_cb_ = AddCombobox(layout, "Prefix", kPrefixOptions, |
213 arraysize(kElidingBehaviors)); | |
214 prefix_cb_ = AddCombobox(layout, | |
215 "Prefix", | |
216 kPrefixOptions, | |
217 arraysize(kPrefixOptions)); | 165 arraysize(kPrefixOptions)); |
218 text_cb_ = AddCombobox(layout, | 166 text_cb_ = AddCombobox(layout, "Example Text", kTextExamples, |
219 "Example Text", | |
220 kTextExamples, | |
221 arraysize(kTextExamples)); | 167 arraysize(kTextExamples)); |
222 | 168 |
223 layout->StartRow(0, 0); | 169 layout->StartRow(0, 0); |
224 multiline_checkbox_ = AddCheckbox(layout, "Multiline"); | 170 multiline_checkbox_ = AddCheckbox(layout, "Multiline"); |
225 break_checkbox_ = AddCheckbox(layout, "Character Break"); | 171 break_checkbox_ = AddCheckbox(layout, "Character Break"); |
226 halo_checkbox_ = AddCheckbox(layout, "Text Halo"); | 172 halo_checkbox_ = AddCheckbox(layout, "Halo"); |
227 bold_checkbox_ = AddCheckbox(layout, "Bold"); | 173 bold_checkbox_ = AddCheckbox(layout, "Bold"); |
228 italic_checkbox_ = AddCheckbox(layout, "Italic"); | 174 italic_checkbox_ = AddCheckbox(layout, "Italic"); |
229 underline_checkbox_ = AddCheckbox(layout, "Underline"); | 175 underline_checkbox_ = AddCheckbox(layout, "Underline"); |
230 | 176 |
231 layout->AddPaddingRow(0, 32); | 177 layout->AddPaddingRow(0, 20); |
232 | |
233 column_set = layout->AddColumnSet(1); | 178 column_set = layout->AddColumnSet(1); |
234 column_set->AddPaddingColumn(0, 16); | 179 column_set->AddPaddingColumn(0, 16); |
235 column_set->AddColumn(GridLayout::FILL, GridLayout::FILL, | 180 column_set->AddColumn(GridLayout::FILL, GridLayout::FILL, |
236 1, GridLayout::USE_PREF, 0, 0); | 181 1, GridLayout::USE_PREF, 0, 0); |
237 column_set->AddPaddingColumn(0, 16); | 182 column_set->AddPaddingColumn(0, 16); |
238 layout->StartRow(1, 1); | 183 layout->StartRow(1, 1); |
239 layout->AddView(text_view_); | 184 layout->AddView(text_view_); |
240 | |
241 layout->AddPaddingRow(0, 8); | 185 layout->AddPaddingRow(0, 8); |
242 } | 186 } |
243 | 187 |
244 void TextExample::ButtonPressed(Button* button, const ui::Event& event) { | 188 void TextExample::ButtonPressed(Button* button, const ui::Event& event) { |
245 int flags = text_view_->text_flags(); | 189 int flags = text_view_->flags(); |
246 int style = text_view_->GetFontStyle(); | 190 int style = text_view_->GetStyle(); |
247 SetFlagFromCheckbox(multiline_checkbox_, &flags, gfx::Canvas::MULTI_LINE); | 191 SetFlagFromCheckbox(multiline_checkbox_, &flags, gfx::Canvas::MULTI_LINE); |
248 SetFlagFromCheckbox(break_checkbox_, &flags, gfx::Canvas::CHARACTER_BREAK); | 192 SetFlagFromCheckbox(break_checkbox_, &flags, gfx::Canvas::CHARACTER_BREAK); |
249 SetFlagFromCheckbox(bold_checkbox_, &style, gfx::Font::BOLD); | 193 SetFlagFromCheckbox(bold_checkbox_, &style, gfx::Font::BOLD); |
250 SetFlagFromCheckbox(italic_checkbox_, &style, gfx::Font::ITALIC); | 194 SetFlagFromCheckbox(italic_checkbox_, &style, gfx::Font::ITALIC); |
251 SetFlagFromCheckbox(underline_checkbox_, &style, gfx::Font::UNDERLINE); | 195 SetFlagFromCheckbox(underline_checkbox_, &style, gfx::Font::UNDERLINE); |
252 text_view_->set_halo(halo_checkbox_->checked()); | 196 text_view_->set_halo(halo_checkbox_->checked()); |
253 text_view_->set_text_flags(flags); | 197 text_view_->set_flags(flags); |
254 text_view_->SetFontStyle(style); | 198 text_view_->SetStyle(style); |
255 text_view_->SchedulePaint(); | 199 text_view_->SchedulePaint(); |
256 } | 200 } |
257 | 201 |
258 void TextExample::OnPerformAction(Combobox* combobox) { | 202 void TextExample::OnPerformAction(Combobox* combobox) { |
259 int text_flags = text_view_->text_flags(); | 203 int flags = text_view_->flags(); |
260 if (combobox == h_align_cb_) { | 204 if (combobox == h_align_cb_) { |
261 text_flags &= ~(gfx::Canvas::TEXT_ALIGN_LEFT | | 205 flags &= ~(gfx::Canvas::TEXT_ALIGN_LEFT | |
262 gfx::Canvas::TEXT_ALIGN_CENTER | | 206 gfx::Canvas::TEXT_ALIGN_CENTER | |
263 gfx::Canvas::TEXT_ALIGN_RIGHT); | 207 gfx::Canvas::TEXT_ALIGN_RIGHT); |
264 switch (combobox->selected_index()) { | 208 switch (combobox->selected_index()) { |
265 case 0: | 209 case 0: |
266 break; | 210 break; |
267 case 1: | 211 case 1: |
268 text_flags |= gfx::Canvas::TEXT_ALIGN_LEFT; | 212 flags |= gfx::Canvas::TEXT_ALIGN_LEFT; |
269 break; | 213 break; |
270 case 2: | 214 case 2: |
271 text_flags |= gfx::Canvas::TEXT_ALIGN_CENTER; | 215 flags |= gfx::Canvas::TEXT_ALIGN_CENTER; |
272 break; | 216 break; |
273 case 3: | 217 case 3: |
274 text_flags |= gfx::Canvas::TEXT_ALIGN_RIGHT; | 218 flags |= gfx::Canvas::TEXT_ALIGN_RIGHT; |
275 break; | 219 break; |
276 } | 220 } |
277 } else if (combobox == text_cb_) { | 221 } else if (combobox == text_cb_) { |
278 switch (combobox->selected_index()) { | 222 switch (combobox->selected_index()) { |
279 case 0: | 223 case 0: |
280 text_view_->set_text(ASCIIToUTF16(kShortText)); | 224 text_view_->set_text(base::ASCIIToUTF16(kShortText)); |
281 break; | 225 break; |
282 case 1: | 226 case 1: |
283 text_view_->set_text(ASCIIToUTF16(kMediumText)); | 227 text_view_->set_text(base::ASCIIToUTF16(kLongText)); |
284 break; | 228 break; |
285 case 2: | 229 case 2: |
286 text_view_->set_text(ASCIIToUTF16(kLongText)); | 230 text_view_->set_text(base::ASCIIToUTF16(kAmpersandText)); |
287 break; | 231 break; |
288 case 3: | 232 case 3: |
289 text_view_->set_text(ASCIIToUTF16(kAmpersandText)); | 233 text_view_->set_text(base::WideToUTF16(kRightToLeftText)); |
290 break; | |
291 case 4: | |
292 text_view_->set_text(ASCIIToUTF16(kNewlineText)); | |
293 break; | 234 break; |
294 } | 235 } |
295 } else if (combobox == eliding_cb_) { | 236 } else if (combobox == eliding_cb_) { |
296 switch (combobox->selected_index()) { | 237 switch (combobox->selected_index()) { |
297 case 0: | 238 case 0: |
298 text_flags &= ~gfx::Canvas::NO_ELLIPSIS; | 239 text_view_->set_elide(gfx::ELIDE_TAIL); |
299 text_view_->set_fade(false); | |
300 break; | 240 break; |
301 case 1: | 241 case 1: |
302 text_flags |= gfx::Canvas::NO_ELLIPSIS; | 242 text_view_->set_elide(gfx::TRUNCATE); |
303 text_view_->set_fade(false); | |
304 break; | 243 break; |
305 case 2: | 244 case 2: |
306 text_view_->set_fade_mode(gfx::Canvas::TruncateFadeTail); | 245 text_view_->set_elide(gfx::FADE_TAIL); |
307 text_view_->set_fade(true); | |
308 break; | |
309 case 3: | |
310 text_view_->set_fade_mode(gfx::Canvas::TruncateFadeHead); | |
311 text_view_->set_fade(true); | |
312 break; | 246 break; |
313 } | 247 } |
314 } else if (combobox == prefix_cb_) { | 248 } else if (combobox == prefix_cb_) { |
315 text_flags &= ~(gfx::Canvas::SHOW_PREFIX | gfx::Canvas::HIDE_PREFIX); | 249 flags &= ~(gfx::Canvas::SHOW_PREFIX | gfx::Canvas::HIDE_PREFIX); |
316 switch (combobox->selected_index()) { | 250 switch (combobox->selected_index()) { |
317 case 0: | 251 case 0: |
318 break; | 252 break; |
319 case 1: | 253 case 1: |
320 text_flags |= gfx::Canvas::SHOW_PREFIX; | 254 flags |= gfx::Canvas::SHOW_PREFIX; |
321 break; | 255 break; |
322 case 2: | 256 case 2: |
323 text_flags |= gfx::Canvas::HIDE_PREFIX; | 257 flags |= gfx::Canvas::HIDE_PREFIX; |
324 break; | 258 break; |
325 } | 259 } |
326 } | 260 } |
327 text_view_->set_text_flags(text_flags); | 261 text_view_->set_flags(flags); |
328 text_view_->SchedulePaint(); | 262 text_view_->SchedulePaint(); |
329 } | 263 } |
330 | 264 |
331 } // namespace examples | 265 } // namespace examples |
332 } // namespace views | 266 } // namespace views |
OLD | NEW |