diff options
author | jlanuti | 2006-02-20 21:28:03 +0000 |
---|---|---|
committer | jlanuti | 2006-02-20 21:28:03 +0000 |
commit | 675dac7500eba8ee508029a719cd2f4db8c030b9 (patch) | |
tree | b616891c5e6569d0ceb40fe7aedb91dad56a4018 /plugins/org.eclipse.jst.j2ee.navigator.ui | |
parent | fb799462398933b8e885ee1e559e2413d586cf60 (diff) | |
download | webtools.javaee-675dac7500eba8ee508029a719cd2f4db8c030b9.tar.gz webtools.javaee-675dac7500eba8ee508029a719cd2f4db8c030b9.tar.xz webtools.javaee-675dac7500eba8ee508029a719cd2f4db8c030b9.zip |
[128654] fix for project explorer menus
Diffstat (limited to 'plugins/org.eclipse.jst.j2ee.navigator.ui')
3 files changed, 36 insertions, 72 deletions
diff --git a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/J2EEActionProvider.java b/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/J2EEActionProvider.java index a8fb46bcf..a65dc9ba9 100644 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/J2EEActionProvider.java +++ b/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/J2EEActionProvider.java @@ -13,7 +13,10 @@ package org.eclipse.jst.j2ee.navigator.internal; import java.util.ArrayList; import java.util.List; +import org.eclipse.emf.edit.provider.ItemProvider; import org.eclipse.jface.action.IMenuManager; +import org.eclipse.jface.action.MenuManager; +import org.eclipse.jface.action.Separator; import org.eclipse.jface.viewers.DoubleClickEvent; import org.eclipse.jface.viewers.IDoubleClickListener; import org.eclipse.jface.viewers.IStructuredSelection; @@ -21,14 +24,20 @@ import org.eclipse.jface.viewers.StructuredSelection; import org.eclipse.jst.j2ee.internal.actions.OpenJ2EEResourceAction; import org.eclipse.jst.j2ee.internal.provider.J2EEUtilityJarItemProvider; import org.eclipse.ui.IActionBars; +import org.eclipse.ui.IWorkbenchWindow; +import org.eclipse.ui.PlatformUI; import org.eclipse.ui.actions.ActionContext; import org.eclipse.ui.navigator.CommonActionProvider; import org.eclipse.ui.navigator.CommonActionProviderConfig; import org.eclipse.ui.navigator.ICommonMenuConstants; +import org.eclipse.ui.navigator.ICommonViewerWorkbenchSite; +import org.eclipse.ui.navigator.WizardActionGroup; +import org.eclipse.ui.navigator.resources.internal.plugin.WorkbenchNavigatorMessages; public class J2EEActionProvider extends CommonActionProvider implements IDoubleClickListener { private OpenJ2EEResourceAction openAction; + private WizardActionGroup newWizardActionGroup; // private J2EERenameAction renameAction; @@ -47,7 +56,10 @@ public class J2EEActionProvider extends CommonActionProvider implements IDoubleC * org.eclipse.wst.common.navigator.internal.views.extensions.NavigatorContentService) */ public void init(CommonActionProviderConfig aConfig) { - + if (aConfig.getViewSite() instanceof ICommonViewerWorkbenchSite) { + IWorkbenchWindow window = ((ICommonViewerWorkbenchSite) aConfig.getViewSite()).getWorkbenchWindow(); + newWizardActionGroup = new WizardActionGroup(window, PlatformUI.getWorkbench().getNewWizardRegistry(),WizardActionGroup.TYPE_NEW); + } openAction = new OpenJ2EEResourceAction(); aConfig.getStructuredViewer().addDoubleClickListener(this); // renameAction = new J2EERenameAction(aConfig.getViewSite(), aConfig.getViewSite().getShell()); @@ -85,7 +97,7 @@ public class J2EEActionProvider extends CommonActionProvider implements IDoubleC } //genericDelete.selectionChanged(genericDelete, selection); } - + super.setContext(aContext); } /* @@ -105,8 +117,25 @@ public class J2EEActionProvider extends CommonActionProvider implements IDoubleC * @see org.eclipse.wst.common.navigator.internal.views.actions.ICommonActionProvider#fillContextMenu(org.eclipse.jface.action.IMenuManager) */ public void fillContextMenu(IMenuManager aMenu) { - if (openAction.isEnabled()) { - aMenu.appendToGroup(ICommonMenuConstants.GROUP_OPEN, openAction); + IStructuredSelection selection = (IStructuredSelection) getContext().getSelection(); + if (selection.getFirstElement() instanceof ItemProvider) { + + IMenuManager submenu = null; + if (submenu == null) + submenu = new MenuManager(WorkbenchNavigatorMessages.Workbench_new, ICommonMenuConstants.GROUP_NEW); + + // fill the menu from the commonWizard contributions + newWizardActionGroup.setContext(getContext()); + newWizardActionGroup.fillContextMenu(submenu); + + submenu.add(new Separator(ICommonMenuConstants.GROUP_ADDITIONS)); + + // append the submenu after the GROUP_NEW group. + aMenu.insertAfter(ICommonMenuConstants.GROUP_NEW, submenu); + } + else { + if (openAction.isEnabled()) + aMenu.appendToGroup(ICommonMenuConstants.GROUP_OPEN, openAction); } /* if (renameAction.isEnabled()) { aMenu.appendToGroup(ICommonMenuConstants.COMMON_MENU_EDIT_ACTIONS, renameAction); @@ -116,7 +145,6 @@ public class J2EEActionProvider extends CommonActionProvider implements IDoubleC aMenu.appendToGroup(ICommonMenuConstants.COMMON_MENU_EDIT_ACTIONS, genericDelete); actionsAdded = true; }*/ - return; } private boolean isUtilityJars(Object[] items) { diff --git a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/J2EENewActionProvider.java b/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/J2EENewActionProvider.java deleted file mode 100644 index b9686ff88..000000000 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/J2EENewActionProvider.java +++ /dev/null @@ -1,55 +0,0 @@ -package org.eclipse.jst.j2ee.navigator.internal; - -import org.eclipse.emf.edit.provider.ItemProvider; -import org.eclipse.jface.action.IMenuManager; -import org.eclipse.jface.action.MenuManager; -import org.eclipse.jface.action.Separator; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.ui.IWorkbenchWindow; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.navigator.CommonActionProvider; -import org.eclipse.ui.navigator.CommonActionProviderConfig; -import org.eclipse.ui.navigator.ICommonMenuConstants; -import org.eclipse.ui.navigator.ICommonViewerWorkbenchSite; -import org.eclipse.ui.navigator.WizardActionGroup; -import org.eclipse.ui.navigator.resources.internal.plugin.WorkbenchNavigatorMessages; - -public class J2EENewActionProvider extends CommonActionProvider { - - private WizardActionGroup newWizardActionGroup; - - public J2EENewActionProvider() { - super(); - } - - public void init(CommonActionProviderConfig aConfig) { - if (aConfig.getViewSite() instanceof ICommonViewerWorkbenchSite) { - IWorkbenchWindow window = ((ICommonViewerWorkbenchSite) aConfig.getViewSite()).getWorkbenchWindow(); - newWizardActionGroup = new WizardActionGroup(window, PlatformUI.getWorkbench().getNewWizardRegistry(),WizardActionGroup.TYPE_NEW); - } - } - - /** - * Adds a submenu to the given menu with the name - * {@value ICommonMenuConstants#GROUP_NEW } (see - * {@link ICommonMenuConstants#GROUP_NEW}). - */ - public void fillContextMenu(IMenuManager menu) { - IStructuredSelection selection = (IStructuredSelection) getContext().getSelection(); - if (!(selection.getFirstElement() instanceof ItemProvider)) - return; - IMenuManager submenu = null; - if (submenu == null) - submenu = new MenuManager(WorkbenchNavigatorMessages.Workbench_new, ICommonMenuConstants.GROUP_NEW); - - // fill the menu from the commonWizard contributions - newWizardActionGroup.setContext(getContext()); - newWizardActionGroup.fillContextMenu(submenu); - - submenu.add(new Separator(ICommonMenuConstants.GROUP_ADDITIONS)); - - // append the submenu after the GROUP_NEW group. - menu.insertAfter(ICommonMenuConstants.GROUP_NEW, submenu); - } - -} diff --git a/plugins/org.eclipse.jst.j2ee.navigator.ui/plugin.xml b/plugins/org.eclipse.jst.j2ee.navigator.ui/plugin.xml index 94886b8a8..5acd731e6 100644 --- a/plugins/org.eclipse.jst.j2ee.navigator.ui/plugin.xml +++ b/plugins/org.eclipse.jst.j2ee.navigator.ui/plugin.xml @@ -63,23 +63,14 @@ </commonSorter> <actionProvider class="org.eclipse.jst.j2ee.navigator.internal.J2EEActionProvider" - id="org.eclipse.jst.j2ee.navigator.ui.J2EEActionProvider" - dependsOn="org.eclipse.ui.navigator.resources.OpenActions"> + id="org.eclipse.jst.j2ee.navigator.ui.J2EEActionProvider"> <enablement> <or> - <instanceof value="org.eclipse.emf.ecore.EObject" /> + <instanceof value="org.eclipse.emf.ecore.EObject" /> + <instanceof value="org.eclipse.jst.j2ee.internal.provider.J2EEItemProvider"/> </or> </enablement> </actionProvider> - <actionProvider - class="org.eclipse.jst.j2ee.navigator.internal.J2EENewActionProvider" - id="org.eclipse.jst.j2ee.navigator.ui.NewActionsJ2EE"> - <enablement> - <or> - <instanceof value="org.eclipse.jst.j2ee.internal.provider.J2EEItemProvider"/> - </or> - </enablement> - </actionProvider> --> </navigatorContent> <!-- EJB New --> <commonWizard |