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

Side by Side Diff: ui/base/models/button_menu_item_model.cc

Issue 851853002: It is time. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Trying to reup because the last upload failed. Created 5 years, 11 months 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
« no previous file with comments | « ui/base/models/button_menu_item_model.h ('k') | ui/base/models/combobox_model.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
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
3 // found in the LICENSE file.
4
5 #include "ui/base/models/button_menu_item_model.h"
6
7 #include "ui/base/l10n/l10n_util.h"
8
9 namespace ui {
10
11 bool ButtonMenuItemModel::Delegate::IsItemForCommandIdDynamic(
12 int command_id) const {
13 return false;
14 }
15
16 base::string16 ButtonMenuItemModel::Delegate::GetLabelForCommandId(
17 int command_id) const {
18 return base::string16();
19 }
20
21 bool ButtonMenuItemModel::Delegate::IsCommandIdEnabled(int command_id) const {
22 return true;
23 }
24
25 bool ButtonMenuItemModel::Delegate::DoesCommandIdDismissMenu(
26 int command_id) const {
27 return true;
28 }
29
30 struct ButtonMenuItemModel::Item {
31 int command_id;
32 ButtonType type;
33 base::string16 label;
34 int icon_idr;
35 bool part_of_group;
36 };
37
38 ButtonMenuItemModel::ButtonMenuItemModel(
39 int string_id,
40 ButtonMenuItemModel::Delegate* delegate)
41 : item_label_(l10n_util::GetStringUTF16(string_id)),
42 delegate_(delegate) {
43 }
44
45 ButtonMenuItemModel::~ButtonMenuItemModel() {
46 }
47
48 void ButtonMenuItemModel::AddGroupItemWithStringId(
49 int command_id, int string_id) {
50 Item item = { command_id, TYPE_BUTTON, l10n_util::GetStringUTF16(string_id),
51 -1, true };
52 items_.push_back(item);
53 }
54
55 void ButtonMenuItemModel::AddItemWithImage(int command_id,
56 int icon_idr) {
57 Item item = { command_id, TYPE_BUTTON, base::string16(), icon_idr, false };
58 items_.push_back(item);
59 }
60
61 void ButtonMenuItemModel::AddButtonLabel(int command_id, int string_id) {
62 Item item = { command_id, TYPE_BUTTON_LABEL,
63 l10n_util::GetStringUTF16(string_id), -1, false };
64 items_.push_back(item);
65 }
66
67 void ButtonMenuItemModel::AddSpace() {
68 Item item = { 0, TYPE_SPACE, base::string16(), -1, false };
69 items_.push_back(item);
70 }
71
72 int ButtonMenuItemModel::GetItemCount() const {
73 return static_cast<int>(items_.size());
74 }
75
76 ButtonMenuItemModel::ButtonType ButtonMenuItemModel::GetTypeAt(
77 int index) const {
78 return items_[index].type;
79 }
80
81 int ButtonMenuItemModel::GetCommandIdAt(int index) const {
82 return items_[index].command_id;
83 }
84
85 bool ButtonMenuItemModel::IsItemDynamicAt(int index) const {
86 if (delegate_)
87 return delegate_->IsItemForCommandIdDynamic(GetCommandIdAt(index));
88 return false;
89 }
90
91 base::string16 ButtonMenuItemModel::GetLabelAt(int index) const {
92 if (IsItemDynamicAt(index))
93 return delegate_->GetLabelForCommandId(GetCommandIdAt(index));
94 return items_[index].label;
95 }
96
97 bool ButtonMenuItemModel::GetIconAt(int index, int* icon_idr) const {
98 if (items_[index].icon_idr == -1)
99 return false;
100
101 *icon_idr = items_[index].icon_idr;
102 return true;
103 }
104
105 bool ButtonMenuItemModel::PartOfGroup(int index) const {
106 return items_[index].part_of_group;
107 }
108
109 void ButtonMenuItemModel::ActivatedCommand(int command_id) {
110 if (delegate_)
111 delegate_->ExecuteCommand(command_id, 0);
112 }
113
114 bool ButtonMenuItemModel::IsEnabledAt(int index) const {
115 return IsCommandIdEnabled(items_[index].command_id);
116 }
117
118 bool ButtonMenuItemModel::DismissesMenuAt(int index) const {
119 return DoesCommandIdDismissMenu(items_[index].command_id);
120 }
121
122 bool ButtonMenuItemModel::IsCommandIdEnabled(int command_id) const {
123 if (delegate_)
124 return delegate_->IsCommandIdEnabled(command_id);
125 return true;
126 }
127
128 bool ButtonMenuItemModel::DoesCommandIdDismissMenu(int command_id) const {
129 if (delegate_)
130 return delegate_->DoesCommandIdDismissMenu(command_id);
131 return true;
132 }
133
134
135 } // namespace ui
OLDNEW
« no previous file with comments | « ui/base/models/button_menu_item_model.h ('k') | ui/base/models/combobox_model.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698