org.eclipse.jface.text.ITextOperationTarget#COPY源码实例Demo

下面列出了org.eclipse.jface.text.ITextOperationTarget#COPY 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

/**
 * Creates the action.
 * 
 * @param bundle
 *            the resource bundle
 * @param prefix
 *            a prefix to be prepended to the various resource keys (described in <code>ResourceAction</code>
 *            constructor), or <code>null</code> if none
 * @param editor
 *            the text editor. May not be <code>null</code>.
 * @param operationCode
 *            the operation code
 */
public ImportsAwareClipboardAction(ResourceBundle bundle, String prefix, ITextEditor editor,
		final int operationCode) {
	super(bundle, prefix, editor);
	this.operationCode = operationCode;

	if (operationCode == ITextOperationTarget.CUT) {
		setHelpContextId(IAbstractTextEditorHelpContextIds.CUT_ACTION);
		setActionDefinitionId(IWorkbenchCommandConstants.EDIT_CUT);
	} else if (operationCode == ITextOperationTarget.COPY) {
		setHelpContextId(IAbstractTextEditorHelpContextIds.COPY_ACTION);
		setActionDefinitionId(IWorkbenchCommandConstants.EDIT_COPY);
	} else if (operationCode == ITextOperationTarget.PASTE) {
		setHelpContextId(IAbstractTextEditorHelpContextIds.PASTE_ACTION);
		setActionDefinitionId(IWorkbenchCommandConstants.EDIT_PASTE);
	} else {
		Assert.isTrue(false, "Invalid operation code"); //$NON-NLS-1$
	}
	update();
}
 
/**
 * Creates the action.
 * @param bundle the resource bundle
 * @param prefix a prefix to be prepended to the various resource keys
 *   (described in <code>ResourceAction</code> constructor), or
 *   <code>null</code> if none
 * @param editor the text editor
 * @param operationCode the operation code
 */
public ClipboardOperationAction(ResourceBundle bundle, String prefix, ITextEditor editor, int operationCode) {
	super(bundle, prefix, editor);
	fOperationCode= operationCode;

	if (operationCode == ITextOperationTarget.CUT) {
		setHelpContextId(IAbstractTextEditorHelpContextIds.CUT_ACTION);
		setActionDefinitionId(IWorkbenchCommandConstants.EDIT_CUT);
	} else if (operationCode == ITextOperationTarget.COPY) {
		setHelpContextId(IAbstractTextEditorHelpContextIds.COPY_ACTION);
		setActionDefinitionId(IWorkbenchCommandConstants.EDIT_COPY);
	} else if (operationCode == ITextOperationTarget.PASTE) {
		setHelpContextId(IAbstractTextEditorHelpContextIds.PASTE_ACTION);
		setActionDefinitionId(IWorkbenchCommandConstants.EDIT_PASTE);
	} else {
		Assert.isTrue(false, "Invalid operation code"); //$NON-NLS-1$
	}
	update();
}
 
源代码3 项目: translationstudio8   文件: SegmentViewer.java
/**
 * 执行复制时对标记的处理,复制后在OS系统中不能包含标记占位符 ;
 */
private void copy() {
	super.doOperation(ITextOperationTarget.COPY);
	TextTransfer plainTextTransfer = TextTransfer.getInstance();
	XLiffTextTransfer hsTextTransfer = XLiffTextTransfer.getInstance();
	Clipboard clipboard = new Clipboard(getTextWidget().getDisplay());
	String plainText = (String) clipboard.getContents(plainTextTransfer);
	if (plainText == null || plainText.length() == 0) {
		return;
	}
	plainText = plainText.replaceAll(Utils.getLineSeparator(), "\n");
	plainText = plainText.replaceAll(Constants.LINE_SEPARATOR_CHARACTER + "", "");
	plainText = plainText.replaceAll(Constants.TAB_CHARACTER + "", "\t");
	plainText = plainText.replaceAll(Constants.SPACE_CHARACTER + "", " ");
	plainText = plainText.replaceAll("\u200B", "");
	clipboard.clearContents();
	Object[] data = new Object[] { PATTERN.matcher(plainText).replaceAll(""), plainText };
	Transfer[] types = new Transfer[] { plainTextTransfer, hsTextTransfer };

	clipboard.setContents(data, types, DND.CLIPBOARD);
	clipboard.dispose();
}
 
源代码4 项目: tmxeditor8   文件: CellEditorTextViewer.java
/**
 * 执行复制时对标记的处理,复制后在OS系统中不能包含标记占位符 ;
 */
