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/menu/menu_win.h" | 5 #include "views/controls/menu/menu_win.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "base/logging.h" | 9 #include "base/logging.h" |
10 #include "base/stl_util.h" | 10 #include "base/stl_util.h" |
11 #include "base/string_util.h" | 11 #include "base/string_util.h" |
12 #include "ui/base/keycodes/keyboard_codes.h" | 12 #include "ui/base/keycodes/keyboard_codes.h" |
13 #include "ui/base/l10n/l10n_util.h" | 13 #include "ui/base/l10n/l10n_util.h" |
14 #include "ui/base/l10n/l10n_util_win.h" | 14 #include "ui/base/l10n/l10n_util_win.h" |
| 15 #include "ui/base/models/accelerator.h" |
15 #include "ui/base/win/window_impl.h" | 16 #include "ui/base/win/window_impl.h" |
16 #include "ui/gfx/canvas_skia.h" | 17 #include "ui/gfx/canvas_skia.h" |
17 #include "ui/gfx/font.h" | 18 #include "ui/gfx/font.h" |
18 #include "ui/gfx/rect.h" | 19 #include "ui/gfx/rect.h" |
19 #include "views/accelerator.h" | |
20 | 20 |
21 namespace views { | 21 namespace views { |
22 | 22 |
23 // The width of an icon, including the pixels between the icon and | 23 // The width of an icon, including the pixels between the icon and |
24 // the item label. | 24 // the item label. |
25 const int kIconWidth = 23; | 25 const int kIconWidth = 23; |
26 // Margins between the top of the item and the label. | 26 // Margins between the top of the item and the label. |
27 const int kItemTopMargin = 3; | 27 const int kItemTopMargin = 3; |
28 // Margins between the bottom of the item and the label. | 28 // Margins between the bottom of the item and the label. |
29 const int kItemBottomMargin = 4; | 29 const int kItemBottomMargin = 4; |
(...skipping 405 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
435 mii.wID = item_id; | 435 mii.wID = item_id; |
436 | 436 |
437 // Set the item data. | 437 // Set the item data. |
438 MenuWin::ItemData* data = new ItemData; | 438 MenuWin::ItemData* data = new ItemData; |
439 item_data_.push_back(data); | 439 item_data_.push_back(data); |
440 data->submenu = submenu != NULL; | 440 data->submenu = submenu != NULL; |
441 | 441 |
442 string16 actual_label(label.empty() ? delegate()->GetLabel(item_id) : label); | 442 string16 actual_label(label.empty() ? delegate()->GetLabel(item_id) : label); |
443 | 443 |
444 // Find out if there is a shortcut we need to append to the label. | 444 // Find out if there is a shortcut we need to append to the label. |
445 views::Accelerator accelerator(ui::VKEY_UNKNOWN, false, false, false); | 445 ui::Accelerator accelerator(ui::VKEY_UNKNOWN, false, false, false); |
446 if (delegate() && delegate()->GetAcceleratorInfo(item_id, &accelerator)) { | 446 if (delegate() && delegate()->GetAcceleratorInfo(item_id, &accelerator)) { |
447 actual_label += L'\t'; | 447 actual_label += L'\t'; |
448 actual_label += accelerator.GetShortcutText(); | 448 actual_label += accelerator.GetShortcutText(); |
449 } | 449 } |
450 labels_.push_back(actual_label); | 450 labels_.push_back(actual_label); |
451 | 451 |
452 if (owner_draw_) { | 452 if (owner_draw_) { |
453 if (icon.width() != 0 && icon.height() != 0) | 453 if (icon.width() != 0 && icon.height() != 0) |
454 data->icon = icon; | 454 data->icon = icon; |
455 else | 455 else |
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
565 break; | 565 break; |
566 | 566 |
567 default: | 567 default: |
568 NOTREACHED(); | 568 NOTREACHED(); |
569 return 0; | 569 return 0; |
570 } | 570 } |
571 return align_flags; | 571 return align_flags; |
572 } | 572 } |
573 | 573 |
574 } // namespace views | 574 } // namespace views |
OLD | NEW |