| // Copyright 2014 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef ASH_IME_INPUT_METHOD_MENU_ITEM_H_ |
| #define ASH_IME_INPUT_METHOD_MENU_ITEM_H_ |
| |
| #include <string> |
| #include <vector> |
| #include "ash/ash_export.h" |
| |
| namespace ash { |
| namespace ime { |
| |
| // A structure which represents a property for an input method engine. |
| struct ASH_EXPORT InputMethodMenuItem { |
| InputMethodMenuItem(const std::string& in_key, |
| const std::string& in_label, |
| bool in_is_selection_item, |
| bool in_is_selection_item_checked); |
| |
| InputMethodMenuItem(); |
| ~InputMethodMenuItem(); |
| |
| bool operator==(const InputMethodMenuItem& other) const; |
| bool operator!=(const InputMethodMenuItem& other) const; |
| |
| // Debug print function. |
| std::string ToString() const; |
| |
| std::string key; // A key which identifies the property. Non-empty string. |
| // (e.g. "InputMode.HalfWidthKatakana") |
| std::string label; // A description of the property. Non-empty string. |
| // (e.g. "Switch to full punctuation mode", "Hiragana") |
| bool is_selection_item; // true if the property is a selection item. |
| bool is_selection_item_checked; // true if |is_selection_item| is true and |
| // the selection_item is selected. |
| }; |
| typedef std::vector<InputMethodMenuItem> InputMethodMenuItemList; |
| |
| } // namespace ime |
| } // namespace ash |
| |
| #endif // ASH_IME_INPUT_METHOD_MENU_ITEM_H_ |