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)#include "ash/ime/input_method_menu_item.h"
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <sstream>
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/logging.h"
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
11a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)namespace ash {
12a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)namespace ime {
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
14a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)InputMethodMenuItem::InputMethodMenuItem(const std::string& in_key,
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                                         const std::string& in_label,
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                                         bool in_is_selection_item,
172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                                         bool in_is_selection_item_checked)
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    : key(in_key),
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      label(in_label),
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      is_selection_item(in_is_selection_item),
212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      is_selection_item_checked(in_is_selection_item_checked) {
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  DCHECK(!key.empty());
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
25a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)InputMethodMenuItem::InputMethodMenuItem()
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    : is_selection_item(false),
272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      is_selection_item_checked(false) {
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
30a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)InputMethodMenuItem::~InputMethodMenuItem() {
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
33a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)bool InputMethodMenuItem::operator==(const InputMethodMenuItem& other) const {
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return key == other.key &&
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      label == other.label &&
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      is_selection_item == other.is_selection_item &&
372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      is_selection_item_checked == other.is_selection_item_checked;
385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
40a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)bool InputMethodMenuItem::operator!=(const InputMethodMenuItem& other) const {
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return !(*this == other);
425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
44a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)std::string InputMethodMenuItem::ToString() const {
455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  std::stringstream stream;
465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  stream << "key=" << key
475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)         << ", label=" << label
485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)         << ", is_selection_item=" << is_selection_item
492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)         << ", is_selection_item_checked=" << is_selection_item_checked;
505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return stream.str();
515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
53a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)}  // namespace ime
54a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)}  // namespace ash
55