OLD | NEW |
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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 "chrome/views/window/dialog_client_view.h" | 5 #include "chrome/views/window/dialog_client_view.h" |
6 | 6 |
7 #include <windows.h> | 7 #include <windows.h> |
8 #include <uxtheme.h> | 8 #include <uxtheme.h> |
9 #include <vsstyle.h> | 9 #include <vsstyle.h> |
10 | 10 |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
71 private: | 71 private: |
72 Window* owner_; | 72 Window* owner_; |
73 const DialogDelegate::DialogButton type_; | 73 const DialogDelegate::DialogButton type_; |
74 | 74 |
75 DISALLOW_COPY_AND_ASSIGN(DialogButton); | 75 DISALLOW_COPY_AND_ASSIGN(DialogButton); |
76 }; | 76 }; |
77 | 77 |
78 } // namespace | 78 } // namespace |
79 | 79 |
80 // static | 80 // static |
81 ChromeFont DialogClientView::dialog_button_font_; | 81 ChromeFont* DialogClientView::dialog_button_font_ = NULL; |
82 static const int kDialogMinButtonWidth = 75; | 82 static const int kDialogMinButtonWidth = 75; |
83 static const int kDialogButtonLabelSpacing = 16; | 83 static const int kDialogButtonLabelSpacing = 16; |
84 static const int kDialogButtonContentSpacing = 5; | 84 static const int kDialogButtonContentSpacing = 5; |
85 | 85 |
86 // The group used by the buttons. This name is chosen voluntarily big not to | 86 // The group used by the buttons. This name is chosen voluntarily big not to |
87 // conflict with other groups that could be in the dialog content. | 87 // conflict with other groups that could be in the dialog content. |
88 static const int kButtonGroup = 6666; | 88 static const int kButtonGroup = 6666; |
89 | 89 |
90 /////////////////////////////////////////////////////////////////////////////// | 90 /////////////////////////////////////////////////////////////////////////////// |
91 // DialogClientView, public: | 91 // DialogClientView, public: |
(...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
346 gfx::NativeTheme::instance()->PaintStatusGripper( | 346 gfx::NativeTheme::instance()->PaintStatusGripper( |
347 dc, SP_PANE, 1, 0, &native_bounds); | 347 dc, SP_PANE, 1, 0, &native_bounds); |
348 canvas->endPlatformPaint(); | 348 canvas->endPlatformPaint(); |
349 } | 349 } |
350 } | 350 } |
351 | 351 |
352 int DialogClientView::GetButtonWidth(int button) const { | 352 int DialogClientView::GetButtonWidth(int button) const { |
353 DialogDelegate* dd = GetDialogDelegate(); | 353 DialogDelegate* dd = GetDialogDelegate(); |
354 std::wstring button_label = dd->GetDialogButtonLabel( | 354 std::wstring button_label = dd->GetDialogButtonLabel( |
355 static_cast<DialogDelegate::DialogButton>(button)); | 355 static_cast<DialogDelegate::DialogButton>(button)); |
356 int string_width = dialog_button_font_.GetStringWidth(button_label); | 356 int string_width = dialog_button_font_->GetStringWidth(button_label); |
357 return std::max(string_width + kDialogButtonLabelSpacing, | 357 return std::max(string_width + kDialogButtonLabelSpacing, |
358 kDialogMinButtonWidth); | 358 kDialogMinButtonWidth); |
359 } | 359 } |
360 | 360 |
361 int DialogClientView::GetButtonsHeight() const { | 361 int DialogClientView::GetButtonsHeight() const { |
362 if (has_dialog_buttons()) { | 362 if (has_dialog_buttons()) { |
363 if (cancel_button_) | 363 if (cancel_button_) |
364 return cancel_button_->height() + kDialogButtonContentSpacing; | 364 return cancel_button_->height() + kDialogButtonContentSpacing; |
365 return ok_button_->height() + kDialogButtonContentSpacing; | 365 return ok_button_->height() + kDialogButtonContentSpacing; |
366 } | 366 } |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
424 DialogDelegate* dd = window()->GetDelegate()->AsDialogDelegate(); | 424 DialogDelegate* dd = window()->GetDelegate()->AsDialogDelegate(); |
425 DCHECK(dd); | 425 DCHECK(dd); |
426 return dd; | 426 return dd; |
427 } | 427 } |
428 | 428 |
429 // static | 429 // static |
430 void DialogClientView::InitClass() { | 430 void DialogClientView::InitClass() { |
431 static bool initialized = false; | 431 static bool initialized = false; |
432 if (!initialized) { | 432 if (!initialized) { |
433 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); | 433 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); |
434 dialog_button_font_ = rb.GetFont(ResourceBundle::BaseFont); | 434 dialog_button_font_ = new ChromeFont(rb.GetFont(ResourceBundle::BaseFont)); |
435 initialized = true; | 435 initialized = true; |
436 } | 436 } |
437 } | 437 } |
438 | 438 |
439 } // namespace views | 439 } // namespace views |
OLD | NEW |