diff options
author | tfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-20 00:43:17 +0000 |
---|---|---|
committer | tfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-20 00:43:17 +0000 |
commit | 4cad742a03d30387a9ac9886b54671728b7664c4 (patch) | |
tree | 6cea5001249ae90bfb59a446c2d7aeec896219ad /views | |
parent | 08b043736c1b650ab171178696fdcdd055525b5c (diff) | |
download | chromium_src-4cad742a03d30387a9ac9886b54671728b7664c4.zip chromium_src-4cad742a03d30387a9ac9886b54671728b7664c4.tar.gz chromium_src-4cad742a03d30387a9ac9886b54671728b7664c4.tar.bz2 |
views: Change MenuItemView API to string16.
BUG=68267
R=sky@chromium.org
Review URL: http://codereview.chromium.org/8352015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106421 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'views')
-rw-r--r-- | views/controls/combobox/native_combobox_views.cc | 3 | ||||
-rw-r--r-- | views/controls/menu/menu_item_view.cc | 61 | ||||
-rw-r--r-- | views/controls/menu/menu_item_view.h | 43 | ||||
-rw-r--r-- | views/controls/menu/native_menu_views.cc | 2 |
4 files changed, 66 insertions, 43 deletions
diff --git a/views/controls/combobox/native_combobox_views.cc b/views/controls/combobox/native_combobox_views.cc index e1f436d..44c6838 100644 --- a/views/controls/combobox/native_combobox_views.cc +++ b/views/controls/combobox/native_combobox_views.cc @@ -177,8 +177,7 @@ void NativeComboboxViews::UpdateFromModel() { // text is displayed correctly in right-to-left UIs. base::i18n::AdjustStringForLocaleDirection(&text); - menu->AppendMenuItem(i + kFirstMenuItemId, UTF16ToWideHack(text), - MenuItemView::NORMAL); + menu->AppendMenuItem(i + kFirstMenuItemId, text, MenuItemView::NORMAL); max_width = std::max(max_width, font.GetStringWidth(text)); } diff --git a/views/controls/menu/menu_item_view.cc b/views/controls/menu/menu_item_view.cc index 67674fc..fec96ab 100644 --- a/views/controls/menu/menu_item_view.cc +++ b/views/controls/menu/menu_item_view.cc @@ -35,8 +35,7 @@ class EmptyMenuMenuItem : public MenuItemView { : MenuItemView(parent, 0, EMPTY) { // Set this so that we're not identified as a normal menu item. set_id(kEmptyMenuItemViewID); - SetTitle(UTF16ToWide( - l10n_util::GetStringUTF16(IDS_APP_MENU_EMPTY_SUBMENU))); + SetTitle(l10n_util::GetStringUTF16(IDS_APP_MENU_EMPTY_SUBMENU)); SetEnabled(false); } @@ -191,7 +190,7 @@ void MenuItemView::Cancel() { MenuItemView* MenuItemView::AddMenuItemAt(int index, int item_id, - const std::wstring& label, + const string16& label, const SkBitmap& icon, Type type) { DCHECK_NE(type, EMPTY); @@ -205,7 +204,7 @@ MenuItemView* MenuItemView::AddMenuItemAt(int index, } MenuItemView* item = new MenuItemView(this, item_id, type); if (label.empty() && GetDelegate()) - item->SetTitle(UTF16ToWideHack(GetDelegate()->GetLabel(item_id))); + item->SetTitle(GetDelegate()->GetLabel(item_id)); else item->SetTitle(label); item->SetIcon(icon); @@ -230,26 +229,62 @@ void MenuItemView::RemoveMenuItemAt(int index) { removed_items_.push_back(item); } +MenuItemView* MenuItemView::AppendMenuItem(int item_id, + const string16& label, + Type type) { + return AppendMenuItemImpl(item_id, label, SkBitmap(), type); +} + +MenuItemView* MenuItemView::AppendSubMenu(int item_id, + const string16& label) { + return AppendMenuItemImpl(item_id, label, SkBitmap(), SUBMENU); +} + +MenuItemView* MenuItemView::AppendSubMenuWithIcon(int item_id, + const string16& label, + const SkBitmap& icon) { + return AppendMenuItemImpl(item_id, label, icon, SUBMENU); +} + +MenuItemView* MenuItemView::AppendMenuItemWithLabel(int item_id, + const string16& label) { + return AppendMenuItem(item_id, label, NORMAL); +} + +MenuItemView* MenuItemView::AppendDelegateMenuItem(int item_id) { + return AppendMenuItem(item_id, string16(), NORMAL); +} + +void MenuItemView::AppendSeparator() { + AppendMenuItemImpl(0, string16(), SkBitmap(), SEPARATOR); +} + +MenuItemView* MenuItemView::AppendMenuItemWithIcon(int item_id, + const string16& label, + const SkBitmap& icon) { + return AppendMenuItemImpl(item_id, label, icon, NORMAL); +} + MenuItemView* MenuItemView::AppendMenuItemFromModel(ui::MenuModel* model, int index, int id) { SkBitmap icon; - std::wstring label; + string16 label; MenuItemView::Type type; ui::MenuModel::ItemType menu_type = model->GetTypeAt(index); switch (menu_type) { case ui::MenuModel::TYPE_COMMAND: model->GetIconAt(index, &icon); type = MenuItemView::NORMAL; - label = UTF16ToWide(model->GetLabelAt(index)); + label = model->GetLabelAt(index); break; case ui::MenuModel::TYPE_CHECK: type = MenuItemView::CHECKBOX; - label = UTF16ToWide(model->GetLabelAt(index)); + label = model->GetLabelAt(index); break; case ui::MenuModel::TYPE_RADIO: type = MenuItemView::RADIO; - label = UTF16ToWide(model->GetLabelAt(index)); + label = model->GetLabelAt(index); break; case ui::MenuModel::TYPE_SEPARATOR: type = MenuItemView::SEPARATOR; @@ -257,7 +292,7 @@ MenuItemView* MenuItemView::AppendMenuItemFromModel(ui::MenuModel* model, case ui::MenuModel::TYPE_SUBMENU: model->GetIconAt(index, &icon); type = MenuItemView::SUBMENU; - label = UTF16ToWide(model->GetLabelAt(index)); + label = model->GetLabelAt(index); break; default: NOTREACHED(); @@ -269,7 +304,7 @@ MenuItemView* MenuItemView::AppendMenuItemFromModel(ui::MenuModel* model, } MenuItemView* MenuItemView::AppendMenuItemImpl(int item_id, - const std::wstring& label, + const string16& label, const SkBitmap& icon, Type type) { const int index = submenu_ ? submenu_->child_count() : 0; @@ -290,8 +325,8 @@ SubmenuView* MenuItemView::GetSubmenu() const { return submenu_; } -void MenuItemView::SetTitle(const std::wstring& title) { - title_ = WideToUTF16Hack(title); +void MenuItemView::SetTitle(const string16& title) { + title_ = title; accessible_name_ = GetAccessibleNameForMenuItem(title_, GetAcceleratorText()); pref_size_.SetSize(0, 0); // Triggers preferred size recalculation. } @@ -498,7 +533,7 @@ void MenuItemView::UpdateMenuPartSizes(bool has_icons) { label_start_ += config.gutter_width + config.gutter_to_label; MenuItemView menu_item(NULL); - menu_item.SetTitle(L"blah"); // Text doesn't matter here. + menu_item.SetTitle(ASCIIToUTF16("blah")); // Text doesn't matter here. pref_menu_height_ = menu_item.GetPreferredSize().height(); } diff --git a/views/controls/menu/menu_item_view.h b/views/controls/menu/menu_item_view.h index bb8add9..68d35ea 100644 --- a/views/controls/menu/menu_item_view.h +++ b/views/controls/menu/menu_item_view.h @@ -9,11 +9,14 @@ #include <string> #include <vector> +#include "build/build_config.h" + #if defined(OS_WIN) #include <windows.h> #endif #include "base/logging.h" +#include "base/string16.h" #include "third_party/skia/include/core/SkBitmap.h" #include "views/view.h" @@ -131,7 +134,7 @@ class VIEWS_EXPORT MenuItemView : public View { // called after adding menu items if the menu may be active. MenuItemView* AddMenuItemAt(int index, int item_id, - const std::wstring& label, + const string16& label, const SkBitmap& icon, Type type); @@ -149,52 +152,38 @@ class VIEWS_EXPORT MenuItemView : public View { // label The text label shown. // type The type of item. MenuItemView* AppendMenuItem(int item_id, - const std::wstring& label, - Type type) { - return AppendMenuItemImpl(item_id, label, SkBitmap(), type); - } + const string16& label, + Type type); // Append a submenu to this menu. // The returned pointer is owned by this menu. MenuItemView* AppendSubMenu(int item_id, - const std::wstring& label) { - return AppendMenuItemImpl(item_id, label, SkBitmap(), SUBMENU); - } + const string16& label); // Append a submenu with an icon to this menu. // The returned pointer is owned by this menu. MenuItemView* AppendSubMenuWithIcon(int item_id, - const std::wstring& label, - const SkBitmap& icon) { - return AppendMenuItemImpl(item_id, label, icon, SUBMENU); - } + const string16& label, + const SkBitmap& icon); // This is a convenience for standard text label menu items where the label // is provided with this call. MenuItemView* AppendMenuItemWithLabel(int item_id, - const std::wstring& label) { - return AppendMenuItem(item_id, label, NORMAL); - } + const string16& label); // This is a convenience for text label menu items where the label is // provided by the delegate. - MenuItemView* AppendDelegateMenuItem(int item_id) { - return AppendMenuItem(item_id, std::wstring(), NORMAL); - } + MenuItemView* AppendDelegateMenuItem(int item_id); // Adds a separator to this menu - void AppendSeparator() { - AppendMenuItemImpl(0, std::wstring(), SkBitmap(), SEPARATOR); - } + void AppendSeparator(); // Appends a menu item with an icon. This is for the menu item which // needs an icon. Calling this function forces the Menu class to draw // the menu, instead of relying on Windows. MenuItemView* AppendMenuItemWithIcon(int item_id, - const std::wstring& label, - const SkBitmap& icon) { - return AppendMenuItemImpl(item_id, label, icon, NORMAL); - } + const string16& label, + const SkBitmap& icon); // Creates a menu item for the specified entry in the model and appends it as // a child. |index| should be offset by GetFirstItemIndex() before calling @@ -205,7 +194,7 @@ class VIEWS_EXPORT MenuItemView : public View { // All the AppendXXX methods funnel into this. MenuItemView* AppendMenuItemImpl(int item_id, - const std::wstring& label, + const string16& label, const SkBitmap& icon, Type type); @@ -223,7 +212,7 @@ class VIEWS_EXPORT MenuItemView : public View { MenuItemView* GetParentMenuItem() const { return parent_menu_item_; } // Sets/Gets the title. - void SetTitle(const std::wstring& title); + void SetTitle(const string16& title); const string16& title() const { return title_; } // Returns the type of this menu. diff --git a/views/controls/menu/native_menu_views.cc b/views/controls/menu/native_menu_views.cc index 9fe5ee8..10d3ccf 100644 --- a/views/controls/menu/native_menu_views.cc +++ b/views/controls/menu/native_menu_views.cc @@ -144,7 +144,7 @@ void NativeMenuViews::UpdateMenuFromModel(SubmenuView* menu, mitem->SetVisible(model->IsVisibleAt(index)); mitem->SetEnabled(model->IsEnabledAt(index)); if (model->IsItemDynamicAt(index)) { - mitem->SetTitle(UTF16ToWide(model->GetLabelAt(index))); + mitem->SetTitle(model->GetLabelAt(index)); } SkBitmap icon; |