Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(9)

Side by Side Diff: ui/views/corewm/tooltip_win.h

Issue 916423002: Tooltip Cleanup (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: win build fix Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « ui/views/corewm/tooltip_controller_unittest.cc ('k') | ui/views/corewm/tooltip_win.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef UI_VIEWS_COREWM_TOOLTIP_WIN_H_ 5 #ifndef UI_VIEWS_COREWM_TOOLTIP_WIN_H_
6 #define UI_VIEWS_COREWM_TOOLTIP_WIN_H_ 6 #define UI_VIEWS_COREWM_TOOLTIP_WIN_H_
7 7
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "base/compiler_specific.h" 9 #include "base/compiler_specific.h"
10 #include "base/strings/string16.h" 10 #include "base/strings/string16.h"
11 #include "ui/gfx/geometry/point.h" 11 #include "ui/gfx/geometry/point.h"
12 #include "ui/views/corewm/tooltip.h" 12 #include "ui/views/corewm/tooltip.h"
13 13
14 #include <windows.h> 14 #include <windows.h>
15 #include <commctrl.h> 15 #include <commctrl.h>
16 16
17 namespace views { 17 namespace views {
18 namespace corewm { 18 namespace corewm {
19 19
20 // Implementation of Tooltip that uses the native win32 control for showing the 20 // Implementation of Tooltip that uses the native win32 control for showing the
21 // tooltip. 21 // tooltip.
22 class VIEWS_EXPORT TooltipWin : public Tooltip { 22 class VIEWS_EXPORT TooltipWin : public Tooltip {
23 public: 23 public:
24 explicit TooltipWin(HWND parent); 24 explicit TooltipWin(HWND parent);
25 virtual ~TooltipWin(); 25 ~TooltipWin() override;
26 26
27 // HandleNotify() is forwarded from DesktopWindowTreeHostWin to keep the 27 // HandleNotify() is forwarded from DesktopWindowTreeHostWin to keep the
28 // native tooltip in sync. 28 // native tooltip in sync.
29 bool HandleNotify(int w_param, NMHDR* l_param, LRESULT* l_result); 29 bool HandleNotify(int w_param, NMHDR* l_param, LRESULT* l_result);
30 30
31 private: 31 private:
32 // Ensures |tooltip_hwnd_| is valid. Returns true if valid, false if there 32 // Ensures |tooltip_hwnd_| is valid. Returns true if valid, false if there
33 // a problem creating |tooltip_hwnd_|. 33 // a problem creating |tooltip_hwnd_|.
34 bool EnsureTooltipWindow(); 34 bool EnsureTooltipWindow();
35 35
36 // Sets the position of the tooltip. 36 // Sets the position of the tooltip.
37 void PositionTooltip(); 37 void PositionTooltip();
38 38
39 // Tooltip: 39 // Tooltip:
40 virtual void SetText(aura::Window* window, 40 int GetMaxWidth(const gfx::Point& location,
41 const base::string16& tooltip_text, 41 aura::Window* context) const override;
42 const gfx::Point& location) override; 42 void SetText(aura::Window* window,
43 virtual void Show() override; 43 const base::string16& tooltip_text,
44 virtual void Hide() override; 44 const gfx::Point& location) override;
45 virtual bool IsVisible() override; 45 void Show() override;
46 void Hide() override;
47 bool IsVisible() override;
46 48
47 // The window |tooltip_hwnd_| is parented to. 49 // The window |tooltip_hwnd_| is parented to.
48 HWND parent_hwnd_; 50 HWND parent_hwnd_;
49 51
50 // Shows the tooltip. 52 // Shows the tooltip.
51 HWND tooltip_hwnd_; 53 HWND tooltip_hwnd_;
52 54
53 // Used to modify the tooltip. 55 // Used to modify the tooltip.
54 TOOLINFO toolinfo_; 56 TOOLINFO toolinfo_;
55 57
56 // Is the tooltip showing? 58 // Is the tooltip showing?
57 bool showing_; 59 bool showing_;
58 60
59 // Location to show the tooltip at. In order to position the tooltip we need 61 // Location to show the tooltip at. In order to position the tooltip we need
60 // to know the size. The size is only available from TTN_SHOW, so we have to 62 // to know the size. The size is only available from TTN_SHOW, so we have to
61 // cache it. 63 // cache it.
62 gfx::Point location_; 64 gfx::Point location_;
63 65
64 DISALLOW_COPY_AND_ASSIGN(TooltipWin); 66 DISALLOW_COPY_AND_ASSIGN(TooltipWin);
65 }; 67 };
66 68
67 } // namespace corewm 69 } // namespace corewm
68 } // namespace views 70 } // namespace views
69 71
70 #endif // UI_VIEWS_COREWM_TOOLTIP_WIN_H_ 72 #endif // UI_VIEWS_COREWM_TOOLTIP_WIN_H_
OLDNEW
« no previous file with comments | « ui/views/corewm/tooltip_controller_unittest.cc ('k') | ui/views/corewm/tooltip_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698