| OLD | NEW |
| 1 // Copyright (c) 2012 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 "ui/views/controls/menu/menu_item_view.h" | 5 #include "ui/views/controls/menu/menu_item_view.h" |
| 6 | 6 |
| 7 #include "base/i18n/case_conversion.h" | 7 #include "base/i18n/case_conversion.h" |
| 8 #include "base/stl_util.h" | 8 #include "base/stl_util.h" |
| 9 #include "base/utf_string_conversions.h" | 9 #include "base/utf_string_conversions.h" |
| 10 #include "grit/ui_strings.h" | 10 #include "grit/ui_strings.h" |
| 11 #include "ui/base/accessibility/accessible_view_state.h" | 11 #include "ui/base/accessibility/accessible_view_state.h" |
| 12 #include "ui/base/l10n/l10n_util.h" | 12 #include "ui/base/l10n/l10n_util.h" |
| 13 #include "ui/base/models/menu_model.h" | 13 #include "ui/base/models/menu_model.h" |
| 14 #include "ui/gfx/canvas.h" | 14 #include "ui/gfx/canvas.h" |
| 15 #include "ui/views/controls/button/menu_button.h" | 15 #include "ui/views/controls/button/menu_button.h" |
| 16 #include "ui/views/controls/button/text_button.h" |
| 16 #include "ui/views/controls/menu/menu_config.h" | 17 #include "ui/views/controls/menu/menu_config.h" |
| 17 #include "ui/views/controls/menu/menu_controller.h" | 18 #include "ui/views/controls/menu/menu_controller.h" |
| 18 #include "ui/views/controls/menu/menu_separator.h" | 19 #include "ui/views/controls/menu/menu_separator.h" |
| 19 #include "ui/views/controls/menu/submenu_view.h" | 20 #include "ui/views/controls/menu/submenu_view.h" |
| 20 | 21 |
| 21 namespace views { | 22 namespace views { |
| 22 | 23 |
| 23 namespace { | 24 namespace { |
| 24 | 25 |
| 25 // EmptyMenuMenuItem --------------------------------------------------------- | 26 // EmptyMenuMenuItem --------------------------------------------------------- |
| (...skipping 647 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 673 GetTopMargin(), max_accel_width, available_height); | 674 GetTopMargin(), max_accel_width, available_height); |
| 674 accel_bounds.set_x(GetMirroredXForRect(accel_bounds)); | 675 accel_bounds.set_x(GetMirroredXForRect(accel_bounds)); |
| 675 int flags = GetRootMenuItem()->GetDrawStringFlags() | | 676 int flags = GetRootMenuItem()->GetDrawStringFlags() | |
| 676 gfx::Canvas::TEXT_VALIGN_MIDDLE; | 677 gfx::Canvas::TEXT_VALIGN_MIDDLE; |
| 677 flags &= ~(gfx::Canvas::TEXT_ALIGN_RIGHT | gfx::Canvas::TEXT_ALIGN_LEFT); | 678 flags &= ~(gfx::Canvas::TEXT_ALIGN_RIGHT | gfx::Canvas::TEXT_ALIGN_LEFT); |
| 678 if (base::i18n::IsRTL()) | 679 if (base::i18n::IsRTL()) |
| 679 flags |= gfx::Canvas::TEXT_ALIGN_LEFT; | 680 flags |= gfx::Canvas::TEXT_ALIGN_LEFT; |
| 680 else | 681 else |
| 681 flags |= gfx::Canvas::TEXT_ALIGN_RIGHT; | 682 flags |= gfx::Canvas::TEXT_ALIGN_RIGHT; |
| 682 canvas->DrawStringInt( | 683 canvas->DrawStringInt( |
| 683 accel_text, font, gfx::NativeTheme::instance()->GetSystemColor( | 684 accel_text, font, TextButton::kDisabledColor, |
| 684 gfx::NativeTheme::kColorId_TextButtonDisabledColor), | |
| 685 accel_bounds.x(), accel_bounds.y(), accel_bounds.width(), | 685 accel_bounds.x(), accel_bounds.y(), accel_bounds.width(), |
| 686 accel_bounds.height(), flags); | 686 accel_bounds.height(), flags); |
| 687 } | 687 } |
| 688 | 688 |
| 689 void MenuItemView::DestroyAllMenuHosts() { | 689 void MenuItemView::DestroyAllMenuHosts() { |
| 690 if (!HasSubmenu()) | 690 if (!HasSubmenu()) |
| 691 return; | 691 return; |
| 692 | 692 |
| 693 submenu_->Close(); | 693 submenu_->Close(); |
| 694 for (int i = 0, item_count = submenu_->GetMenuItemCount(); i < item_count; | 694 for (int i = 0, item_count = submenu_->GetMenuItemCount(); i < item_count; |
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 770 } | 770 } |
| 771 | 771 |
| 772 bool MenuItemView::IsContainer() const { | 772 bool MenuItemView::IsContainer() const { |
| 773 // Let the first child take over |this| when we only have one child and no | 773 // Let the first child take over |this| when we only have one child and no |
| 774 // title. Note that what child_count() returns is the number of children, | 774 // title. Note that what child_count() returns is the number of children, |
| 775 // not the number of menu items. | 775 // not the number of menu items. |
| 776 return child_count() == 1 && title_.empty(); | 776 return child_count() == 1 && title_.empty(); |
| 777 } | 777 } |
| 778 | 778 |
| 779 } // namespace views | 779 } // namespace views |
| OLD | NEW |