Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "views/controls/textfield/textfield.h" | 5 #include "views/controls/textfield/textfield.h" |
| 6 | 6 |
| 7 #if defined(TOOLKIT_USES_GTK) | 7 #if defined(TOOLKIT_USES_GTK) |
| 8 #include <gdk/gdkkeysyms.h> | 8 #include <gdk/gdkkeysyms.h> |
| 9 #endif | 9 #endif |
| 10 | 10 |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 48 read_only_(false), | 48 read_only_(false), |
| 49 default_width_in_chars_(0), | 49 default_width_in_chars_(0), |
| 50 draw_border_(true), | 50 draw_border_(true), |
| 51 text_color_(SK_ColorBLACK), | 51 text_color_(SK_ColorBLACK), |
| 52 use_default_text_color_(true), | 52 use_default_text_color_(true), |
| 53 background_color_(SK_ColorWHITE), | 53 background_color_(SK_ColorWHITE), |
| 54 use_default_background_color_(true), | 54 use_default_background_color_(true), |
| 55 initialized_(false), | 55 initialized_(false), |
| 56 horizontal_margins_were_set_(false), | 56 horizontal_margins_were_set_(false), |
| 57 vertical_margins_were_set_(false), | 57 vertical_margins_were_set_(false), |
| 58 select_all_on_focus_(false), | |
| 58 text_input_type_(ui::TEXT_INPUT_TYPE_TEXT) { | 59 text_input_type_(ui::TEXT_INPUT_TYPE_TEXT) { |
| 59 set_focusable(true); | 60 set_focusable(true); |
| 60 } | 61 } |
| 61 | 62 |
| 62 Textfield::Textfield(StyleFlags style) | 63 Textfield::Textfield(StyleFlags style) |
| 63 : native_wrapper_(NULL), | 64 : native_wrapper_(NULL), |
| 64 controller_(NULL), | 65 controller_(NULL), |
| 65 style_(style), | 66 style_(style), |
| 66 read_only_(false), | 67 read_only_(false), |
| 67 default_width_in_chars_(0), | 68 default_width_in_chars_(0), |
| 68 draw_border_(true), | 69 draw_border_(true), |
| 69 text_color_(SK_ColorBLACK), | 70 text_color_(SK_ColorBLACK), |
| 70 use_default_text_color_(true), | 71 use_default_text_color_(true), |
| 71 background_color_(SK_ColorWHITE), | 72 background_color_(SK_ColorWHITE), |
| 72 use_default_background_color_(true), | 73 use_default_background_color_(true), |
| 73 initialized_(false), | 74 initialized_(false), |
| 74 horizontal_margins_were_set_(false), | 75 horizontal_margins_were_set_(false), |
| 75 vertical_margins_were_set_(false), | 76 vertical_margins_were_set_(false), |
| 77 select_all_on_focus_(false), | |
| 76 text_input_type_(ui::TEXT_INPUT_TYPE_TEXT) { | 78 text_input_type_(ui::TEXT_INPUT_TYPE_TEXT) { |
| 77 set_focusable(true); | 79 set_focusable(true); |
| 78 if (IsPassword()) | 80 if (IsPassword()) |
| 79 SetTextInputType(ui::TEXT_INPUT_TYPE_PASSWORD); | 81 SetTextInputType(ui::TEXT_INPUT_TYPE_PASSWORD); |
| 80 } | 82 } |
| 81 | 83 |
| 82 Textfield::~Textfield() { | 84 Textfield::~Textfield() { |
| 83 } | 85 } |
| 84 | 86 |
| 85 void Textfield::SetController(TextfieldController* controller) { | 87 void Textfield::SetController(TextfieldController* controller) { |
| (...skipping 294 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 380 if (native_wrapper_) | 382 if (native_wrapper_) |
| 381 native_wrapper_->HandleFocus(); | 383 native_wrapper_->HandleFocus(); |
| 382 | 384 |
| 383 // Forward the focus to the wrapper if it exists. | 385 // Forward the focus to the wrapper if it exists. |
| 384 if (!native_wrapper_ || !native_wrapper_->SetFocus()) { | 386 if (!native_wrapper_ || !native_wrapper_->SetFocus()) { |
| 385 // If there is no wrapper or the wrapper didn't take focus, call | 387 // If there is no wrapper or the wrapper didn't take focus, call |
| 386 // View::Focus to clear the native focus so that we still get | 388 // View::Focus to clear the native focus so that we still get |
| 387 // keyboard messages. | 389 // keyboard messages. |
| 388 View::OnFocus(); | 390 View::OnFocus(); |
| 389 } | 391 } |
| 392 | |
| 393 if (select_all_on_focus()) | |
| 394 SelectAll(); | |
| 395 else | |
| 396 ClearSelection(); | |
|
jennyz
2011/11/10 18:08:33
I still concern this may affect the NativeTextfiel
jennyz
2011/11/10 18:27:06
Sorry I missed some detail in previous comment.
I
| |
| 390 } | 397 } |
| 391 | 398 |
| 392 void Textfield::OnBlur() { | 399 void Textfield::OnBlur() { |
| 393 if (native_wrapper_) | 400 if (native_wrapper_) |
| 394 native_wrapper_->HandleBlur(); | 401 native_wrapper_->HandleBlur(); |
| 395 } | 402 } |
| 396 | 403 |
| 397 void Textfield::GetAccessibleState(ui::AccessibleViewState* state) { | 404 void Textfield::GetAccessibleState(ui::AccessibleViewState* state) { |
| 398 state->role = ui::AccessibilityTypes::ROLE_TEXT; | 405 state->role = ui::AccessibilityTypes::ROLE_TEXT; |
| 399 state->name = accessible_name_; | 406 state->name = accessible_name_; |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 444 } | 451 } |
| 445 #endif | 452 #endif |
| 446 } | 453 } |
| 447 } | 454 } |
| 448 | 455 |
| 449 std::string Textfield::GetClassName() const { | 456 std::string Textfield::GetClassName() const { |
| 450 return kViewClassName; | 457 return kViewClassName; |
| 451 } | 458 } |
| 452 | 459 |
| 453 } // namespace views | 460 } // namespace views |
| OLD | NEW |