| Index: views/widget/tooltip_manager.h
|
| diff --git a/views/widget/tooltip_manager.h b/views/widget/tooltip_manager.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..6b4c8d9f30e0cad1de80073b9cf1cbed9edb04ab
|
| --- /dev/null
|
| +++ b/views/widget/tooltip_manager.h
|
| @@ -0,0 +1,68 @@
|
| +// Copyright (c) 2011 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#ifndef VIEWS_WIDGET_TOOLTIP_MANAGER_H_
|
| +#define VIEWS_WIDGET_TOOLTIP_MANAGER_H_
|
| +#pragma once
|
| +
|
| +#include <string>
|
| +
|
| +#include "base/basictypes.h"
|
| +#include "base/string16.h"
|
| +#include "views/views_export.h"
|
| +
|
| +namespace gfx {
|
| +class Font;
|
| +} // namespace gfx
|
| +
|
| +namespace views {
|
| +
|
| +class View;
|
| +
|
| +// TooltipManager takes care of the wiring to support tooltips for Views. You
|
| +// almost never need to interact directly with TooltipManager, rather look to
|
| +// the various tooltip methods on View.
|
| +class VIEWS_EXPORT TooltipManager {
|
| + public:
|
| + // Returns the height of tooltips. This should only be invoked from within
|
| + // GetTooltipTextOrigin.
|
| + static int GetTooltipHeight();
|
| +
|
| + // Returns the default font used by tooltips.
|
| + static gfx::Font GetDefaultFont();
|
| +
|
| + // Returns the maximum width of the tooltip. |x| and |y| give the location
|
| + // the tooltip is to be displayed on in screen coordinates.
|
| + static int GetMaxWidth(int x, int y);
|
| +
|
| + TooltipManager() {}
|
| + virtual ~TooltipManager() {}
|
| +
|
| + // Notification that the view hierarchy has changed in some way.
|
| + virtual void UpdateTooltip() = 0;
|
| +
|
| + // Invoked when the tooltip text changes for the specified views.
|
| + virtual void TooltipTextChanged(View* view) = 0;
|
| +
|
| + // Invoked when toolbar icon gets focus.
|
| + virtual void ShowKeyboardTooltip(View* view) = 0;
|
| +
|
| + // Invoked when toolbar loses focus.
|
| + virtual void HideKeyboardTooltip() = 0;
|
| +
|
| + protected:
|
| + // Trims the tooltip to fit, setting |text| to the clipped result,
|
| + // |max_width| to the width (in pixels) of the clipped text and |line_count|
|
| + // to the number of lines of text in the tooltip. |x| and |y| give the
|
| + // location of the tooltip in screen coordinates.
|
| + static void TrimTooltipToFit(string16* text,
|
| + int* max_width,
|
| + int* line_count,
|
| + int x,
|
| + int y);
|
| +};
|
| +
|
| +} // namespace views
|
| +
|
| +#endif // VIEWS_WIDGET_TOOLTIP_MANAGER_H_
|
|
|