Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 104565 Details for
Bug 236698
Simple HTML Rendering for Labels and Tooltips
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
SWT snippet of an HTML tooltip
htmlTooltipSnippet.java (text/plain), 3.86 KB, created by
Stuart Pond
on 2008-06-11 17:56:09 EDT
(
hide
)
Description:
SWT snippet of an HTML tooltip
Filename:
MIME Type:
Creator:
Stuart Pond
Created:
2008-06-11 17:56:09 EDT
Size:
3.86 KB
patch
obsolete
>package testsnippets; > >import org.eclipse.swt.SWT; >import org.eclipse.swt.browser.Browser; >import org.eclipse.swt.graphics.Point; >import org.eclipse.swt.layout.FillLayout; >import org.eclipse.swt.layout.GridData; >import org.eclipse.swt.layout.GridLayout; >import org.eclipse.swt.widgets.Display; >import org.eclipse.swt.widgets.Event; >import org.eclipse.swt.widgets.Listener; >import org.eclipse.swt.widgets.Shell; >import org.eclipse.swt.widgets.Table; >import org.eclipse.swt.widgets.TableItem; > >public class htmlTooltipSnippet { > public static void main (String[] args) { > final Display display = new Display (); > final Shell shell = new Shell (display); > shell.setLayout (new FillLayout ()); > final Table table = new Table (shell, SWT.BORDER); > for (int i = 0; i < 20; i++) { > TableItem item = new TableItem (table, SWT.NONE); > item.setText ("item " + i); > } > // Disable native tooltip > table.setToolTipText (""); > > // Implement a "fake" tooltip > final Listener browserListener = new Listener () { > public void handleEvent (Event event) { > Browser browser = (Browser)event.widget; > Shell shell = browser.getShell (); > switch (event.type) { > case SWT.MouseDown: > Event e = new Event (); > e.item = (TableItem) browser.getData ("_TABLEITEM"); > table.setSelection (new TableItem [] {(TableItem) e.item}); > table.notifyListeners (SWT.Selection, e); > shell.dispose (); > table.setFocus(); > break; > case SWT.MouseExit: > shell.dispose (); > break; > } > } > }; > > Listener tableListener = new Listener () { > Shell tip = null; > Browser browser = null; > > public void handleEvent (Event event) { > switch (event.type) > { > case SWT.MouseMove: > case SWT.Dispose: > case SWT.KeyDown: > { > if (tip == null) break; > > tip.dispose (); > break; > } > > case SWT.MouseHover: { > > TableItem item = table.getItem (new Point (event.x, event.y)); > > if (item != null) { > if (tip != null && !tip.isDisposed ()) tip.dispose (); > tip = new Shell (shell, SWT.ON_TOP | SWT.NO_FOCUS | SWT.TOOL); > tip.setBackground (display.getSystemColor (SWT.COLOR_INFO_BACKGROUND)); > > > GridLayout l = new GridLayout(1,false); > l.horizontalSpacing=0; > l.marginWidth=0; > l.marginHeight=0; > l.verticalSpacing=0; > > tip.setLayout(l); > > String htmlText = "<html><body><font size=2><p> Here is some html text ***************.</p><p>  This is tooltip text ****************.  </p> </font></body></html>"; > browser = new Browser (tip, SWT.NONE); > browser.setForeground (display.getSystemColor (SWT.COLOR_INFO_FOREGROUND)); > browser.setBackground (display.getSystemColor (SWT.COLOR_INFO_BACKGROUND)); > browser.setData ("_TABLEITEM", item); > browser.setText (htmlText); > browser.addListener (SWT.MouseExit, browserListener); > browser.addListener (SWT.MouseDown, browserListener); > > browser.setLayoutData(new GridData(220,90)); > > Point size = tip.computeSize (SWT.DEFAULT, SWT.DEFAULT); > //Point size = browser.computeSize (SWT.DEFAULT, SWT.DEFAULT); > //Point size = tip.getSize(); > Point pt = table.toDisplay (event.x, event.y); > tip.setBounds (pt.x, pt.y, size.x, size.y); > tip.setVisible (true); > } > } > } > } > }; > table.addListener (SWT.Dispose, tableListener); > table.addListener (SWT.KeyDown, tableListener); > table.addListener (SWT.MouseMove, tableListener); > table.addListener (SWT.MouseHover, tableListener); > shell.pack (); > shell.open(); > while (!shell.isDisposed()) { > if (!display.readAndDispatch()) > display.sleep(); > } > display.dispose(); > } >}
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 236698
: 104565