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/controls/message_box_view.h" | 5 #include "ui/views/controls/message_box_view.h" |
6 | 6 |
7 #include "base/i18n/rtl.h" | 7 #include "base/i18n/rtl.h" |
8 #include "base/message_loop.h" | 8 #include "base/message_loop.h" |
9 #include "base/string_split.h" | 9 #include "base/string_split.h" |
10 #include "base/utf_string_conversions.h" | 10 #include "base/utf_string_conversions.h" |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
59 } // namespace | 59 } // namespace |
60 | 60 |
61 namespace views { | 61 namespace views { |
62 | 62 |
63 /////////////////////////////////////////////////////////////////////////////// | 63 /////////////////////////////////////////////////////////////////////////////// |
64 // MessageBoxView, public: | 64 // MessageBoxView, public: |
65 | 65 |
66 MessageBoxView::InitParams::InitParams(const string16& message) | 66 MessageBoxView::InitParams::InitParams(const string16& message) |
67 : options(NO_OPTIONS), | 67 : options(NO_OPTIONS), |
68 message(message), | 68 message(message), |
69 message_width(kDefaultMessageWidth) { | 69 message_width(kDefaultMessageWidth), |
| 70 top_inset(kPanelVertMargin), |
| 71 bottom_inset(kPanelVertMargin), |
| 72 left_inset(kPanelHorizMargin), |
| 73 right_inset(kPanelHorizMargin), |
| 74 inter_row_vertical_spacing(kRelatedControlVerticalSpacing) |
| 75 { |
70 } | 76 } |
71 | 77 |
72 MessageBoxView::InitParams::~InitParams() { | 78 MessageBoxView::InitParams::~InitParams() { |
73 } | 79 } |
74 | 80 |
75 MessageBoxView::MessageBoxView(const InitParams& params) | 81 MessageBoxView::MessageBoxView(const InitParams& params) |
76 : prompt_field_(NULL), | 82 : prompt_field_(NULL), |
77 icon_(NULL), | 83 icon_(NULL), |
78 checkbox_(NULL), | 84 checkbox_(NULL), |
79 message_width_(params.message_width) { | 85 message_width_(params.message_width) { |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
181 message_label->SetAllowCharacterBreak(true); | 187 message_label->SetAllowCharacterBreak(true); |
182 message_label->SetHorizontalAlignment(Label::ALIGN_LEFT); | 188 message_label->SetHorizontalAlignment(Label::ALIGN_LEFT); |
183 message_labels_.push_back(message_label); | 189 message_labels_.push_back(message_label); |
184 } | 190 } |
185 | 191 |
186 if (params.options & HAS_PROMPT_FIELD) { | 192 if (params.options & HAS_PROMPT_FIELD) { |
187 prompt_field_ = new Textfield; | 193 prompt_field_ = new Textfield; |
188 prompt_field_->SetText(params.default_prompt); | 194 prompt_field_->SetText(params.default_prompt); |
189 } | 195 } |
190 | 196 |
| 197 top_inset_ = params.top_inset; |
| 198 bottom_inset_ = params.bottom_inset; |
| 199 left_inset_ = params.left_inset; |
| 200 right_inset_ = params.right_inset; |
| 201 inter_row_vertical_spacing_ = params.inter_row_vertical_spacing; |
| 202 |
191 ResetLayoutManager(); | 203 ResetLayoutManager(); |
192 } | 204 } |
193 | 205 |
194 void MessageBoxView::ResetLayoutManager() { | 206 void MessageBoxView::ResetLayoutManager() { |
195 // Initialize the Grid Layout Manager used for this dialog box. | 207 // Initialize the Grid Layout Manager used for this dialog box. |
196 GridLayout* layout = GridLayout::CreatePanel(this); | 208 GridLayout* layout = GridLayout::CreatePanel(this); |
| 209 layout->SetInsets(top_inset_, bottom_inset_, left_inset_, right_inset_); |
197 SetLayoutManager(layout); | 210 SetLayoutManager(layout); |
198 | 211 |
199 gfx::Size icon_size; | 212 gfx::Size icon_size; |
200 if (icon_) | 213 if (icon_) |
201 icon_size = icon_->GetPreferredSize(); | 214 icon_size = icon_->GetPreferredSize(); |
202 | 215 |
203 // Add the column set for the message displayed at the top of the dialog box. | 216 // Add the column set for the message displayed at the top of the dialog box. |
204 // And an icon, if one has been set. | 217 // And an icon, if one has been set. |
205 const int message_column_view_set_id = 0; | 218 const int message_column_view_set_id = 0; |
206 ColumnSet* column_set = layout->AddColumnSet(message_column_view_set_id); | 219 ColumnSet* column_set = layout->AddColumnSet(message_column_view_set_id); |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
242 if (icon_) { | 255 if (icon_) { |
243 if (i == 0) | 256 if (i == 0) |
244 layout->AddView(icon_); | 257 layout->AddView(icon_); |
245 else | 258 else |
246 layout->SkipColumns(1); | 259 layout->SkipColumns(1); |
247 } | 260 } |
248 layout->AddView(message_labels_[i]); | 261 layout->AddView(message_labels_[i]); |
249 } | 262 } |
250 | 263 |
251 if (prompt_field_) { | 264 if (prompt_field_) { |
252 layout->AddPaddingRow(0, kRelatedControlVerticalSpacing); | 265 layout->AddPaddingRow(0, inter_row_vertical_spacing_); |
253 layout->StartRow(0, textfield_column_view_set_id); | 266 layout->StartRow(0, textfield_column_view_set_id); |
254 layout->AddView(prompt_field_); | 267 layout->AddView(prompt_field_); |
255 } | 268 } |
256 | 269 |
257 if (checkbox_) { | 270 if (checkbox_) { |
258 layout->AddPaddingRow(0, kRelatedControlVerticalSpacing); | 271 layout->AddPaddingRow(0, inter_row_vertical_spacing_); |
259 layout->StartRow(0, checkbox_column_view_set_id); | 272 layout->StartRow(0, checkbox_column_view_set_id); |
260 layout->AddView(checkbox_); | 273 layout->AddView(checkbox_); |
261 } | 274 } |
262 | 275 |
263 layout->AddPaddingRow(0, kRelatedControlVerticalSpacing); | 276 layout->AddPaddingRow(0, inter_row_vertical_spacing_); |
264 } | 277 } |
265 | 278 |
266 } // namespace views | 279 } // namespace views |
OLD | NEW |