1a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 5a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#ifndef ASH_IME_INPUT_METHOD_MENU_ITEM_H_ 6a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#define ASH_IME_INPUT_METHOD_MENU_ITEM_H_ 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <string> 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <vector> 10a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#include "ash/ash_export.h" 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 12a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)namespace ash { 13a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)namespace ime { 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// A structure which represents a property for an input method engine. 16a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)struct ASH_EXPORT InputMethodMenuItem { 17a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) InputMethodMenuItem(const std::string& in_key, 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const std::string& in_label, 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) bool in_is_selection_item, 202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) bool in_is_selection_item_checked); 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 22a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) InputMethodMenuItem(); 23a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) ~InputMethodMenuItem(); 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 25a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) bool operator==(const InputMethodMenuItem& other) const; 26a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) bool operator!=(const InputMethodMenuItem& other) const; 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Debug print function. 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) std::string ToString() const; 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) std::string key; // A key which identifies the property. Non-empty string. 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // (e.g. "InputMode.HalfWidthKatakana") 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) std::string label; // A description of the property. Non-empty string. 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // (e.g. "Switch to full punctuation mode", "Hiragana") 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) bool is_selection_item; // true if the property is a selection item. 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) bool is_selection_item_checked; // true if |is_selection_item| is true and 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // the selection_item is selected. 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 39a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)typedef std::vector<InputMethodMenuItem> InputMethodMenuItemList; 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 41a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)} // namespace ime 42a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)} // namespace ash 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 44a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#endif // ASH_IME_INPUT_METHOD_MENU_ITEM_H_ 45