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

Side by Side Diff: chrome/browser/chromeos/status/input_method_menu.h

Issue 8585031: [cros, Aura] Make screen_mode static variable in StatusAreaViewChromeos (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: merge Created 9 years, 1 month 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) 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 #ifndef CHROME_BROWSER_CHROMEOS_STATUS_INPUT_METHOD_MENU_H_ 5 #ifndef CHROME_BROWSER_CHROMEOS_STATUS_INPUT_METHOD_MENU_H_
6 #define CHROME_BROWSER_CHROMEOS_STATUS_INPUT_METHOD_MENU_H_ 6 #define CHROME_BROWSER_CHROMEOS_STATUS_INPUT_METHOD_MENU_H_
7 #pragma once 7 #pragma once
8 8
9 #include <string> 9 #include <string>
10 10
11 #include "chrome/browser/chromeos/input_method/input_method_manager.h" 11 #include "chrome/browser/chromeos/input_method/input_method_manager.h"
12 #include "chrome/browser/chromeos/status/status_area_view_chromeos.h"
13 #include "chrome/browser/prefs/pref_member.h" 12 #include "chrome/browser/prefs/pref_member.h"
14 #include "content/public/browser/notification_observer.h" 13 #include "content/public/browser/notification_observer.h"
15 #include "content/public/browser/notification_registrar.h" 14 #include "content/public/browser/notification_registrar.h"
16 #include "content/public/browser/notification_types.h" 15 #include "content/public/browser/notification_types.h"
17 #include "ui/base/models/menu_model.h" 16 #include "ui/base/models/menu_model.h"
18 #include "views/controls/menu/menu_item_view.h" 17 #include "views/controls/menu/menu_item_view.h"
19 #include "views/controls/menu/view_menu_delegate.h" 18 #include "views/controls/menu/view_menu_delegate.h"
20 19
21 class PrefService; 20 class PrefService;
22 class SkBitmap; 21 class SkBitmap;
(...skipping 15 matching lines...) Expand all
38 // create a button widget (e.g. views::MenuButton, StatusAreaButton) 37 // create a button widget (e.g. views::MenuButton, StatusAreaButton)
39 // which shows the dropdown menu on click. 38 // which shows the dropdown menu on click.
40 class InputMethodMenu 39 class InputMethodMenu
41 : public views::ViewMenuDelegate, 40 : public views::ViewMenuDelegate,
42 public ui::MenuModel, 41 public ui::MenuModel,
43 public input_method::InputMethodManager::Observer, 42 public input_method::InputMethodManager::Observer,
44 public input_method::InputMethodManager::PreferenceObserver, 43 public input_method::InputMethodManager::PreferenceObserver,
45 public content::NotificationObserver { 44 public content::NotificationObserver {
46 public: 45 public:
47 InputMethodMenu(PrefService* pref_service, 46 InputMethodMenu(PrefService* pref_service,
48 StatusAreaViewChromeos::ScreenMode screen_mode,
49 bool for_out_of_box_experience_dialog); 47 bool for_out_of_box_experience_dialog);
50 virtual ~InputMethodMenu(); 48 virtual ~InputMethodMenu();
51 49
52 // ui::MenuModel implementation. 50 // ui::MenuModel implementation.
53 virtual bool HasIcons() const; 51 virtual bool HasIcons() const;
54 virtual int GetItemCount() const; 52 virtual int GetItemCount() const;
55 virtual ui::MenuModel::ItemType GetTypeAt(int index) const; 53 virtual ui::MenuModel::ItemType GetTypeAt(int index) const;
56 virtual int GetCommandIdAt(int index) const; 54 virtual int GetCommandIdAt(int index) const;
57 virtual string16 GetLabelAt(int index) const; 55 virtual string16 GetLabelAt(int index) const;
58 virtual bool IsItemDynamicAt(int index) const; 56 virtual bool IsItemDynamicAt(int index) const;
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
161 // property_list.at(property_index) points to the menu item. 159 // property_list.at(property_index) points to the menu item.
162 bool GetPropertyIndex(int index, int* property_index) const; 160 bool GetPropertyIndex(int index, int* property_index) const;
163 161
164 // Returns true if the zero-origin |index| points to the "Configure IME" menu 162 // Returns true if the zero-origin |index| points to the "Configure IME" menu
165 // item. 163 // item.
166 bool IndexPointsToConfigureImeMenuItem(int index) const; 164 bool IndexPointsToConfigureImeMenuItem(int index) const;
167 165
168 // Stops observing InputMethodManager. 166 // Stops observing InputMethodManager.
169 void RemoveObservers(); 167 void RemoveObservers();
170 168
169 // Initializes objects for reading/writing Chrome prefs.
170 void InitializePrefMembers();
171
171 // The current input method list. 172 // The current input method list.
172 scoped_ptr<input_method::InputMethodDescriptors> input_method_descriptors_; 173 scoped_ptr<input_method::InputMethodDescriptors> input_method_descriptors_;
173 174
174 // Objects for reading/writing the Chrome prefs. 175 // Objects for reading/writing the Chrome prefs.
175 StringPrefMember previous_input_method_pref_; 176 StringPrefMember previous_input_method_pref_;
176 StringPrefMember current_input_method_pref_; 177 StringPrefMember current_input_method_pref_;
177 178
178 // We borrow ui::SimpleMenuModel implementation to maintain the current 179 // We borrow ui::SimpleMenuModel implementation to maintain the current
179 // content of the pop-up menu. The ui::MenuModel is implemented using this 180 // content of the pop-up menu. The ui::MenuModel is implemented using this
180 // |model_|. The MenuModelAdapter wraps the model with the 181 // |model_|. The MenuModelAdapter wraps the model with the
181 // views::MenuDelegate interface required for MenuItemView. 182 // views::MenuDelegate interface required for MenuItemView.
182 scoped_ptr<ui::SimpleMenuModel> model_; 183 scoped_ptr<ui::SimpleMenuModel> model_;
183 scoped_ptr<views::MenuModelAdapter> input_method_menu_delegate_; 184 scoped_ptr<views::MenuModelAdapter> input_method_menu_delegate_;
184 views::MenuItemView* input_method_menu_; 185 views::MenuItemView* input_method_menu_;
185 scoped_ptr<views::MenuRunner> input_method_menu_runner_; 186 scoped_ptr<views::MenuRunner> input_method_menu_runner_;
186 187
187 int minimum_input_method_menu_width_; 188 int minimum_input_method_menu_width_;
188 189
189 // Menu alignment (default TOPRIGHT). 190 // Menu alignment (default TOPRIGHT).
190 views::MenuItemView::AnchorPosition menu_alignment_; 191 views::MenuItemView::AnchorPosition menu_alignment_;
191 192
192 PrefService* pref_service_; 193 PrefService* pref_service_;
193 content::NotificationRegistrar registrar_; 194 content::NotificationRegistrar registrar_;
194 195
195 // The mode of the host screen (e.g. browser, screen locker, login screen.)
196 const StatusAreaViewChromeos::ScreenMode screen_mode_;
197 // true if the menu is for a dialog in OOBE screen. In the dialog, we don't 196 // true if the menu is for a dialog in OOBE screen. In the dialog, we don't
198 // use radio buttons. 197 // use radio buttons.
199 const bool for_out_of_box_experience_dialog_; 198 const bool for_out_of_box_experience_dialog_;
200 199
201 DISALLOW_COPY_AND_ASSIGN(InputMethodMenu); 200 DISALLOW_COPY_AND_ASSIGN(InputMethodMenu);
202 }; 201 };
203 202
204 } // namespace chromeos 203 } // namespace chromeos
205 204
206 #endif // CHROME_BROWSER_CHROMEOS_STATUS_INPUT_METHOD_MENU_H_ 205 #endif // CHROME_BROWSER_CHROMEOS_STATUS_INPUT_METHOD_MENU_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698