1// Copyright (c) 2011 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 UI_VIEWS_WIDGET_TOOLTIP_MANAGER_AURA_H_ 6#define UI_VIEWS_WIDGET_TOOLTIP_MANAGER_AURA_H_ 7 8#include "base/compiler_specific.h" 9#include "base/strings/string16.h" 10#include "ui/gfx/point.h" 11#include "ui/views/widget/tooltip_manager.h" 12 13namespace aura { 14class RootWindow; 15class Window; 16} 17 18namespace views { 19 20class Widget; 21 22// TooltipManager implementation for Aura. 23class TooltipManagerAura : public TooltipManager { 24 public: 25 TooltipManagerAura(aura::Window* window, Widget* widget); 26 virtual ~TooltipManagerAura(); 27 28 // TooltipManager. 29 virtual void UpdateTooltip() OVERRIDE; 30 virtual void TooltipTextChanged(View* view) OVERRIDE; 31 virtual void ShowKeyboardTooltip(View* view) OVERRIDE; 32 virtual void HideKeyboardTooltip() OVERRIDE; 33 34 private: 35 View* GetViewUnderPoint(const gfx::Point& point); 36 void UpdateTooltipForTarget(View* target, 37 const gfx::Point& point, 38 aura::RootWindow* root_window); 39 40 aura::Window* window_; 41 Widget* widget_; 42 string16 tooltip_text_; 43 44 DISALLOW_COPY_AND_ASSIGN(TooltipManagerAura); 45}; 46 47} // namespace views 48 49#endif // UI_VIEWS_WIDGET_TOOLTIP_MANAGER_AURA_H_ 50