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(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