summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorGrant Gayed <ggayed>2003-03-03 18:42:53 +0000
committerGrant Gayed <ggayed>2003-03-03 18:42:53 +0000
commit6280582456173ac3d0cc9390487719209aaed8a2 (patch)
treeb4a99f98b9951ac388e02a31ff45906e6b5d0c9f /examples
parentc9b810c1536ad8f7aba1954c07c88beda01f74dc (diff)
downloadeclipse.platform.swt-6280582456173ac3d0cc9390487719209aaed8a2.tar.gz
eclipse.platform.swt-6280582456173ac3d0cc9390487719209aaed8a2.tar.xz
eclipse.platform.swt-6280582456173ac3d0cc9390487719209aaed8a2.zip
*** empty log message ***
Diffstat (limited to 'examples')
-rwxr-xr-xexamples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ControlExample.java120
-rw-r--r--examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/EventConsole.java95
-rwxr-xr-xexamples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/Tab.java22
3 files changed, 111 insertions, 126 deletions
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ControlExample.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ControlExample.java
index a4b66e308d..1a64517dd3 100755
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ControlExample.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/ControlExample.java
@@ -8,6 +8,7 @@ package org.eclipse.swt.examples.controlexample;
*/
import org.eclipse.swt.*;
+import org.eclipse.swt.custom.*;
import org.eclipse.swt.graphics.*;
import org.eclipse.swt.layout.*;
import org.eclipse.swt.widgets.*;
@@ -19,19 +20,33 @@ public class ControlExample {
private static ResourceBundle resourceBundle =
ResourceBundle.getBundle("examples_control");
private ShellTab shellTab;
+ private SashForm form;
private TabFolder tabFolder;
- private EventConsole eventConsole;
+ private Text eventConsole;
+ private boolean logging = false;
+ private boolean [] eventsFilter = new boolean [35];
static boolean standAlone = false;
+ Image images[];
- static final int
- ciClosedFolder = 0,
- ciOpenFolder = 1,
- ciTarget = 2;
+ static final int ciClosedFolder = 0, ciOpenFolder = 1, ciTarget = 2;
static final String[] imageLocations = {
"closedFolder.gif",
"openFolder.gif",
"target.gif" };
- Image images[];
+ static final String [] EVENT_TYPES = { "",
+ "KeyDown", "KeyUp", "MouseDown", "MouseUp", "MouseMove", "MouseEnter",
+ "MouseExit", "MouseDoubleClick", "Paint", "Move", "Resize", "Dispose",
+ "Selection", "DefaultSelection", "FocusIn", "FocusOut", "Expand", "Collapse",
+ "Iconify", "Deiconify", "Close", "Show", "Hide", "Modify",
+ "Verify", "Activate", "Deactivate", "Help", "DragDetect", "Arm",
+ "Traverse", "MouseHover", "HardKeyDown", "HardKeyUp"
+ };
+ static final int [] DEFAULT_FILTER = {
+ SWT.KeyDown, SWT.KeyUp, SWT.MouseDown, SWT.MouseUp, SWT.MouseDoubleClick, SWT.Selection,
+ SWT.DefaultSelection, SWT.Expand, SWT.Collapse, SWT.Iconify, SWT.Deiconify, SWT.Close,
+ SWT.Show, SWT.Hide, SWT.Modify, SWT.Verify, SWT.Activate, SWT.Deactivate,
+ SWT.Help, SWT.DragDetect, SWT.Arm, SWT.Traverse, SWT.HardKeyDown, SWT.HardKeyUp
+ };
/**
* Creates an instance of a ControlExample embedded inside
@@ -41,32 +56,43 @@ public class ControlExample {
*/
public ControlExample(Composite parent) {
initResources();
- tabFolder = new TabFolder (parent, SWT.NULL);
+ form = new SashForm (parent,SWT.VERTICAL);
+ tabFolder = new TabFolder (form, SWT.NULL);
Tab [] tabs = createTabs();
for (int i=0; i<tabs.length; i++) {
TabItem item = new TabItem (tabFolder, SWT.NULL);
item.setText (tabs [i].getTabText ());
item.setControl (tabs [i].createTabFolderPage (tabFolder));
+ item.setData (tabs [i]);
}
if (standAlone) {
- createMenus (parent.getShell ());
+ createControlExampleMenu (parent.getShell ());
+ eventConsole = new Text(form, SWT.MULTI | SWT.V_SCROLL);
+ createEventConsolePopup (eventConsole);
+ for (int i = 0; i < DEFAULT_FILTER.length; i++) {
+ eventsFilter [DEFAULT_FILTER [i]] = true;
+ }
}
}
/**
- * Open the event logger.
+ * Hide the event logger.
*/
- private void closeEventConsole() {
- if (eventConsole != null) {
- eventConsole.close ();
- eventConsole = null;
+ void closeEventConsole() {
+ logging = false;
+ form.setWeights(new int[] {100, 0});
+ eventConsole.setEnabled (false);
+ TabItem[] currentSelection = tabFolder.getSelection();
+ for (int i = 0; i < currentSelection.length; i++) {
+ Tab tab = (Tab) currentSelection[i].getData ();
+ tab.recreateExampleWidgets ();
}
}
/**
- * Create this example's menus.
+ * Create the menubar
*/
- void createMenus(final Shell shell) {
+ void createControlExampleMenu(final Shell shell) {
Menu bar = new Menu (shell, SWT.BAR);
MenuItem consoleItem = new MenuItem (bar, SWT.CASCADE);
consoleItem.setText ("Controls");
@@ -75,8 +101,7 @@ public class ControlExample {
consoleItem.setMenu (dropDown);
final MenuItem showEvents = new MenuItem (dropDown, SWT.CHECK);
- showEvents.setAccelerator(SWT.MOD1 + 'C');
- showEvents.setText ("&Show Events");
+ showEvents.setText ("&Log Events");
showEvents.addListener (SWT.Selection, new Listener () {
public void handleEvent (Event e) {
if (showEvents.getSelection()) {
@@ -97,6 +122,38 @@ public class ControlExample {
}
/**
+ * Create the menubar
+ */
+ void createEventConsolePopup (final Text console) {
+ Menu popup = new Menu (console.getShell (), SWT.POP_UP);
+ console.setMenu (popup);
+
+ MenuItem copy = new MenuItem (popup, SWT.PUSH);
+ copy.setAccelerator(SWT.MOD1 + 'C');
+ copy.setText ("&Copy\tCtrl+C");
+ copy.addListener (SWT.Selection, new Listener () {
+ public void handleEvent (Event event) {
+ console.copy ();
+ }
+ });
+ MenuItem selectAll = new MenuItem (popup, SWT.PUSH);
+ selectAll.setAccelerator(SWT.MOD1 + 'A');
+ selectAll.setText("Select &All");
+ selectAll.addListener (SWT.Selection, new Listener () {
+ public void handleEvent (Event event) {
+ console.selectAll ();
+ }
+ });
+ MenuItem clear = new MenuItem (popup, SWT.PUSH);
+ clear.setText ("C&lear");
+ clear.addListener (SWT.Selection, new Listener () {
+ public void handleEvent (Event event) {
+ console.setText ("");
+ }
+ });
+ }
+
+ /**
* Answers the set of example Tabs
*/
Tab[] createTabs() {
@@ -209,11 +266,26 @@ public class ControlExample {
}
/**
+ * Answers true if this example is currently logging all
+ * events, and false otherwise.
+ */
+ public boolean isLogging () {
+ return logging;
+ }
+ /**
* Logs an event to the event console.
*/
void log(Event event) {
- if (eventConsole != null) {
- eventConsole.log(event);
+ if (logging && eventsFilter [event.type]) {
+ StringBuffer output = new StringBuffer (EVENT_TYPES[event.type]);
+ output.append (": ");
+ output.append (event.widget.toString ());
+ output.append (" X: ");
+ output.append (event.x);
+ output.append (" Y: ");
+ output.append (event.y);
+ output.append ("\n");
+ eventConsole.append (output.toString ());
}
}
@@ -238,8 +310,14 @@ public class ControlExample {
* Open the event logger.
*/
void openEventConsole(Shell shell) {
- eventConsole = new EventConsole (shell);
- eventConsole.open ();
+ logging = true;
+ form.setWeights(new int[] {80,20});
+ eventConsole.setEnabled (true);
+ TabItem[] currentSelection = tabFolder.getSelection();
+ for (int i = 0; i < currentSelection.length; i++) {
+ Tab tab = (Tab) currentSelection[i].getData ();
+ tab.recreateExampleWidgets ();
+ }
}
/**
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/EventConsole.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/EventConsole.java
deleted file mode 100644
index 4898786864..0000000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/EventConsole.java
+++ /dev/null
@@ -1,95 +0,0 @@
-package org.eclipse.swt.examples.controlexample;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-public class EventConsole {
- Shell shell;
- Text text;
- boolean isActive = true;
- boolean [] eventsFilter = new boolean [35];
-
- final static String [] EVENT_TYPES = { "",
- "KeyDown", "KeyUp", "MouseDown", "MouseUp", "MouseMove", "MouseEnter",
- "MouseExit", "MouseDoubleClick", "Paint", "Move", "Resize", "Dispose",
- "Selection", "DefaultSelection", "FocusIn", "FocusOut", "Expand", "Collapse",
- "Iconify", "Deiconify", "Close", "Show", "Hide", "Modify",
- "Verify", "Activate", "Deactivate", "Help", "DragDetect", "Arm",
- "Traverse", "MouseHover", "HardKeyDown", "HardKeyUp"
- };
- final static int [] DEFAULT_FILTER = {
- SWT.KeyDown, SWT.KeyUp, SWT.MouseDown, SWT.MouseUp, SWT.MouseDoubleClick, SWT.Selection,
- SWT.DefaultSelection, SWT.Expand, SWT.Collapse, SWT.Iconify, SWT.Deiconify, SWT.Close,
- SWT.Show, SWT.Hide, SWT.Modify, SWT.Verify, SWT.Activate, SWT.Deactivate,
- SWT.Help, SWT.DragDetect, SWT.Arm, SWT.Traverse, SWT.HardKeyDown, SWT.HardKeyUp
- };
-
- public EventConsole (Shell parent) {
- super ();
- shell = new Shell (parent, SWT.SHELL_TRIM);
- shell.setText ("Events");
- shell.setLayout (new FillLayout ());
- Point parentSize = parent.getSize();
- shell.setBounds(10, parentSize.y - 100, parentSize.x / 2, 200);
- text = new Text (shell, SWT.MULTI | SWT.BORDER | SWT.V_SCROLL);
-
- Menu bar = new Menu (shell, SWT.BAR);
- MenuItem consoleItem = new MenuItem (bar, SWT.CASCADE);
- consoleItem.setText ("Console");
- shell.setMenuBar (bar);
- Menu dropDown = new Menu (bar);
- consoleItem.setMenu (dropDown);
-
- MenuItem copy = new MenuItem (dropDown, SWT.NONE);
- copy.setAccelerator(SWT.MOD1 + 'C');
- copy.setText ("&Copy\tCtrl+C");
- copy.addListener (SWT.Selection, new Listener () {
- public void handleEvent (Event e) {
- text.copy();
- }
- });
-
- MenuItem clear = new MenuItem (dropDown, SWT.NONE);
- clear.setText ("C&lear");
- clear.addListener (SWT.Selection, new Listener () {
- public void handleEvent (Event e) {
- text.setText("");
- }
- });
-
- shell.addListener(SWT.Dispose, new Listener() {
- public void handleEvent(Event event) {
- isActive = false;
- }
- });
-
- for (int i = 0; i < DEFAULT_FILTER.length; i++) {
- eventsFilter [DEFAULT_FILTER [i]] = true;
- }
- }
-
- public void close () {
- shell.dispose ();
- isActive = false;
- }
-
- public void log (Event event) {
- if (isActive && eventsFilter [event.type]) {
- StringBuffer output = new StringBuffer (EVENT_TYPES[event.type]);
- output.append (": ");
- output.append (event.widget.toString ());
- output.append (" X: ");
- output.append (event.x);
- output.append (" Y: ");
- output.append (event.y);
- output.append ("\n");
- text.append (output.toString ());
- }
- }
-
- public void open () {
- shell.open ();
- }
-}
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/Tab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/Tab.java
index ab52c91de6..0b1e3baea6 100755
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/Tab.java
+++ b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/controlexample/Tab.java
@@ -383,16 +383,18 @@ abstract class Tab {
* Hook all listeners to all controls.
*/
void hookExampleWidgetListeners () {
- Control[] exampleControls = getExampleWidgets();
- Listener listener = new Listener() {
- public void handleEvent (Event event) {
- instance.log (event);
- }
- };
- for (int i = 0; i < exampleControls.length; i++) {
- Control control = exampleControls [i];
- for (int j = SWT.KeyDown; j < SWT.HardKeyUp; j++) {
- control.addListener (j, listener);
+ if (instance.isLogging()) {
+ Control[] exampleControls = getExampleWidgets();
+ Listener listener = new Listener() {
+ public void handleEvent (Event event) {
+ instance.log (event);
+ }
+ };
+ for (int i = 0; i < exampleControls.length; i++) {
+ Control control = exampleControls [i];
+ for (int j = SWT.KeyDown; j < SWT.HardKeyUp; j++) {
+ control.addListener (j, listener);
+ }
}
}
}