blob: 676a2365358474f7de922a9eabda7b64eda945e6 [file] [log] [blame]
//------------------------------------------------------------------------------
// 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;
}
}
}