| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/chromeos/ime/candidate_window_view.h" | 5 #include "ui/chromeos/ime/candidate_window_view.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <string> | 9 #include <string> |
| 10 | 10 |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 94 enum BorderPosition { | 94 enum BorderPosition { |
| 95 TOP, | 95 TOP, |
| 96 BOTTOM | 96 BOTTOM |
| 97 }; | 97 }; |
| 98 | 98 |
| 99 // Specify the alignment and initialize the control. | 99 // Specify the alignment and initialize the control. |
| 100 InformationTextArea(gfx::HorizontalAlignment align, int min_width) | 100 InformationTextArea(gfx::HorizontalAlignment align, int min_width) |
| 101 : min_width_(min_width) { | 101 : min_width_(min_width) { |
| 102 label_ = new views::Label; | 102 label_ = new views::Label; |
| 103 label_->SetHorizontalAlignment(align); | 103 label_->SetHorizontalAlignment(align); |
| 104 label_->SetBorder(views::Border::CreateEmptyBorder(2, 2, 2, 4)); | 104 label_->SetBorder(views::CreateEmptyBorder(2, 2, 2, 4)); |
| 105 | 105 |
| 106 SetLayoutManager(new views::FillLayout()); | 106 SetLayoutManager(new views::FillLayout()); |
| 107 AddChildView(label_); | 107 AddChildView(label_); |
| 108 set_background(views::Background::CreateSolidBackground( | 108 set_background(views::Background::CreateSolidBackground( |
| 109 color_utils::AlphaBlend(SK_ColorBLACK, | 109 color_utils::AlphaBlend(SK_ColorBLACK, |
| 110 GetNativeTheme()->GetSystemColor( | 110 GetNativeTheme()->GetSystemColor( |
| 111 ui::NativeTheme::kColorId_WindowBackground), | 111 ui::NativeTheme::kColorId_WindowBackground), |
| 112 0x10))); | 112 0x10))); |
| 113 } | 113 } |
| 114 | 114 |
| 115 // Sets the text alignment. | 115 // Sets the text alignment. |
| 116 void SetAlignment(gfx::HorizontalAlignment alignment) { | 116 void SetAlignment(gfx::HorizontalAlignment alignment) { |
| 117 label_->SetHorizontalAlignment(alignment); | 117 label_->SetHorizontalAlignment(alignment); |
| 118 } | 118 } |
| 119 | 119 |
| 120 // Sets the displayed text. | 120 // Sets the displayed text. |
| 121 void SetText(const base::string16& text) { | 121 void SetText(const base::string16& text) { |
| 122 label_->SetText(text); | 122 label_->SetText(text); |
| 123 } | 123 } |
| 124 | 124 |
| 125 // Sets the border thickness for top/bottom. | 125 // Sets the border thickness for top/bottom. |
| 126 void SetBorderFromPosition(BorderPosition position) { | 126 void SetBorderFromPosition(BorderPosition position) { |
| 127 SetBorder(views::Border::CreateSolidSidedBorder( | 127 SetBorder(views::CreateSolidSidedBorder( |
| 128 (position == TOP) ? 1 : 0, | 128 (position == TOP) ? 1 : 0, 0, (position == BOTTOM) ? 1 : 0, 0, |
| 129 0, | |
| 130 (position == BOTTOM) ? 1 : 0, | |
| 131 0, | |
| 132 GetNativeTheme()->GetSystemColor( | 129 GetNativeTheme()->GetSystemColor( |
| 133 ui::NativeTheme::kColorId_MenuBorderColor))); | 130 ui::NativeTheme::kColorId_MenuBorderColor))); |
| 134 } | 131 } |
| 135 | 132 |
| 136 protected: | 133 protected: |
| 137 gfx::Size GetPreferredSize() const override { | 134 gfx::Size GetPreferredSize() const override { |
| 138 gfx::Size size = views::View::GetPreferredSize(); | 135 gfx::Size size = views::View::GetPreferredSize(); |
| 139 size.SetToMax(gfx::Size(min_width_, 0)); | 136 size.SetToMax(gfx::Size(min_width_, 0)); |
| 140 return size; | 137 return size; |
| 141 } | 138 } |
| (...skipping 12 matching lines...) Expand all Loading... |
| 154 was_candidate_window_open_(false) { | 151 was_candidate_window_open_(false) { |
| 155 set_can_activate(false); | 152 set_can_activate(false); |
| 156 set_parent_window(parent); | 153 set_parent_window(parent); |
| 157 set_margins(gfx::Insets()); | 154 set_margins(gfx::Insets()); |
| 158 | 155 |
| 159 // Set the background and the border of the view. | 156 // Set the background and the border of the view. |
| 160 ui::NativeTheme* theme = GetNativeTheme(); | 157 ui::NativeTheme* theme = GetNativeTheme(); |
| 161 set_background( | 158 set_background( |
| 162 views::Background::CreateSolidBackground(theme->GetSystemColor( | 159 views::Background::CreateSolidBackground(theme->GetSystemColor( |
| 163 ui::NativeTheme::kColorId_WindowBackground))); | 160 ui::NativeTheme::kColorId_WindowBackground))); |
| 164 SetBorder(views::Border::CreateSolidBorder( | 161 SetBorder(views::CreateSolidBorder( |
| 165 1, theme->GetSystemColor(ui::NativeTheme::kColorId_MenuBorderColor))); | 162 1, theme->GetSystemColor(ui::NativeTheme::kColorId_MenuBorderColor))); |
| 166 | 163 |
| 167 SetLayoutManager(new views::BoxLayout(views::BoxLayout::kVertical, 0, 0, 0)); | 164 SetLayoutManager(new views::BoxLayout(views::BoxLayout::kVertical, 0, 0, 0)); |
| 168 auxiliary_text_ = new InformationTextArea(gfx::ALIGN_RIGHT, 0); | 165 auxiliary_text_ = new InformationTextArea(gfx::ALIGN_RIGHT, 0); |
| 169 preedit_ = new InformationTextArea(gfx::ALIGN_LEFT, kMinPreeditAreaWidth); | 166 preedit_ = new InformationTextArea(gfx::ALIGN_LEFT, kMinPreeditAreaWidth); |
| 170 candidate_area_ = new views::View; | 167 candidate_area_ = new views::View; |
| 171 auxiliary_text_->SetVisible(false); | 168 auxiliary_text_->SetVisible(false); |
| 172 preedit_->SetVisible(false); | 169 preedit_->SetVisible(false); |
| 173 candidate_area_->SetVisible(false); | 170 candidate_area_->SetVisible(false); |
| 174 preedit_->SetBorderFromPosition(InformationTextArea::BOTTOM); | 171 preedit_->SetBorderFromPosition(InformationTextArea::BOTTOM); |
| (...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 412 if (sender == candidate_views_[i].get()) { | 409 if (sender == candidate_views_[i].get()) { |
| 413 for (Observer& observer : observers_) | 410 for (Observer& observer : observers_) |
| 414 observer.OnCandidateCommitted(i); | 411 observer.OnCandidateCommitted(i); |
| 415 return; | 412 return; |
| 416 } | 413 } |
| 417 } | 414 } |
| 418 } | 415 } |
| 419 | 416 |
| 420 } // namespace ime | 417 } // namespace ime |
| 421 } // namespace ui | 418 } // namespace ui |
| OLD | NEW |