diff options
Diffstat (limited to 'examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet125.java')
-rw-r--r-- | examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet125.java | 113 |
1 files changed, 0 insertions, 113 deletions
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet125.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet125.java deleted file mode 100644 index d1ab757e0f..0000000000 --- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet125.java +++ /dev/null @@ -1,113 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2005 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.snippets; - -/* - * Tool Tips example snippet: create fake tool tips for items in a table - * - * For a list of all SWT example snippets see - * http://www.eclipse.org/swt/snippets/ - */ -import org.eclipse.swt.*; -import org.eclipse.swt.graphics.*; -import org.eclipse.swt.layout.*; -import org.eclipse.swt.widgets.*; - -public class Snippet125 { - -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 labelListener = new Listener () { - public void handleEvent (Event event) { - Label label = (Label)event.widget; - Shell shell = label.getShell (); - switch (event.type) { - case SWT.MouseDown: - Event e = new Event (); - e.item = (TableItem) label.getData ("_TABLEITEM"); - // Assuming table is single select, set the selection as if - // the mouse down event went through to the table - 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; - Label label = null; - public void handleEvent (Event event) { - switch (event.type) { - case SWT.Dispose: - case SWT.KeyDown: - case SWT.MouseMove: { - if (tip == null) break; - tip.dispose (); - tip = null; - label = null; - 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)); - FillLayout layout = new FillLayout (); - layout.marginWidth = 2; - tip.setLayout (layout); - label = new Label (tip, SWT.NONE); - label.setForeground (display.getSystemColor (SWT.COLOR_INFO_FOREGROUND)); - label.setBackground (display.getSystemColor (SWT.COLOR_INFO_BACKGROUND)); - label.setData ("_TABLEITEM", item); - label.setText (item.getText ()); - label.addListener (SWT.MouseExit, labelListener); - label.addListener (SWT.MouseDown, labelListener); - Point size = tip.computeSize (SWT.DEFAULT, SWT.DEFAULT); - Rectangle rect = item.getBounds (0); - Point pt = table.toDisplay (rect.x, rect.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(); -} -} |