//------------------------------------------------------------------------------ // Copyright (c) 2005, 2006 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 implementation //------------------------------------------------------------------------------ package org.eclipse.epf.rcp.ui.actions; import org.eclipse.epf.library.ui.LibraryUIText; import org.eclipse.epf.rcp.ui.RCPUIPlugin; import org.eclipse.epf.rcp.ui.RCPUIResources; import org.eclipse.jface.action.Action; import org.eclipse.jface.action.IMenuCreator; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Menu; import org.eclipse.swt.widgets.MenuItem; /** * Displays a drop down combo for creating new method library, plug-in and * configuration. This action is invoked via the New button on the system * toolbar. * * @author Bingxue Xu * @author Kelvin Low * @since 1.0 */ public class NewButtonAction extends Action implements IMenuCreator { private Menu fileNewDropdown = null; /* Shell-Sharing private NewLibraryAction newLibraryAction = null; private NewPluginAction newPluginAction = null; private NewConfigurationAction newConfigurationAction = null; private NewWizardAction newWizardAction = null; */ /** * Creates a new instance. */ public NewButtonAction() { setId("fileNewDropdown"); //$NON-NLS-1$ setToolTipText(RCPUIResources.newDropDown_tooltip_text); ImageDescriptor imageDescriptor = RCPUIPlugin.getDefault() .getImageDescriptor("new_con.gif"); //$NON-NLS-1$ setImageDescriptor(imageDescriptor); setMenuCreator(this); } /** * @see org.eclipse.jface.action.IMenuCreator#getMenu(Control) */ public Menu getMenu(Control parent) { if (fileNewDropdown != null) { return fileNewDropdown; } fileNewDropdown = new Menu(parent); MenuItem newLibraryMItem = new MenuItem(fileNewDropdown, SWT.PUSH); newLibraryMItem.setText(LibraryUIText.TEXT_METHOD_LIBARARY); new MenuItem(fileNewDropdown, SWT.SEPARATOR); MenuItem newPluginMItem = new MenuItem(fileNewDropdown, SWT.PUSH); newPluginMItem.setText(LibraryUIText.TEXT_METHOD_PLUGIN); MenuItem newConfigMItem = new MenuItem(fileNewDropdown, SWT.PUSH); newConfigMItem.setText(LibraryUIText.TEXT_METHOD_CONFIGURATON); new MenuItem(fileNewDropdown, SWT.SEPARATOR); MenuItem newOtherMItem = new MenuItem(fileNewDropdown, SWT.PUSH); newOtherMItem.setText(RCPUIResources.otherMenuItem_text); /* Shell-Sharing newLibraryAction = new NewLibraryAction(); newPluginAction = new NewPluginAction(); newConfigurationAction = new NewConfigurationAction(); if (newWizardAction == null) { IWorkbenchWindow wbWindow = PlatformUI.getWorkbench() .getActiveWorkbenchWindow(); newWizardAction = new NewWizardAction(wbWindow); } newLibraryMItem.addListener(SWT.Selection, new Listener() { public void handleEvent(Event e) { newLibraryAction.run(); } }); newPluginMItem.addListener(SWT.Selection, new Listener() { public void handleEvent(Event e) { newPluginAction.run(); } }); newConfigMItem.addListener(SWT.Selection, new Listener() { public void handleEvent(Event e) { newConfigurationAction.run(); } }); newOtherMItem.addListener(SWT.Selection, new Listener() { public void handleEvent(Event e) { newWizardAction.run(); } }); */ return fileNewDropdown; } /** * @see org.eclipse.jface.action.IMenuCreator#getMenu(Menu) */ public Menu getMenu(Menu parent) { return null; } /** * @see org.eclipse.jface.action.Action#run() */ public void run() { /* if (newWizardAction == null) { IWorkbenchWindow wbWindow = PlatformUI.getWorkbench() .getActiveWorkbenchWindow(); newWizardAction = new NewWizardAction(wbWindow); } newWizardAction.run(); */ } /** * dispose the fileNewDropdown object */ public void dispose() { if (fileNewDropdown != null) { fileNewDropdown.dispose(); fileNewDropdown = null; } } }