Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet140.java')
-rw-r--r--examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet140.java105
1 files changed, 0 insertions, 105 deletions
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet140.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet140.java
deleted file mode 100644
index ea3e8cb9d9..0000000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet140.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 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;
-
-/*
- * CoolBar example snippet: drop-down a chevron menu containing hidden tool items
- *
- * For a list of all SWT example snippets see
- * http://www.eclipse.org/swt/snippets/
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-
-public class Snippet140 {
- static Display display;
- static Shell shell;
- static CoolBar coolBar;
- static Menu chevronMenu = null;
-
-public static void main (String [] args) {
- display = new Display ();
- shell = new Shell (display);
- shell.setLayout(new GridLayout());
- coolBar = new CoolBar(shell, SWT.FLAT | SWT.BORDER);
- coolBar.setLayoutData(new GridData(GridData.FILL_BOTH));
- ToolBar toolBar = new ToolBar(coolBar, SWT.FLAT | SWT.WRAP);
- int minWidth = 0;
- for (int j = 0; j < 5; j++) {
- int width = 0;
- ToolItem item = new ToolItem(toolBar, SWT.PUSH);
- item.setText("B" + j);
- width = item.getWidth();
- /* find the width of the widest tool */
- if (width > minWidth) minWidth = width;
- }
- CoolItem coolItem = new CoolItem(coolBar, SWT.DROP_DOWN);
- coolItem.setControl(toolBar);
- Point size = toolBar.computeSize(SWT.DEFAULT, SWT.DEFAULT);
- Point coolSize = coolItem.computeSize (size.x, size.y);
- coolItem.setMinimumSize(minWidth, coolSize.y);
- coolItem.setPreferredSize(coolSize);
- coolItem.setSize(coolSize);
- coolItem.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent event) {
- if (event.detail == SWT.ARROW) {
- CoolItem item = (CoolItem) event.widget;
- Rectangle itemBounds = item.getBounds ();
- Point pt = coolBar.toDisplay(new Point(itemBounds.x, itemBounds.y));
- itemBounds.x = pt.x;
- itemBounds.y = pt.y;
- ToolBar bar = (ToolBar) item.getControl ();
- ToolItem[] tools = bar.getItems ();
-
- int i = 0;
- while (i < tools.length) {
- Rectangle toolBounds = tools[i].getBounds ();
- pt = bar.toDisplay(new Point(toolBounds.x, toolBounds.y));
- toolBounds.x = pt.x;
- toolBounds.y = pt.y;
-
- /* Figure out the visible portion of the tool by looking at the
- * intersection of the tool bounds with the cool item bounds. */
- Rectangle intersection = itemBounds.intersection (toolBounds);
-
- /* If the tool is not completely within the cool item bounds, then it
- * is partially hidden, and all remaining tools are completely hidden. */
- if (!intersection.equals (toolBounds)) break;
- i++;
- }
-
- /* Create a menu with items for each of the completely hidden buttons. */
- if (chevronMenu != null) chevronMenu.dispose();
- chevronMenu = new Menu (coolBar);
- for (int j = i; j < tools.length; j++) {
- MenuItem menuItem = new MenuItem (chevronMenu, SWT.PUSH);
- menuItem.setText (tools[j].getText());
- }
-
- /* Drop down the menu below the chevron, with the left edges aligned. */
- pt = coolBar.toDisplay(new Point(event.x, event.y));
- chevronMenu.setLocation (pt.x, pt.y);
- chevronMenu.setVisible (true);
- }
- }
- });
-
- shell.pack();
- shell.open ();
- while (!shell.isDisposed ()) {
- if (!display.readAndDispatch ()) display.sleep ();
- }
- display.dispose ();
-}
-}

Back to the top