summaryrefslogtreecommitdiffstats
path: root/examples/org.eclipse.swt.snippets
diff options
context:
space:
mode:
authorSilenio Quarti <silenio>2011-03-03 16:31:23 +0000
committerSilenio Quarti <silenio>2011-03-03 16:31:23 +0000
commitd5938d7c4175aa7b6452b1879ed087eb55a1e1c0 (patch)
tree38ba716ca60fa444154cc2e12e5dc10c9a3d2c9f /examples/org.eclipse.swt.snippets
parentf1fbb8716f7eb6144440edb1c7a2f83e3f63fe10 (diff)
downloadeclipse.platform.swt-d5938d7c4175aa7b6452b1879ed087eb55a1e1c0.tar.gz
eclipse.platform.swt-d5938d7c4175aa7b6452b1879ed087eb55a1e1c0.tar.xz
eclipse.platform.swt-d5938d7c4175aa7b6452b1879ed087eb55a1e1c0.zip
Bug 338825 - Rename Display.getAppMenuBar() to getMenuBar().
Diffstat (limited to 'examples/org.eclipse.swt.snippets')
-rw-r--r--examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet347.java2
-rw-r--r--examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet348.java8
-rw-r--r--examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet354.java153
3 files changed, 158 insertions, 5 deletions
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet347.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet347.java
index 19fe2cf8ae..1ea7a293a0 100644
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet347.java
+++ b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet347.java
@@ -35,7 +35,7 @@ public class Snippet347 {
final Display display = new Display();
Shell shell = new Shell(display);
shell.setLayout(new GridLayout(1, false));
- Menu appMenuBar = display.getAppMenuBar();
+ Menu appMenuBar = display.getMenuBar();
if (appMenuBar == null) {
appMenuBar = new Menu(shell, SWT.BAR);
shell.setMenuBar(appMenuBar);
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet348.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet348.java
index 8e322c134b..04d755ab8f 100644
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet348.java
+++ b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet348.java
@@ -11,8 +11,8 @@
package org.eclipse.swt.snippets;
/*
- * Display snippet: slightly more complex example for getAppMenuBar() (compared to Snippet347)
- * Shows how to write a more cross-platform multi-window application using getAppMenuBar().
+ * Display snippet: slightly more complex example for Display.getMenuBar() (compared to Snippet347)
+ * Shows how to write a more cross-platform multi-window application using Display.getMenuBar().
*
* For a list of all SWT example snippets see
* http://www.eclipse.org/swt/snippets/
@@ -28,7 +28,7 @@ public class Snippet348 {
static boolean createdScreenBar = false;
static void createMenuBar(Shell s) {
- Menu bar = Display.getCurrent().getAppMenuBar();
+ Menu bar = Display.getCurrent().getMenuBar();
boolean hasAppMenuBar = (bar != null);
if (bar == null) {
bar = new Menu(s, SWT.BAR);
@@ -86,7 +86,7 @@ public class Snippet348 {
shell.addDisposeListener(new DisposeListener() {
public void widgetDisposed(DisposeEvent e) {
Display d = Display.getCurrent();
- Menu bar = d.getAppMenuBar();
+ Menu bar = d.getMenuBar();
boolean hasAppMenuBar = (bar != null);
if (!hasAppMenuBar) {
shell.getMenuBar().dispose();
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet354.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet354.java
new file mode 100644
index 0000000000..3a774c826b
--- /dev/null
+++ b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet354.java
@@ -0,0 +1,153 @@
+//
+/*******************************************************************************
+ * Copyright (c) 2000, 2010 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.events.*;
+import org.eclipse.swt.layout.*;
+import org.eclipse.swt.widgets.*;
+
+/*
+ * Display snippet: use the application system menu when available.
+ *
+ * For a list of all SWT example snippets see
+ * http://www.eclipse.org/swt/snippets/
+ */
+
+public class Snippet354 {
+
+ static MenuItem getItem(Menu menu, int id) {
+ MenuItem[] items = menu.getItems();
+ for (int i = 0; i < items.length; i++) {
+ if (items[i].getID() == id) return items[i];
+ }
+ return null;
+ }
+
+ public static void main(String[] args) {
+ final Display display = new Display();
+ Shell shell = new Shell(display);
+ shell.setLayout(new GridLayout(1, false));
+
+ Menu appMenuBar = display.getMenuBar();
+ if (appMenuBar == null) {
+ appMenuBar = new Menu(shell, SWT.BAR);
+ shell.setMenuBar(appMenuBar);
+ }
+ MenuItem file = new MenuItem(appMenuBar, SWT.CASCADE);
+ file.setText("File");
+ Menu dropdown = new Menu(appMenuBar);
+ file.setMenu(dropdown);
+ MenuItem exit = new MenuItem(dropdown, SWT.PUSH);
+ exit.setText("Exit");
+ exit.addSelectionListener(new SelectionAdapter() {
+ public void widgetSelected(SelectionEvent e) {
+ display.dispose();
+ };
+ });
+
+ Listener keyDownFilter = new Listener() {
+ public void handleEvent(Event event) {
+ System.out.println("Key event!");
+ }
+
+ };
+ display.addFilter(SWT.KeyDown, keyDownFilter);
+ display.addFilter(SWT.KeyUp, keyDownFilter);
+
+ ArmListener armListener = new ArmListener() {
+ public void widgetArmed(ArmEvent e) {
+ System.out.println(e);
+ }
+ };
+
+ Menu systemMenu = display.getSystemMenu();
+ if (systemMenu != null) {
+ systemMenu.addMenuListener(new MenuListener() {
+ public void menuHidden(MenuEvent e) {
+ System.out.println("App menu closed");
+ }
+
+ public void menuShown(MenuEvent e) {
+ System.out.println("App menu opened");
+ }
+ });
+
+ MenuItem sysItem = getItem(systemMenu, SWT.ID_QUIT);
+ sysItem.addArmListener(armListener);
+ sysItem.addSelectionListener(new SelectionAdapter() {
+ public void widgetSelected(SelectionEvent e) {
+ System.out.println("Quit selected");
+ };
+ });
+ sysItem = getItem(systemMenu, SWT.ID_HIDE_OTHERS);
+ sysItem.addArmListener(armListener);
+ sysItem.addSelectionListener(new SelectionAdapter() {
+ public void widgetSelected(SelectionEvent e) {
+ System.out.println("Hide others selected -- and blocked!");
+ e.doit = false;
+ };
+ });
+ sysItem = getItem(systemMenu, SWT.ID_HIDE);
+ sysItem.addArmListener(armListener);
+ sysItem.addSelectionListener(new SelectionAdapter() {
+ public void widgetSelected(SelectionEvent e) {
+ System.out.println("Hide selected -- and blocked!");
+ e.doit = false;
+ };
+ });
+ sysItem = getItem(systemMenu, SWT.ID_PREFERENCES);
+ sysItem.addArmListener(armListener);
+ sysItem.addSelectionListener(new SelectionAdapter() {
+ public void widgetSelected(SelectionEvent e) {
+ System.out.println("Preferences selected");
+ };
+ });
+ sysItem = getItem(systemMenu, SWT.ID_ABOUT);
+ sysItem.addArmListener(armListener);
+ sysItem.addSelectionListener(new SelectionAdapter() {
+ public void widgetSelected(SelectionEvent e) {
+ System.out.println("About selected");
+ };
+ });
+
+ int prefsIndex = systemMenu.indexOf(getItem(systemMenu, SWT.ID_PREFERENCES));
+ MenuItem newAppMenuItem = new MenuItem(systemMenu, SWT.CASCADE, prefsIndex + 1);
+ newAppMenuItem.setText("SWT-added item");
+ newAppMenuItem.setAccelerator(SWT.MOD1 | 'i');
+ newAppMenuItem.addArmListener(armListener);
+ newAppMenuItem.addSelectionListener(new SelectionAdapter() {
+ public void widgetSelected(SelectionEvent e) {
+ System.out.println("SWT-added item selected");
+ };
+ });
+ Menu subMenu = new Menu(systemMenu);
+
+ for (int i = 0; i < 4; i++) {
+ MenuItem subItem = new MenuItem(subMenu, SWT.PUSH);
+ subItem.setText("Item " + i);
+ }
+ newAppMenuItem.setMenu(subMenu);
+ }
+ Button b = new Button(shell, SWT.PUSH);
+ b.setText("Test");
+ shell.pack();
+ shell.open();
+ while (!shell.isDisposed()) {
+ if (!display.readAndDispatch())
+ display.sleep();
+ }
+ display.dispose();
+ }
+} \ No newline at end of file