OLD | NEW |
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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 #include "chrome/views/widget/tooltip_manager.h" |
| 6 |
5 #include <limits> | 7 #include <limits> |
6 | 8 |
7 #include "chrome/common/gfx/chrome_font.h" | |
8 #include "base/logging.h" | 9 #include "base/logging.h" |
9 #include "base/message_loop.h" | 10 #include "base/message_loop.h" |
10 #include "chrome/common/l10n_util.h" | 11 #include "chrome/common/l10n_util.h" |
11 #include "chrome/common/l10n_util_win.h" | 12 #include "chrome/common/l10n_util_win.h" |
12 #include "chrome/common/gfx/text_elider.h" | 13 #include "chrome/common/gfx/text_elider.h" |
13 #include "chrome/common/win_util.h" | 14 #include "chrome/common/win_util.h" |
14 #include "chrome/views/view.h" | 15 #include "chrome/views/view.h" |
15 #include "chrome/views/widget/root_view.h" | 16 #include "chrome/views/widget/root_view.h" |
16 #include "chrome/views/widget/tooltip_manager.h" | |
17 #include "chrome/views/widget/widget.h" | 17 #include "chrome/views/widget/widget.h" |
18 | 18 |
19 namespace views { | 19 namespace views { |
20 | 20 |
21 //static | 21 //static |
22 int TooltipManager::tooltip_height_ = 0; | 22 int TooltipManager::tooltip_height_ = 0; |
23 | 23 |
24 // Default timeout for the tooltip displayed using keyboard. | 24 // Default timeout for the tooltip displayed using keyboard. |
25 // Timeout is mentioned in milliseconds. | 25 // Timeout is mentioned in milliseconds. |
26 static const int kDefaultTimeout = 4000; | 26 static const int kDefaultTimeout = 4000; |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
100 DestroyWindow(keyboard_tooltip_hwnd_); | 100 DestroyWindow(keyboard_tooltip_hwnd_); |
101 } | 101 } |
102 | 102 |
103 void TooltipManager::Init() { | 103 void TooltipManager::Init() { |
104 // Create the tooltip control. | 104 // Create the tooltip control. |
105 tooltip_hwnd_ = CreateWindowEx( | 105 tooltip_hwnd_ = CreateWindowEx( |
106 WS_EX_TRANSPARENT | l10n_util::GetExtendedTooltipStyles(), | 106 WS_EX_TRANSPARENT | l10n_util::GetExtendedTooltipStyles(), |
107 TOOLTIPS_CLASS, NULL, TTS_NOPREFIX, 0, 0, 0, 0, | 107 TOOLTIPS_CLASS, NULL, TTS_NOPREFIX, 0, 0, 0, 0, |
108 parent_, NULL, NULL, NULL); | 108 parent_, NULL, NULL, NULL); |
109 | 109 |
| 110 l10n_util::AdjustUIFontForWindow(tooltip_hwnd_); |
| 111 |
110 // This effectively turns off clipping of tooltips. We need this otherwise | 112 // This effectively turns off clipping of tooltips. We need this otherwise |
111 // multi-line text (\r\n) won't work right. The size doesn't really matter | 113 // multi-line text (\r\n) won't work right. The size doesn't really matter |
112 // (just as long as its bigger than the monitor's width) as we clip to the | 114 // (just as long as its bigger than the monitor's width) as we clip to the |
113 // screen size before rendering. | 115 // screen size before rendering. |
114 SendMessage(tooltip_hwnd_, TTM_SETMAXTIPWIDTH, 0, | 116 SendMessage(tooltip_hwnd_, TTM_SETMAXTIPWIDTH, 0, |
115 std::numeric_limits<short>::max()); | 117 std::numeric_limits<short>::max()); |
116 | 118 |
117 // Add one tool that is used for all tooltips. | 119 // Add one tool that is used for all tooltips. |
118 toolinfo_.cbSize = sizeof(toolinfo_); | 120 toolinfo_.cbSize = sizeof(toolinfo_); |
119 toolinfo_.uFlags = TTF_TRANSPARENT | TTF_IDISHWND; | 121 toolinfo_.uFlags = TTF_TRANSPARENT | TTF_IDISHWND; |
(...skipping 316 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
436 keyboard_tooltip_hwnd_ = NULL; | 438 keyboard_tooltip_hwnd_ = NULL; |
437 } | 439 } |
438 } | 440 } |
439 | 441 |
440 void TooltipManager::DestroyKeyboardTooltipWindow(HWND window_to_destroy) { | 442 void TooltipManager::DestroyKeyboardTooltipWindow(HWND window_to_destroy) { |
441 if (keyboard_tooltip_hwnd_ == window_to_destroy) | 443 if (keyboard_tooltip_hwnd_ == window_to_destroy) |
442 HideKeyboardTooltip(); | 444 HideKeyboardTooltip(); |
443 } | 445 } |
444 | 446 |
445 } // namespace views | 447 } // namespace views |
OLD | NEW |