/******************************************************************************* * Copyright (c) 2008 Olivier Moises * * 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: * Olivier Moises- initial API and implementation *******************************************************************************/ package org.eclipse.wazaabi.engine.swt.tests.widgets; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Menu; import org.eclipse.swt.widgets.MenuItem; import org.eclipse.swt.widgets.Shell; import org.eclipse.wazaabi.engine.swt.tests.AbstractCommandTest; import org.eclipse.wazaabi.mm.core.styles.CoreStylesFactory; import org.eclipse.wazaabi.mm.core.styles.StringRule; import org.eclipse.wazaabi.mm.core.widgets.CoreWidgetsFactory; import org.eclipse.wazaabi.mm.core.widgets.MenuComponent; public abstract class AbstractTestMenu extends AbstractCommandTest { protected MenuComponent menuComponent; protected MenuComponent menuBar; protected MenuComponent subMenu; protected Menu swtMenuBar; protected Menu swtSubMenu; final protected String BAR_TEXT = "&File"; final protected String BAR_TEXT2 = "&Wazaabi"; final protected String SUB_TEXT = "Don't worry"; final protected String SUB_TEXT2 = "Be happy"; @Override public void before() { super.before(); // create the PushButton } @Override public void after() { mainShell.open(); super.after(); } public void createWazaabiMenu (boolean before) { menuComponent = CoreWidgetsFactory.eINSTANCE.createMenuComponent(); StringRule toptype = CoreStylesFactory.eINSTANCE.createStringRule(); toptype.setPropertyName("type"); toptype.setValue("top-bar"); menuComponent.getStyleRules().add(toptype); if (!before) viewer.setContents(menuComponent); menuBar = CoreWidgetsFactory.eINSTANCE.createMenuComponent(); menuBar.setText(BAR_TEXT); StringRule subMenuType = CoreStylesFactory.eINSTANCE.createStringRule(); subMenuType.setPropertyName("type"); subMenuType.setValue("submenu"); menuBar.getStyleRules().add(subMenuType); MenuComponent fileItem2 = CoreWidgetsFactory.eINSTANCE.createMenuComponent(); fileItem2.setText(BAR_TEXT2); StringRule itemType = CoreStylesFactory.eINSTANCE.createStringRule(); itemType.setPropertyName("type"); itemType.setValue("push"); fileItem2.getStyleRules().add(itemType); menuComponent.getChildren().add(menuBar); menuComponent.getChildren().add(fileItem2); subMenu = CoreWidgetsFactory.eINSTANCE.createMenuComponent(); subMenu.setText(SUB_TEXT); StringRule pushtype = CoreStylesFactory.eINSTANCE.createStringRule(); pushtype.setPropertyName("type"); pushtype.setValue("push"); subMenu.getStyleRules().add(pushtype); MenuComponent item2 = CoreWidgetsFactory.eINSTANCE.createMenuComponent(); item2.setText(SUB_TEXT2); StringRule item2type = CoreStylesFactory.eINSTANCE.createStringRule(); item2type.setPropertyName("type"); item2type.setValue("push"); item2.getStyleRules().add(item2type); menuBar.getChildren().add(subMenu); menuBar.getChildren().add(item2); if (before) viewer.setContents(menuComponent); mainShell.open(); } public void createSWTMenu () { mainShell = new Shell (display); mainShell.setSize (INITIAL_WIDTH, INITIAL_HEIGHT); swtMenuBar = new Menu (mainShell, SWT.BAR); mainShell.setMenuBar (swtMenuBar); MenuItem fileItem = new MenuItem (swtMenuBar, SWT.CASCADE); fileItem.setText (BAR_TEXT); MenuItem fileItem2 = new MenuItem (swtMenuBar, SWT.PUSH); fileItem2.setText (BAR_TEXT2); swtSubMenu = new Menu (mainShell, SWT.DROP_DOWN); fileItem.setMenu (swtSubMenu); MenuItem item = new MenuItem (swtSubMenu, SWT.PUSH); item.setText (SUB_TEXT); MenuItem item2 = new MenuItem (swtSubMenu, SWT.PUSH); item2.setText (SUB_TEXT2); mainShell.open (); } }