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