diff options
author | Steve Northover <steve> | 2005-05-06 14:39:10 +0000 |
---|---|---|
committer | Steve Northover <steve> | 2005-05-06 14:39:10 +0000 |
commit | 039da5b6cb01deacaa42e0c472d7c59171188a10 (patch) | |
tree | e724ef8d2b3f3675ea92db17262e7d473c68a0f2 | |
parent | fa90e52866d19d59f6434b27557ff6928fecfc6f (diff) | |
download | eclipse.platform.swt-039da5b6cb01deacaa42e0c472d7c59171188a10.tar.gz eclipse.platform.swt-039da5b6cb01deacaa42e0c472d7c59171188a10.tar.xz eclipse.platform.swt-039da5b6cb01deacaa42e0c472d7c59171188a10.zip |
*** empty log message ***
-rw-r--r-- | examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet191.java | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet191.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet191.java new file mode 100644 index 0000000000..28c93d6b9d --- /dev/null +++ b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet191.java @@ -0,0 +1,69 @@ +/******************************************************************************* + * 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; + +import org.eclipse.swt.*; +import org.eclipse.swt.graphics.*; +import org.eclipse.swt.layout.*; +import org.eclipse.swt.widgets.*; + +/* + * Detect when the user scrolls a text control + * + * For a list of all SWT example snippets see + * http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-swt-home/dev.html#snippets + */ + +public class Snippet191 { +public static void main(String[] args) { + Display display = new Display (); + Shell shell = new Shell (display); + shell.setLayout (new FillLayout ()); + final Text text = new Text (shell, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL); + for (int i=0; i<32; i++) { + text.append (i + "-This is a line of text in a widget-" + i + "\n"); + } + text.setSelection (0); + Listener listener = new Listener () { + int lastIndex = text.getTopIndex (); + public void handleEvent (Event e) { + int index = text.getTopIndex (); + if (index != lastIndex) { + lastIndex = index; + System.out.println ("Scrolled, topIndex=" + index); + } + } + }; + /* NOTE: Only detects scrolling by the user */ + text.addListener (SWT.MouseDown, listener); + text.addListener (SWT.MouseMove, listener); + text.addListener (SWT.MouseUp, listener); + text.addListener (SWT.KeyDown, listener); + text.addListener (SWT.KeyUp, listener); + text.addListener (SWT.Resize, listener); + ScrollBar hBar = text.getHorizontalBar(); + if (hBar != null) { + hBar.addListener (SWT.Selection, listener); + } + ScrollBar vBar = text.getVerticalBar(); + if (vBar != null) { + vBar.addListener (SWT.Selection, listener); + } + shell.pack (); + Point size = shell.computeSize (SWT.DEFAULT, SWT.DEFAULT); + shell.setSize (size. x - 32, size.y / 2); + shell.open (); + while (!shell.isDisposed ()) { + if (!display.readAndDispatch ()) display.sleep (); + } + display.dispose (); +} +}
\ No newline at end of file |