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 14 namespace chromeos { 15 namespace options { 16 17 // Pointer settings overlay page UI handler. 18 class 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( 27 base::DictionaryValue* localized_strings) OVERRIDE; 28 29 private: 30 // PointerDeviceObserver implementation. 31 virtual void TouchpadExists(bool exists) OVERRIDE; 32 virtual void MouseExists(bool exists) OVERRIDE; 33 34 // Set the title dynamically based on whether a touchpad and/or mouse is 35 // detected. 36 void UpdateTitle(); 37 38 bool has_touchpad_; 39 bool has_mouse_; 40 41 DISALLOW_COPY_AND_ASSIGN(PointerHandler); 42 }; 43 44 } // namespace options 45 } // namespace chromeos 46 47 #endif // CHROME_BROWSER_UI_WEBUI_OPTIONS_CHROMEOS_POINTER_HANDLER_H_ 48