Index: Eclipse UI/org/eclipse/ui/IWorkbenchPartSite.java =================================================================== RCS file: /home/eclipse/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/IWorkbenchPartSite.java,v retrieving revision 1.7 diff -u -r1.7 IWorkbenchPartSite.java --- Eclipse UI/org/eclipse/ui/IWorkbenchPartSite.java 14 Jul 2003 19:30:10 -0000 1.7 +++ Eclipse UI/org/eclipse/ui/IWorkbenchPartSite.java 17 Sep 2003 20:00:52 -0000 @@ -12,6 +12,7 @@ import org.eclipse.jface.action.MenuManager; import org.eclipse.jface.viewers.ISelectionProvider; +import org.eclipse.ui.commands.IActionService; /** * The primary interface between a workbench part and the outside world. @@ -21,7 +22,13 @@ */ public interface IWorkbenchPartSite extends IWorkbenchSite { - +/** + * An accessor for the service allowing actions to be registered as handlers for + * commands. + * @return The action service; never null. + * @since 3.0 + */ +public IActionService getActionService(); /** * Returns the part registry extension id for this workbench site's part. *

@@ -111,6 +118,7 @@ * * @return the key binding service in use * @since 2.1 + * @deprecated */ public IKeyBindingService getKeyBindingService(); Index: Eclipse UI/org/eclipse/ui/part/MultiPageEditorSite.java =================================================================== RCS file: /home/eclipse/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/MultiPageEditorSite.java,v retrieving revision 1.7 diff -u -r1.7 MultiPageEditorSite.java --- Eclipse UI/org/eclipse/ui/part/MultiPageEditorSite.java 10 Mar 2003 22:09:24 -0000 1.7 +++ Eclipse UI/org/eclipse/ui/part/MultiPageEditorSite.java 17 Sep 2003 20:00:52 -0000 @@ -15,9 +15,19 @@ import org.eclipse.jface.action.MenuManager; import org.eclipse.jface.util.Assert; -import org.eclipse.jface.viewers.*; +import org.eclipse.jface.viewers.ILabelDecorator; +import org.eclipse.jface.viewers.ISelectionChangedListener; +import org.eclipse.jface.viewers.ISelectionProvider; +import org.eclipse.jface.viewers.SelectionChangedEvent; import org.eclipse.swt.widgets.Shell; -import org.eclipse.ui.*; +import org.eclipse.ui.IActionBars; +import org.eclipse.ui.IEditorActionBarContributor; +import org.eclipse.ui.IEditorPart; +import org.eclipse.ui.IEditorSite; +import org.eclipse.ui.IKeyBindingService; +import org.eclipse.ui.IWorkbenchPage; +import org.eclipse.ui.IWorkbenchWindow; +import org.eclipse.ui.commands.IActionService; import org.eclipse.ui.internal.PopupMenuExtender; /** @@ -102,6 +112,13 @@ return multiPageEditor.getEditorSite().getActionBars(); } + /* (non-Javadoc) + * Method declared on IWorkbenchPartSite. + */ + public IActionService getActionService() { + return getMultiPageEditor().getEditorSite().getActionService(); + } + /** * The MultiPageEditorSite implementation of this * IWorkbenchPartSite method forwards to the multi-page editor to @@ -131,7 +148,7 @@ } /* (non-Javadoc) - * Method declared on IEditorSite. + * Method declared on IWorkbenchPartSite. */ public IKeyBindingService getKeyBindingService() { return getMultiPageEditor().getEditorSite().getKeyBindingService(); Index: Eclipse UI/org/eclipse/ui/IWorkbenchCommandConstants.java =================================================================== RCS file: Eclipse UI/org/eclipse/ui/IWorkbenchCommandConstants.java diff -N Eclipse UI/org/eclipse/ui/IWorkbenchCommandConstants.java --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ Eclipse UI/org/eclipse/ui/IWorkbenchCommandConstants.java 1 Jan 1970 00:00:00 -0000 @@ -0,0 +1,185 @@ +/******************************************************************************* + * Copyright (c) 2000, 2003 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Common Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/cpl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.ui; + +/** + * Command identifiers for commands provided by the workbench. + *

+ * This interface contains constants only; it is not intended to be implemented + * or extended. + *

+ *

To demonstrate how to register actions with commands, let us consider the + * case where you would like to hook a new handler for the global delete command + * on to a specific IWorkbenchPartSite. Let's call this action + * deleteAction and call your site site. + *

+ * Now, to register a new-style IAction instance as a handler for a + * command, you would do the following: + *

+ * + * site.getActionService().addAction(IWorkbenchCommandConstants.EDIT_DELETE, deleteAction); + * + *

+ * To register an old-style action as a handler for a command (this is the + * org.eclipse.jface.action.IAction), you would do the following: + *

+ * + * deleteAction.setActionDefinitionId(IWorkbenchCommandConstants.EDIT_DELETE); + * site.getKeyBindingService().registerAction(deleteAction); + * + *

+ * For editors, this should be done in the + * IEditorActionBarContributor. + *

+ * + * @see org.eclipse.ui.IActionBars#setGlobalActionHandler + * @see org.eclipse.ui.commands.IAction + * @see org.eclipse.ui.commands.IActionService + * + * @since 3.0 + */ +public interface IWorkbenchCommandConstants { + /* TODO Verify that the comment about IEditorActionBarContributor is + * correct. + */ + + /* TODO Add a test in our suite that verifies that this is the complete list + * of commands defined -- no more and no less. + */ + + public static final String EDIT_ADD_BOOKMARK = "org.eclipse.ui.edit.addBookmark"; //$NON-NLS-1$ + public static final String EDIT_ADD_TASK = "org.eclipse.ui.edit.addTask"; //$NON-NLS-1$ + public static final String EDIT_COPY = "org.eclipse.ui.edit.copy"; //$NON-NLS-1$ + public static final String EDIT_CUT = "org.eclipse.ui.edit.cut"; //$NON-NLS-1$ + public static final String EDIT_DELETE = "org.eclipse.ui.edit.delete"; //$NON-NLS-1$ + public static final String EDIT_FIND_INCREMENTAL = "org.eclipse.ui.edit.findIncremental"; //$NON-NLS-1$ + public static final String EDIT_FIND_INCREMENTAL_REVERSE = "org.eclipse.ui.edit.findIncrementalReverse"; //$NON-NLS-1$ + public static final String EDIT_FIND_NEXT = "org.eclipse.ui.edit.findNext"; //$NON-NLS-1$ + public static final String EDIT_FIND_PREVIOUS = "org.eclipse.ui.edit.findPrevious"; //$NON-NLS-1$ + public static final String EDIT_FIND_REPLACE = "org.eclipse.ui.edit.findReplace"; //$NON-NLS-1$ + public static final String EDIT_MOVE = "org.eclipse.ui.edit.move"; //$NON-NLS-1$ + public static final String EDIT_PASTE = "org.eclipse.ui.edit.paste"; //$NON-NLS-1$ + public static final String EDIT_REDO = "org.eclipse.ui.edit.redo"; //$NON-NLS-1$ + public static final String EDIT_RENAME = "org.eclipse.ui.edit.rename"; //$NON-NLS-1$ + public static final String EDIT_REVERT_TO_SAVED = "org.eclipse.ui.edit.revertToSaved"; //$NON-NLS-1$ + public static final String EDIT_SELECT_ALL = "org.eclipse.ui.edit.selectAll"; //$NON-NLS-1$ + public static final String EDIT_TEXT_CLEAR_MARK = "org.eclipse.ui.edit.text.clear.mark"; //$NON-NLS-1$ + public static final String EDIT_TEXT_CONTENT_ASSIST_CONTENT_INFORMATION = "org.eclipse.ui.edit.text.contentAssist.contextInformation"; //$NON-NLS-1$ + public static final String EDIT_TEXT_CONTENT_ASSIST_PROPOSALS = "org.eclipse.ui.edit.text.contentAssist.proposals"; //$NON-NLS-1$ + public static final String EDIT_TEXT_CUT_LINE = "org.eclipse.ui.edit.text.cut.line"; //$NON-NLS-1$ + public static final String EDIT_TEXT_CUT_LINE_TO_BEGINNING = "org.eclipse.ui.edit.text.cut.line.to.beginning"; //$NON-NLS-1$ + public static final String EDIT_TEXT_CUT_LINE_TO_END = "org.eclipse.ui.edit.text.cut.line.to.end"; //$NON-NLS-1$ + public static final String EDIT_TEXT_DELETE_LINE = "org.eclipse.ui.edit.text.delete.line"; //$NON-NLS-1$ + public static final String EDIT_TEXT_DELETE_LINE_TO_BEGINNING = "org.eclipse.ui.edit.text.delete.line.to.beginning"; //$NON-NLS-1$ + public static final String EDIT_TEXT_DELETE_LINE_TO_END = "org.eclipse.ui.edit.text.delete.line.to.end"; //$NON-NLS-1$ + public static final String EDIT_TEXT_DELETE_NEXT = "org.eclipse.ui.edit.text.deleteNext"; //$NON-NLS-1$ + public static final String EDIT_TEXT_DELETE_NEXT_WORD = "org.eclipse.ui.edit.text.deleteNextWord"; //$NON-NLS-1$ + public static final String EDIT_TEXT_DELETE_PREVIOUS = "org.eclipse.ui.edit.text.deletePrevious"; //$NON-NLS-1$ + public static final String EDIT_TEXT_DELETE_PREVIOUS_WORD = "org.eclipse.ui.edit.text.deletePreviousWord "; //$NON-NLS-1$ + public static final String EDIT_TEXT_ENCODING_CUSTOM = "org.eclipse.ui.edit.text.encoding.custom"; //$NON-NLS-1$ + public static final String EDIT_TEXT_ENCODING_ISO88591 = "org.eclipse.ui.edit.text.encoding.iso-8859-1"; //$NON-NLS-1$ + public static final String EDIT_TEXT_ENCODING_SYSTEM = "org.eclipse.ui.edit.text.encoding.system"; //$NON-NLS-1$ + public static final String EDIT_TEXT_ENCODING_USASCII = "org.eclipse.ui.edit.text.encoding.us-ascii"; //$NON-NLS-1$ + public static final String EDIT_TEXT_ENCODING_UTF16 = "org.eclipse.ui.edit.text.encoding.utf-16"; //$NON-NLS-1$ + public static final String EDIT_TEXT_ENCODING_UTF16BE = "org.eclipse.ui.edit.text.encoding.utf-16be"; //$NON-NLS-1$ + public static final String EDIT_TEXT_ENCODING_UTF16LE = "org.eclipse.ui.edit.text.encoding.utf-16le"; //$NON-NLS-1$ + public static final String EDIT_TEXT_ENCODING_UTF8 = "org.eclipse.ui.edit.text.encoding.utf-8"; //$NON-NLS-1$ + public static final String EDIT_TEXT_GOTO_COLUMN_NEXT = "org.eclipse.ui.edit.text.goto.columnNext"; //$NON-NLS-1$ + public static final String EDIT_TEXT_GOTO_COLUMN_PREVIOUS = "org.eclipse.ui.edit.text.goto.columnPrevious"; //$NON-NLS-1$ + public static final String EDIT_TEXT_GOTO_LINE = "org.eclipse.ui.edit.text.goto.line"; //$NON-NLS-1$ + public static final String EDIT_TEXT_GOTO_LINE_DOWN = "org.eclipse.ui.edit.text.goto.lineDown"; //$NON-NLS-1$ + public static final String EDIT_TEXT_GOTO_LINE_END = "org.eclipse.ui.edit.text.goto.lineEnd"; //$NON-NLS-1$ + public static final String EDIT_TEXT_GOTO_LINE_START = "org.eclipse.ui.edit.text.goto.lineStart"; //$NON-NLS-1$ + public static final String EDIT_TEXT_GOTO_LINE_UP = "org.eclipse.ui.edit.text.goto.lineUp"; //$NON-NLS-1$ + public static final String EDIT_TEXT_GOTO_PAGE_DOWN = "org.eclipse.ui.edit.text.goto.pageDown"; //$NON-NLS-1$ + public static final String EDIT_TEXT_GOTO_PAGE_UP = "org.eclipse.ui.edit.text.goto.pageUp"; //$NON-NLS-1$ + public static final String EDIT_TEXT_GOTO_TEXT_END = "org.eclipse.ui.edit.text.goto.textEnd"; //$NON-NLS-1$ + public static final String EDIT_TEXT_GOTO_TEXT_START = "org.eclipse.ui.edit.text.goto.textStart"; //$NON-NLS-1$ + public static final String EDIT_TEXT_GOTO_WINDOW_END = "org.eclipse.ui.edit.text.goto.windowEnd"; //$NON-NLS-1$ + public static final String EDIT_TEXT_GOTO_WINDOW_START = "org.eclipse.ui.edit.text.goto.windowStart"; //$NON-NLS-1$ + public static final String EDIT_TEXT_GOTO_WORK_NEXT = "org.eclipse.ui.edit.text.goto.wordNext"; //$NON-NLS-1$ + public static final String EDIT_TEXT_GOTO_WORK_PREVIOUS = "org.eclipse.ui.edit.text.goto.wordPrevious"; //$NON-NLS-1$ + public static final String EDIT_TEXT_SCROLL_LINE_DOWN = "org.eclipse.ui.edit.text.scroll.lineDown"; //$NON-NLS-1$ + public static final String EDIT_TEXT_SCROLL_LINE_UP = "org.eclipse.ui.edit.text.scroll.lineUp"; //$NON-NLS-1$ + public static final String EDIT_TEXT_SELECT_COLUMN_NEXT = "org.eclipse.ui.edit.text.select.columnNext"; //$NON-NLS-1$ + public static final String EDIT_TEXT_SELECT_COLUMN_PREVOUS= "org.eclipse.ui.edit.text.select.columnPrevious"; //$NON-NLS-1$ + public static final String EDIT_TEXT_SELECT_LINE_DOWN = "org.eclipse.ui.edit.text.select.lineDown"; //$NON-NLS-1$ + public static final String EDIT_TEXT_SELECT_LINE_END = "org.eclipse.ui.edit.text.select.lineEnd"; //$NON-NLS-1$ + public static final String EDIT_TEXT_SELECT_LINE_START = "org.eclipse.ui.edit.text.select.lineStart"; //$NON-NLS-1$ + public static final String EDIT_TEXT_SELECT_LINE_UP = "org.eclipse.ui.edit.text.select.lineUp"; //$NON-NLS-1$ + public static final String EDIT_TEXT_SELECT_PAGE_DOWN = "org.eclipse.ui.edit.text.select.pageDown"; //$NON-NLS-1$ + public static final String EDIT_TEXT_SELECT_PAGE_UP = "org.eclipse.ui.edit.text.select.pageUp"; //$NON-NLS-1$ + public static final String EDIT_TEXT_SELECT_TEXT_END = "org.eclipse.ui.edit.text.select.textEnd"; //$NON-NLS-1$ + public static final String EDIT_TEXT_SELECT_TEXT_START = "org.eclipse.ui.edit.text.select.textStart"; //$NON-NLS-1$ + public static final String EDIT_TEXT_SELECT_WINDOW_END = "org.eclipse.ui.edit.text.select.windowEnd"; //$NON-NLS-1$ + public static final String EDIT_TEXT_SELECT_WINDOW_START = "org.eclipse.ui.edit.text.select.windowStart"; //$NON-NLS-1$ + public static final String EDIT_TEXT_SELECT_WORD_NEXT = "org.eclipse.ui.edit.text.select.wordNext"; //$NON-NLS-1$ + public static final String EDIT_TEXT_SELECT_WORD_PREVIOUS = "org.eclipse.ui.edit.text.select.wordPrevious"; //$NON-NLS-1$ + public static final String EDIT_TEXT_SET_MARK = "org.eclipse.ui.edit.text.set.mark"; //$NON-NLS-1$ + public static final String EDIT_TEXT_SHIFT_LEFT = "org.eclipse.ui.edit.text.shiftLeft"; //$NON-NLS-1$ + public static final String EDIT_TEXT_SHIFT_RIGHT = "org.eclipse.ui.edit.text.shiftRight"; //$NON-NLS-1$ + public static final String EDIT_TEXT_SHOW_RULER_CONTEXT_MENU = "org.eclipse.ui.edit.text.showRulerContextMenu"; //$NON-NLS-1$ + public static final String EDIT_TEXT_SWAP_MARK = "org.eclipse.ui.edit.text.swap.mark"; //$NON-NLS-1$ + public static final String EDIT_TEXT_TOGGLE_OVERWRITE = "org.eclipse.ui.edit.text.toggleOverwrite"; //$NON-NLS-1$ + public static final String EDIT_UNDO = "org.eclipse.ui.edit.undo"; //$NON-NLS-1$ + public static final String FILE_CLOSE = "org.eclipse.ui.file.close"; //$NON-NLS-1$ + public static final String FILE_CLOSE_ALL = "org.eclipse.ui.file.closeAll"; //$NON-NLS-1$ + public static final String FILE_EXPORT = "org.eclipse.ui.file.export"; //$NON-NLS-1$ + public static final String FILE_IMPORT = "org.eclipse.ui.file.import"; //$NON-NLS-1$ + public static final String FILE_PRINT = "org.eclipse.ui.file.print"; //$NON-NLS-1$ + public static final String FILE_PROPERTIES = "org.eclipse.ui.file.properties"; //$NON-NLS-1$ + public static final String FILE_REFRESH = "org.eclipse.ui.file.refresh"; //$NON-NLS-1$ + public static final String FILE_REVERT = "org.eclipse.ui.file.revert"; //$NON-NLS-1$ + public static final String FILE_SAVE = "org.eclipse.ui.file.save"; //$NON-NLS-1$ + public static final String FILE_SAVE_ALL = "org.eclipse.ui.file.saveAll"; //$NON-NLS-1$ + public static final String FILE_SAVE_AS = "org.eclipse.ui.file.saveAs"; //$NON-NLS-1$ + public static final String HELP_ABOUT_ACTION= "org.eclipse.ui.help.aboutAction"; //$NON-NLS-1$ + public static final String HELP_QUICK_START = "org.eclipse.ui.help.quickStartAction"; //$NON-NLS-1$ + public static final String HELP_TIPS_AND_TRICKS = "org.eclipse.ui.help.tipsAndTricksAction"; //$NON-NLS-1$ + public static final String NAVIGATE_BACK = "org.eclipse.ui.navigate.back"; //$NON-NLS-1$ + public static final String NAVIGATE_BACKWARD_HISTORY = "org.eclipse.ui.navigate.backwardHistory"; //$NON-NLS-1$ + public static final String NAVIGATE_FORWARD = "org.eclipse.ui.navigate.forward"; //$NON-NLS-1$ + public static final String NAVIGATE_FORWARD_HISTORY = "org.eclipse.ui.navigate.forwardHistory"; //$NON-NLS-1$ + public static final String NAVIGATE_GO_INTO = "org.eclipse.ui.navigate.goInto"; //$NON-NLS-1$ + public static final String NAVIGATE_GO_TO_RESOURCE = "org.eclipse.ui.navigate.goToResource"; //$NON-NLS-1$ + public static final String NAVIGATE_NEXT = "org.eclipse.ui.navigate.next"; //$NON-NLS-1$ + public static final String NAVIGATE_OPEN_RESOURCE = "org.eclipse.ui.navigate.openResource"; //$NON-NLS-1$ + public static final String NAVIGATE_PREVIOUS = "org.eclipse.ui.navigate.previous"; //$NON-NLS-1$ + public static final String NAVIGATE_UP = "org.eclipse.ui.navigate.up"; //$NON-NLS-1$ + public static final String NEW_WIZARD = "org.eclipse.ui.newWizard"; //$NON-NLS-1$ + public static final String PROJECT_BUILD_ALL = "org.eclipse.ui.project.buildAll"; //$NON-NLS-1$ + public static final String PROJECT_BUILD_PROJECT = "org.eclipse.ui.project.buildProject"; //$NON-NLS-1$ + public static final String PROJECT_CLOSE_PROJECT = "org.eclipse.ui.project.closeProject"; //$NON-NLS-1$ + public static final String PROJECT_OPEN_PROJECT = "org.eclipse.ui.project.openProject"; //$NON-NLS-1$ + public static final String PROJECT_PROPERTIES = "org.eclipse.ui.project.properties"; //$NON-NLS-1$ + public static final String PROJECT_REBUILD_ALL = "org.eclipse.ui.project.rebuildAll"; //$NON-NLS-1$ + public static final String PROJECT_REBUILD_PROJECT = "org.eclipse.ui.project.rebuildProject"; //$NON-NLS-1$ + public static final String WINDOW_ACTIVATE_EDITOR = "org.eclipse.ui.window.activateEditor"; //$NON-NLS-1$ + public static final String WINDOW_CLOSE_ALL_PERSPECTIVES = "org.eclipse.ui.window.closeAllPerspectives"; //$NON-NLS-1$ + public static final String WINDOW_CLOSE_PERSPECTIVE = "org.eclipse.ui.window.closePerspective"; //$NON-NLS-1$ + public static final String WINDOW_CUSTOMIZE_PERSPECTIVE = "org.eclipse.ui.window.customizePerspective"; //$NON-NLS-1$ + public static final String WINDOW_HIDE_SHOW_EDITORS = "org.eclipse.ui.window.hideShowEditors"; //$NON-NLS-1$ + public static final String WINDOW_LOCK_TOOL_BAR = "org.eclipse.ui.window.lockToolBar"; //$NON-NLS-1$ + public static final String WINDOW_MAXIMIZE_PART = "org.eclipse.ui.window.maximizePart"; //$NON-NLS-1$ + public static final String WINDOW_NEXT_EDITOR = "org.eclipse.ui.window.nextEditor"; //$NON-NLS-1$ + public static final String WINDOW_NEXT_PERSPECTIVE = "org.eclipse.ui.window.nextPerspective"; //$NON-NLS-1$ + public static final String WINDOW_NEXT_VIEW = "org.eclipse.ui.window.nextView"; //$NON-NLS-1$ + public static final String WINDOW_PIN_EDITOR = "org.eclipse.ui.window.pinEditor"; //$NON-NLS-1$ + public static final String WINDOW_PREFERENCES = "org.eclipse.ui.window.preferences"; //$NON-NLS-1$ + public static final String WINDOW_PREVIOUS_EDITOR = "org.eclipse.ui.window.previousEditor"; //$NON-NLS-1$ + public static final String WINDOW_PREVIOUS_PERSPECTIVE = "org.eclipse.ui.window.previousPerspective"; //$NON-NLS-1$ + public static final String WINDOW_PREVIOUS_VIEW = "org.eclipse.ui.window.previousView"; //$NON-NLS-1$ + public static final String WINDOW_RESET_PERSPECTIVE = "org.eclipse.ui.window.resetPerspective"; //$NON-NLS-1$ + public static final String WINDOW_SAVE_PERPSECTIVE = "org.eclipse.ui.window.savePerspective"; //$NON-NLS-1$ + public static final String WINDOW_SHOW_SYSTEM_MENU = "org.eclipse.ui.window.showSystemMenu"; //$NON-NLS-1$ + public static final String WINDOW_SHOW_VIEW_MENU = "org.eclipse.ui.window.showViewMenu"; //$NON-NLS-1$ + public static final String WINDOW_SWITCH_TO_EDITOR = "org.eclipse.ui.window.switchToEditor"; //$NON-NLS-1$ +}