diff options
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.java | 105 |
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 (); -} -} |