1 // Copyright (c) 2012 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 CHROME_BROWSER_CHROMEOS_INPUT_METHOD_INPUT_METHOD_PROPERTY_H_
6 #define CHROME_BROWSER_CHROMEOS_INPUT_METHOD_INPUT_METHOD_PROPERTY_H_
12 namespace input_method
{
14 // A structure which represents a property for an input method engine.
15 struct InputMethodProperty
{
16 InputMethodProperty(const std::string
& in_key
,
17 const std::string
& in_label
,
18 bool in_is_selection_item
,
19 bool in_is_selection_item_checked
,
20 int in_selection_item_id
);
22 InputMethodProperty();
23 ~InputMethodProperty();
25 bool operator==(const InputMethodProperty
& other
) const;
26 bool operator!=(const InputMethodProperty
& 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.
38 int selection_item_id
; // A group ID (>= 0) of the selection item.
39 // kInvalidSelectionItemId if |is_selection_item| is
41 static const int kInvalidSelectionItemId
= -1;
43 typedef std::vector
<InputMethodProperty
> InputMethodPropertyList
;
45 } // namespace input_method
46 } // namespace chromeos
48 #endif // CHROME_BROWSER_CHROMEOS_INPUT_METHOD_INPUT_METHOD_PROPERTY_H_