Roll src/third_party/WebKit 06cb9e9:a978ee5 (svn 202558:202559)
[chromium-blink-merge.git] / ui / chromeos / ime / input_method_menu_item.h
blob016e4b3fcbce4393dc3c1f64a79decac3ed9d2e6
1 // Copyright 2014 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.
5 #ifndef UI_CHROMEOS_IME_INPUT_METHOD_MENU_ITEM_H_
6 #define UI_CHROMEOS_IME_INPUT_METHOD_MENU_ITEM_H_
8 #include <string>
9 #include <vector>
10 #include "ui/chromeos/ui_chromeos_export.h"
12 namespace ui {
13 namespace ime {
15 // A structure which represents a property for an input method engine.
16 struct UI_CHROMEOS_EXPORT InputMethodMenuItem {
17 InputMethodMenuItem(const std::string& in_key,
18 const std::string& in_label,
19 bool in_is_selection_item,
20 bool in_is_selection_item_checked);
22 InputMethodMenuItem();
23 ~InputMethodMenuItem();
25 bool operator==(const InputMethodMenuItem& other) const;
26 bool operator!=(const InputMethodMenuItem& other) const;
28 // Debug print function.
29 std::string ToString() const;
31 std::string key; // A key which identifies the property. Non-empty string.
32 // (e.g. "InputMode.HalfWidthKatakana")
33 std::string label; // A description of the property. Non-empty string.
34 // (e.g. "Switch to full punctuation mode", "Hiragana")
35 bool is_selection_item; // true if the property is a selection item.
36 bool is_selection_item_checked; // true if |is_selection_item| is true and
37 // the selection_item is selected.
39 typedef std::vector<InputMethodMenuItem> InputMethodMenuItemList;
41 } // namespace ime
42 } // namespace ui
44 #endif // UI_CHROMEOS_IME_INPUT_METHOD_MENU_ITEM_H_