⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 multipageeditorcontributor.java

📁 这是用SWT写的一个自定义编辑器的一个小离子
💻 JAVA
字号:
package edit4.editors;import org.eclipse.jface.action.*;import org.eclipse.jface.dialogs.MessageDialog;import org.eclipse.jface.text.BadLocationException;import org.eclipse.jface.text.IDocument;import org.eclipse.jface.text.ITextSelection;import org.eclipse.ui.IActionBars;import org.eclipse.ui.IEditorPart;import org.eclipse.ui.IWorkbenchActionConstants;import org.eclipse.ui.PlatformUI;import org.eclipse.ui.actions.ActionFactory;import org.eclipse.ui.ide.IDE;import org.eclipse.ui.ide.IDEActionFactory;import org.eclipse.ui.part.MultiPageEditorActionBarContributor;import org.eclipse.ui.texteditor.ITextEditor;import org.eclipse.ui.texteditor.ITextEditorActionConstants;import edit4.Myedit.MyEditor;/** * Manages the installation/deinstallation of global actions for multi-page editors. * Responsible for the redirection of global actions to the active editor. * Multi-page contributor replaces the contributors for the individual editors in the multi-page editor. */public class MultiPageEditorContributor extends MultiPageEditorActionBarContributor {	private IEditorPart activeEditorPart;	private Action sampleAction,selectAction;	public MyEditor textEditor;		/**	 * Creates a multi-page contributor.	 */	public MultiPageEditorContributor() {		super();		createActions();	}	/**	 * Returns the action registed with the given text editor.	 * @return IAction or null if editor is null.	 */	protected IAction getAction(ITextEditor editor, String actionID) {		return (editor == null ? null : editor.getAction(actionID));	}	/* (non-JavaDoc)	 * Method declared in AbstractMultiPageEditorActionBarContributor.	 */	public void setActivePage(IEditorPart part) {		if (activeEditorPart == part)			return;		activeEditorPart = part;		IActionBars actionBars = getActionBars();		if (actionBars != null) {			ITextEditor editor = (part instanceof ITextEditor) ? (ITextEditor) part : null;			actionBars.setGlobalActionHandler(				ActionFactory.DELETE.getId(),				getAction(editor, ITextEditorActionConstants.DELETE));			actionBars.setGlobalActionHandler(				ActionFactory.UNDO.getId(),				getAction(editor, ITextEditorActionConstants.UNDO));			actionBars.setGlobalActionHandler(				ActionFactory.REDO.getId(),				getAction(editor, ITextEditorActionConstants.REDO));			actionBars.setGlobalActionHandler(				ActionFactory.CUT.getId(),				getAction(editor, ITextEditorActionConstants.CUT));			actionBars.setGlobalActionHandler(				ActionFactory.COPY.getId(),				getAction(editor, ITextEditorActionConstants.COPY));			actionBars.setGlobalActionHandler(				ActionFactory.PASTE.getId(),				getAction(editor, ITextEditorActionConstants.PASTE));			actionBars.setGlobalActionHandler(				ActionFactory.SELECT_ALL.getId(),				getAction(editor, ITextEditorActionConstants.SELECT_ALL));			actionBars.setGlobalActionHandler(				ActionFactory.FIND.getId(),				getAction(editor, ITextEditorActionConstants.FIND));			actionBars.setGlobalActionHandler(				IDEActionFactory.BOOKMARK.getId(),				getAction(editor, IDEActionFactory.BOOKMARK.getId()));			actionBars.updateActionBars();		}	}			private void createActions() {		selectAction = new Action(){			public void run()			{				textEditor= (MyEditor) activeEditorPart;				IDocument doc 				= textEditor.getDocumentProvider().getDocument(textEditor.getEditorInput());			    ITextSelection ts 			    = (ITextSelection)textEditor.getSelectionProvider().getSelection();			    			  							String text;					try {						text = doc.get(ts.getOffset(),ts.getLength());						 MessageDialog.openInformation(null, "我选到的文字", text);					} catch (BadLocationException e) {						// TODO Auto-generated catch block						e.printStackTrace();					}			}		};		selectAction.setText("文本选择");		selectAction.setToolTipText("文本选择");		selectAction.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().				getImageDescriptor(IDE.SharedImages.IMG_OBJ_PROJECT));			sampleAction = new Action() {			public void run() {							MessageDialog.openInformation(null, "Edit4 Plug-in", "Sample Action Executed");			}		};		sampleAction.setText("Sample Action");		sampleAction.setToolTipText("Sample Action tool tip");		sampleAction.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().				getImageDescriptor(IDE.SharedImages.IMG_OBJS_TASK_TSK));	}	public void contributeToMenu(IMenuManager manager) {		IMenuManager menu = new MenuManager("Editor &Menu");		manager.prependToGroup(IWorkbenchActionConstants.MB_ADDITIONS, menu);		menu.add(sampleAction);		menu.add(selectAction);	}	public void contributeToToolBar(IToolBarManager manager) {		manager.add(new Separator());		manager.add(sampleAction);		manager.add(selectAction);					}	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -