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.
5 #include "ui/wm/public/tooltip_client.h"
7 #include "ui/aura/window.h"
8 #include "ui/aura/window_property.h"
10 DECLARE_WINDOW_PROPERTY_TYPE(aura::client::TooltipClient
*)
11 DECLARE_WINDOW_PROPERTY_TYPE(base::string16
*)
16 DEFINE_LOCAL_WINDOW_PROPERTY_KEY(
17 TooltipClient
*, kRootWindowTooltipClientKey
, NULL
);
18 DEFINE_LOCAL_WINDOW_PROPERTY_KEY(base::string16
*, kTooltipTextKey
, NULL
);
20 void SetTooltipClient(Window
* root_window
, TooltipClient
* client
) {
21 DCHECK_EQ(root_window
->GetRootWindow(), root_window
);
22 root_window
->SetProperty(kRootWindowTooltipClientKey
, client
);
25 TooltipClient
* GetTooltipClient(Window
* root_window
) {
27 DCHECK_EQ(root_window
->GetRootWindow(), root_window
);
29 root_window
->GetProperty(kRootWindowTooltipClientKey
) : NULL
;
32 void SetTooltipText(Window
* window
, base::string16
* tooltip_text
) {
33 window
->SetProperty(kTooltipTextKey
, tooltip_text
);
36 const base::string16
GetTooltipText(Window
* window
) {
37 base::string16
* string_ptr
= window
->GetProperty(kTooltipTextKey
);
38 return string_ptr
? *string_ptr
: base::string16();