public NewTextSearchActionGroup(IViewPart part) { Assert.isNotNull(part); IWorkbenchPartSite site = part.getSite(); fSelectionProvider = site.getSelectionProvider(); fPage = site.getPage(); fOpenPropertiesDialog = new PropertyDialogAction(site, fSelectionProvider); fOpenAction = new OpenFileAction(fPage); ISelection selection = fSelectionProvider.getSelection(); if (selection instanceof IStructuredSelection) { fOpenPropertiesDialog.selectionChanged((IStructuredSelection) selection); } else { fOpenPropertiesDialog.selectionChanged(selection); } }
@Override protected void fillContextMenu(IMenuManager menuManager) { super.fillContextMenu(menuManager); final IStructuredSelection selectedItems = getSelectedItems(); if (selectedItems.isEmpty()) { return; } IWorkbenchPage activePage = getActivePage(); if (activePage == null) { return; } menuManager.add(new Separator()); // Add 'Open' menu item OpenFileAction openFileAction = new OpenFileAction(activePage) { @Override public void run() { okPressed(); } }; openFileAction.selectionChanged(selectedItems); if (openFileAction.isEnabled()) { menuManager.add(openFileAction); IAdaptable selectedAdaptable = getSelectedAdaptable(); if (selectedAdaptable != null) { // Add 'Open With' sub-menu MenuManager subMenu = new MenuManager("Open with"); OpenWithMenu openWithMenu = new ResourceOpenWithMenu(activePage, selectedAdaptable); subMenu.add(openWithMenu); menuManager.add(subMenu); } } }
@Override public void init(final ICommonActionExtensionSite aConfig) { if (aConfig.getViewSite() instanceof ICommonViewerWorkbenchSite) { viewSite = (ICommonViewerWorkbenchSite) aConfig.getViewSite(); openFileAction = new OpenFileAction(viewSite.getPage()); contribute = true; } }
@Override protected void fillContextMenu(IMenuManager menuManager) { super.fillContextMenu(menuManager); IStructuredSelection selectedItems = getSelectedItems(); if (selectedItems.isEmpty()) { return; } IWorkbenchPage activePage = getActivePage(); if (activePage == null) { return; } // Add 'Open' menu item OpenFileAction openFileAction = new OpenFileAction(activePage) { @Override public void run() { okPressed(); } }; openFileAction.selectionChanged(selectedItems); if (!openFileAction.isEnabled()) { return; } menuManager.add(new Separator()); menuManager.add(openFileAction); IAdaptable selectedAdaptable = getSelectedAdaptable(); if (selectedAdaptable == null) { return; } // Add 'Open With...' sub-menu MenuManager subMenu = new MenuManager(IDEWorkbenchMessages.OpenResourceDialog_openWithMenu_label); OpenWithMenu openWithMenu = new OpenWithMenu(activePage, selectedAdaptable) { /* * (non-Javadoc) * @see org.eclipse.ui.actions.OpenWithMenu#openEditor(org.eclipse.ui.IEditorDescriptor, boolean) */ @Override protected void openEditor(IEditorDescriptor editorDescriptor, boolean openUsingDescriptor) { computeResult(); setResult(Collections.EMPTY_LIST); close(); super.openEditor(editorDescriptor, openUsingDescriptor); } }; subMenu.add(openWithMenu); menuManager.add(subMenu); }