private void copy() {
	super.doOperation(ITextOperationTarget.COPY);
	TextTransfer plainTextTransfer = TextTransfer.getInstance();
	HSTextTransfer hsTextTransfer = HSTextTransfer.getInstance();
	Clipboard clipboard = new Clipboard(getTextWidget().getDisplay());
	String plainText = (String) clipboard.getContents(plainTextTransfer);
	if (plainText == null || plainText.length() == 0) {
		return;
	}
	plainText = plainText.replaceAll(System.getProperty("line.separator"), "\n");
	plainText = plainText.replaceAll(TmxEditorConstanst.LINE_SEPARATOR_CHARACTER + "", "");
	plainText = plainText.replaceAll(TmxEditorConstanst.TAB_CHARACTER + "", "\t");
	plainText = plainText.replaceAll(TmxEditorConstanst.SPACE_CHARACTER + "", " ");
	plainText = plainText.replaceAll("\u200B", "");
	clipboard.clearContents();
	Object[] data = new Object[] { PATTERN.matcher(plainText).replaceAll(""), plainText };
	Transfer[] types = new Transfer[] { plainTextTransfer, hsTextTransfer };

	clipboard.setContents(data, types);
	clipboard.dispose();
}
 
源代码5 项目: translationstudio8   文件: SegmentViewer.java
/**
 * 重载此方法,实现粘贴、复制前对标记的处理。<br>
 * 已经移出了 默认的复制、粘贴事件键绑定, 参考{@link CellEditorTextViewer#initListener()}
 * @see org.eclipse.jface.text.TextViewer#doOperation(int)
 */
@Override
public void doOperation(int operation) {
	if (operation == ITextOperationTarget.PASTE) {
		parse();
		return;
	}
	if (operation == ITextOperationTarget.COPY) {
		copy();
		return;
	}
	super.doOperation(operation);
}
 
源代码6 项目: tmxeditor8   文件: CellEditorTextViewer.java
/**
 * 重载此方法,实现粘贴、复制前对标记的处理。<br>
 * 已经移出了 默认的复制、粘贴事件键绑定, 参考{@link CellEditorTextViewer#initListener()}
 * @see org.eclipse.jface.text.TextViewer#doOperation(int)
 */
@Override
public void doOperation(int operation) {
	if (operation == ITextOperationTarget.PASTE) {
		parse();
		return;
	}
	if (operation == ITextOperationTarget.COPY) {
		copy();
		return;
	}
	super.doOperation(operation);
}
 
private boolean isModifyOperation() {
	return operationCode != ITextOperationTarget.COPY;
}
 
源代码8 项目: typescript.java   文件: EditTemplateDialog.java
private void initializeActions() {
	TextViewerAction action = new TextViewerAction(fPatternEditor, ITextOperationTarget.UNDO);
	action.setText(JSDTTypeScriptUIMessages.EditTemplateDialog_undo);
	fGlobalActions.put(ITextEditorActionConstants.UNDO, action);

	action = new TextViewerAction(fPatternEditor, ITextOperationTarget.CUT);
	action.setText(JSDTTypeScriptUIMessages.EditTemplateDialog_cut);
	fGlobalActions.put(ITextEditorActionConstants.CUT, action);

	action = new TextViewerAction(fPatternEditor, ITextOperationTarget.COPY);
	action.setText(JSDTTypeScriptUIMessages.EditTemplateDialog_copy);
	fGlobalActions.put(ITextEditorActionConstants.COPY, action);

	action = new TextViewerAction(fPatternEditor, ITextOperationTarget.PASTE);
	action.setText(JSDTTypeScriptUIMessages.EditTemplateDialog_paste);
	fGlobalActions.put(ITextEditorActionConstants.PASTE, action);

	action = new TextViewerAction(fPatternEditor, ITextOperationTarget.SELECT_ALL);
	action.setText(JSDTTypeScriptUIMessages.EditTemplateDialog_select_all);
	fGlobalActions.put(ITextEditorActionConstants.SELECT_ALL, action);

	action = new TextViewerAction(fPatternEditor, ISourceViewer.CONTENTASSIST_PROPOSALS);
	action.setText(JSDTTypeScriptUIMessages.EditTemplateDialog_content_assist);
	fGlobalActions.put("ContentAssistProposal", action); //$NON-NLS-1$

	fSelectionActions.add(ITextEditorActionConstants.CUT);
	fSelectionActions.add(ITextEditorActionConstants.COPY);
	fSelectionActions.add(ITextEditorActionConstants.PASTE);

	// create context menu
	MenuManager manager = new MenuManager(null, null);
	manager.setRemoveAllWhenShown(true);
	manager.addMenuListener(new IMenuListener() {
		public void menuAboutToShow(IMenuManager mgr) {
			fillContextMenu(mgr);
		}
	});

	StyledText text = fPatternEditor.getTextWidget();
	Menu menu = manager.createContextMenu(text);
	text.setMenu(menu);
}
 
private boolean isReadOnlyOperation() {
	return fOperationCode == ITextOperationTarget.COPY;
}