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. 4 5#ifndef CHROME_BROWSER_UI_WEBUI_OPTIONS_CHROMEOS_POINTER_HANDLER_H_ 6#define CHROME_BROWSER_UI_WEBUI_OPTIONS_CHROMEOS_POINTER_HANDLER_H_ 7 8#include "base/compiler_specific.h" 9#include "base/memory/weak_ptr.h" 10#include "base/prefs/pref_member.h" 11#include "chrome/browser/chromeos/system/pointer_device_observer.h" 12#include "chrome/browser/ui/webui/options/options_ui.h" 13 14namespace chromeos { 15namespace options { 16 17// Pointer settings overlay page UI handler. 18class PointerHandler 19 : public ::options::OptionsPageUIHandler, 20 public chromeos::system::PointerDeviceObserver::Observer { 21 public: 22 PointerHandler(); 23 virtual ~PointerHandler(); 24 25 // OptionsPageUIHandler implementation. 26 virtual void GetLocalizedValues(DictionaryValue* localized_strings) OVERRIDE; 27 28 private: 29 // PointerDeviceObserver implementation. 30 virtual void TouchpadExists(bool exists) OVERRIDE; 31 virtual void MouseExists(bool exists) OVERRIDE; 32 33 // Set the title dynamically based on whether a touchpad and/or mouse is 34 // detected. 35 void UpdateTitle(); 36 37 bool has_touchpad_; 38 bool has_mouse_; 39 40 DISALLOW_COPY_AND_ASSIGN(PointerHandler); 41}; 42 43} // namespace options 44} // namespace chromeos 45 46#endif // CHROME_BROWSER_UI_WEBUI_OPTIONS_CHROMEOS_POINTER_HANDLER_H_ 47