summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteve Northover <steve>2005-05-06 14:39:10 +0000
committerSteve Northover <steve>2005-05-06 14:39:10 +0000
commit039da5b6cb01deacaa42e0c472d7c59171188a10 (patch)
treee724ef8d2b3f3675ea92db17262e7d473c68a0f2
parentfa90e52866d19d59f6434b27557ff6928fecfc6f (diff)
downloadeclipse.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.java69
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