Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(703)

Side by Side Diff: chrome/browser/ui/views/wrench_menu.cc

Issue 5110011: A non-GTK version of menus for touchui. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: fix compile for touch on chromeos Created 10 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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/browser/views/wrench_menu.h" 5 #include "chrome/browser/views/wrench_menu.h"
6 6
7 #include <cmath> 7 #include <cmath>
8 8
9 #include "app/l10n_util.h" 9 #include "app/l10n_util.h"
10 #include "app/resource_bundle.h" 10 #include "app/resource_bundle.h"
(...skipping 665 matching lines...) Expand 10 before | Expand all | Expand 10 after
676 } 676 }
677 } 677 }
678 } 678 }
679 679
680 MenuItemView* WrenchMenu::AppendMenuItem(MenuItemView* parent, 680 MenuItemView* WrenchMenu::AppendMenuItem(MenuItemView* parent,
681 MenuModel* model, 681 MenuModel* model,
682 int index, 682 int index,
683 MenuModel::ItemType menu_type, 683 MenuModel::ItemType menu_type,
684 int* next_id) { 684 int* next_id) {
685 int id = (*next_id)++; 685 int id = (*next_id)++;
686 SkBitmap icon;
687 std::wstring label;
688 MenuItemView::Type type;
689 switch (menu_type) {
690 case MenuModel::TYPE_COMMAND:
691 model->GetIconAt(index, &icon);
692 type = MenuItemView::NORMAL;
693 label = UTF16ToWide(model->GetLabelAt(index));
694 break;
695 case MenuModel::TYPE_CHECK:
696 type = MenuItemView::CHECKBOX;
697 label = UTF16ToWide(model->GetLabelAt(index));
698 break;
699 case MenuModel::TYPE_RADIO:
700 type = MenuItemView::RADIO;
701 label = UTF16ToWide(model->GetLabelAt(index));
702 break;
703 case MenuModel::TYPE_SEPARATOR:
704 type = MenuItemView::SEPARATOR;
705 break;
706 case MenuModel::TYPE_SUBMENU:
707 type = MenuItemView::SUBMENU;
708 label = UTF16ToWide(model->GetLabelAt(index));
709 break;
710 default:
711 NOTREACHED();
712 type = MenuItemView::NORMAL;
713 break;
714 }
715 686
716 id_to_entry_[id].first = model; 687 id_to_entry_[id].first = model;
717 id_to_entry_[id].second = index; 688 id_to_entry_[id].second = index;
718 689
719 MenuItemView* menu_item = parent->AppendMenuItemImpl(id, label, icon, type); 690 MenuItemView* menu_item = parent->AppendMenuItemFromModel(model, index, id);
720 691
721 if (menu_item) 692 if (menu_item)
722 menu_item->SetVisible(model->IsVisibleAt(index)); 693 menu_item->SetVisible(model->IsVisibleAt(index));
723 694
724 if (menu_type == MenuModel::TYPE_COMMAND && model->HasIcons()) { 695 if (menu_type == MenuModel::TYPE_COMMAND && model->HasIcons()) {
725 SkBitmap icon; 696 SkBitmap icon;
726 if (model->GetIconAt(index, &icon)) 697 if (model->GetIconAt(index, &icon))
727 menu_item->SetIcon(icon); 698 menu_item->SetIcon(icon);
728 } 699 }
729 700
730 return menu_item; 701 return menu_item;
731 } 702 }
732 703
733 void WrenchMenu::CancelAndEvaluate(MenuModel* model, int index) { 704 void WrenchMenu::CancelAndEvaluate(MenuModel* model, int index) {
734 selected_menu_model_ = model; 705 selected_menu_model_ = model;
735 selected_index_ = index; 706 selected_index_ = index;
736 root_->Cancel(); 707 root_->Cancel();
737 } 708 }
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/views/native_menu_domui.cc ('k') | views/controls/menu/menu_controller.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698