<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2013. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
   <link rel="stylesheet" href="../../../book.css" charset="ISO-8859-1" type="text/css">
   <title>SWT - Hover Help Example</title>
</head>
<body>

<h2>SWT standalone example - Hover Help</h2>

<p>
The Hover Help example shows how to implement custom tooltips and hover help support
on various SWT controls including Buttons, TableItems, ToolItems and TreeItems.
To see the custom tooltips in action, hover over an item or button in the UI, and
notice that images appear in the left-hand corner of the tooltip.
To see the custom hover help in action, hover over an item or button in the UI until
the tooltip is displayed.  Then, without moving the mouse, press <strong>F1</strong> and a new
Shell will be shown with the extended hover help information for the UI element.
</p>	

<h3>Running the example</h3>
<p>
Follow the <a href="swt_manual_setup.html">SWT standalone examples setup</a> 
instructions to install and run the example from your workspace.
</p>
<p>
The "Main" class is <code>org.eclipse.swt.examples.hoverhelp.HoverHelp</code>.
</p>
<p>
This example can also be run using the <a href="swt_launcher_ex.html">Example Launcher</a>.
Select the <strong>Hover Help</strong> item from the <strong>Standalone</strong> category and click <strong>Run</strong>.
</p>

</body>
</html>
