/* * (non-Javadoc) * * @see org.eclipse.ui.INestableKeyBindingService#removeKeyBindingService(org.eclipse.ui.IWorkbenchSite) */ public boolean removeKeyBindingService(IWorkbenchSite nestedSite) { if (disposed) { return false; } final IKeyBindingService service = (IKeyBindingService) nestedServices.remove(nestedSite); if (service == null) { return false; } if (service.equals(activeService)) { deactivateNestedService(); } return true; }
public String[] getScopes() { if (disposed) { return null; } // Get the nested scopes, if any. final String[] nestedScopes; if (activeService == null) { nestedScopes = null; } else { nestedScopes = activeService.getScopes(); } // Build the list of active scopes final Set activeScopes = new HashSet(); activeScopes.addAll(enabledContextIds); if (nestedScopes != null) { for (int i = 0; i < nestedScopes.length; i++) { activeScopes.add(nestedScopes[i]); } } return (String[]) activeScopes.toArray(new String[activeScopes.size()]); }
private void createActions() { cutAction = new Action() { @Override public void run() { viewer.cut(); } }; copyAction = new Action() { @Override public void run() { viewer.copy(); } }; pasteAction = new Action() { @Override public void run() { viewer.paste(); } }; selectAllAction = new Action() { @Override public void run() { viewer.selectAll(); } }; clearAction = new ClearAction( "Clear", "Clear console output", ImageRepository.getImageDescriptor(ImageRepository.CLEAR)); searchAction = new Action("Open Search Dialog") { @Override public void run() { NewSearchUI.openSearchDialog( getSite().getWorkbenchWindow(), PrologSearchPage.EXTENSION_POINT_ID); } }; // guiTracerAction = new GuiTracerAction(new String[] {"guitracer", "noguitracer"}, // new String[] {"activate guitracer", "deactivate guitracer"}, // new String[] {"activate GUI tracer", "deactivate GUI tracer"}, // new ImageDescriptor[] { // ImageRepository.getImageDescriptor(ImageRepository.GUITRACER), // ImageRepository.getImageDescriptor(ImageRepository.NOGUITRACER)}); activateGuiTracerAction = new ConsoleQueryAction( "Activate GUI tracer", ImageRepository.getImageDescriptor(ImageRepository.GUITRACER), "guitracer"); deactivateGuiTracerAction = new ConsoleQueryAction( "Deactivate GUI tracer", ImageRepository.getImageDescriptor(ImageRepository.NOGUITRACER), "noguitracer"); threadMonitorAction = new ConsoleQueryAction( "Show SWI thread monitor", ImageRepository.getImageDescriptor(ImageRepository.THREAD_MONITOR), "user:prolog_ide(thread_monitor)"); debugMonitorAction = new ConsoleQueryAction( "Show SWI debug message monitor", ImageRepository.getImageDescriptor(ImageRepository.DEBUG_MONITOR), "user:prolog_ide(debug_monitor)"); abortAction = new PifQueryAction( "Abort running query", ImageRepository.getImageDescriptor(ImageRepository.ABORT), bT(PDTConsolePredicates.CONSOLE_THREAD_NAME, "ID") + ", catch(thread_signal(ID, abort),_,fail)") { @Override public void run() { super.run(); if (!getModel().isConnected()) { new Thread( new Runnable() { @Override public void run() { try { Thread.sleep(500); } catch (InterruptedException e) { } try { connect(currentPif); } catch (PrologInterfaceException e) { } } }) .start(); } } }; traceAction = new PifQueryAction( "Interrupt running query and start tracing", ImageRepository.getImageDescriptor(ImageRepository.TRACE), bT(PDTConsolePredicates.CONSOLE_THREAD_NAME, "ID") + ", catch(thread_signal(ID, trace),_,fail)"); pasteFileNameAction = new PasteAction( "Paste filename", "Paste the name of the current editor file", ImageRepository.getImageDescriptor(ImageRepository.PASTE_FILENAME)) { @Override protected String getTextToInsert() { String fileName = UIUtils.getFileFromActiveEditor(); if (fileName == null) { return null; } return Util.quoteAtom(Util.prologFileName(new File(fileName))); } }; pasteFileNameAction.setActionDefinitionId(PDTConsole.COMMAND_PASTE_FILENAME); IKeyBindingService keyBindingService = getSite().getKeyBindingService(); keyBindingService.setScopes(new String[] {PDTConsole.CONTEXT_USING_CONSOLE_VIEW}); keyBindingService.registerAction(pasteFileNameAction); restartAction = new RestartAction(); killAction = new KillAction(); genLoadFileAction = new GenLoadFileAction(); createProcessAction = new CreateNamedProcessAction(); helpAction = new Action( "SWI-Prolog Documentation", ImageRepository.getImageDescriptor(ImageRepository.HELP)) { @Override public void run() { try { PlatformUI.getWorkbench() .getBrowserSupport() .getExternalBrowser() .openURL(new URL("http://www.swi-prolog.org/pldoc/index.html")); } catch (Exception e) { } } }; configAction = new Action( "Console preferences", ImageRepository.getImageDescriptor(ImageRepository.PREFERENCES)) { @Override public void run() { PreferenceManager mgr = new PreferenceManager(); IPreferencePage page = new PreferencePageMain(); page.setTitle("PDT Console"); IPreferenceNode node = new PreferenceNode("PreferencePage", page); mgr.addToRoot(node); PreferenceDialog dialog = new PreferenceDialog(getSite().getShell(), mgr); dialog.create(); dialog.setMessage(page.getTitle()); dialog.open(); } }; }