pastetemplateaction.java
来自「一个eclipse插件源代码。用于web开发」· Java 代码 · 共 95 行
JAVA
95 行
/*
* $Header: /home/cvs/WEBPUMP2.0/WebPumpIDE_Src/WebPumpIDE/src/com/webpump/ui/gefmodule/action/PasteTemplateAction.java,v 1.1.1.1 2004/07/01 09:07:46 wang_j Exp $
* $Revision: 1.1.1.1 $
* $Date: 2004/07/01 09:07:46 $
*
* ====================================================================
*
* The NanJing HopeRun(IT-FOREST) Software License, Version 2.0.0
*
* Copyright 2003-2004 by NanJing HopeRun(IT-FOREST) Information System Co., Ltd, CHINA and
* IT Forest Corporation
* All rights reserved.
*
* This software is the confidential and proprietary information of
* HopeRun(IT-FOREST) Information System Co., Ltd, CHINA and IT Forest Corporation.
* You shall not disclose such Confidential Information and shall use it only in
* accordance with the terms of the license agreement you entered into with
* HopeRun(IT-FOREST) Information System Co., Ltd, CHINA and IT Forest Corporation.
*/
package com.webpump.ui.gefmodule.action;
import org.eclipse.ui.IWorkbenchPart;
import org.eclipse.draw2d.geometry.Point;
import org.eclipse.gef.commands.Command;
import org.eclipse.gef.commands.CompoundCommand;
import org.eclipse.gef.requests.CreateRequest;
import org.eclipse.gef.requests.CreationFactory;
import org.eclipse.gef.ui.actions.*;
import com.webpump.ui.gefmodule.ModuleEditor;
import com.webpump.ui.gefmodule.command.AddCommand;
import com.webpump.ui.gefmodule.edit.ModuleEditPart;
import com.webpump.ui.gefmodule.model.ModelSubpart;
import com.webpump.ui.gefmodule.model.Module;
import com.webpump.ui.gefmodule.model.Page;
import com.webpump.ui.gefmodule.model.Task;
import com.webpump.ui.gefmodule.util.DataTransfer;
import com.webpump.ui.perspective.MacroResource;
import com.webpump.ui.perspective.WebpumpIDEPlugin;
/**
* Class for PasteTemplateAction
*
* @author shi_l
* @version 2.0.0 2004-5-30
*/
public abstract class PasteTemplateAction extends SelectionAction {
/**create request*/
private CreateRequest request;
/**times of paste*/
public static int TIMES = 1;
/**
* Constructor for PasteTemplateAction.
* @param editor
*/
public PasteTemplateAction(IWorkbenchPart editor) {
super(editor);
setToolTipText(WebpumpIDEPlugin.getResourceString(MacroResource.GEF_MODULE_ACTION_PASTE));
}
/**
* Returns <code>true</code> if the {@link Clipboard clipboard's} contents are not
* <code>null</code> and the command returned by {@link #createPasteCommand()} can
* execute.
*/
protected boolean calculateEnabled() {
Command command = createPasteCommand();
return getClipboardContents() != null && command != null && command.canExecute();
}
/**
* Creates and returns a command (which may be <code>null</code>) to create a new EditPart
* based on the template on the clipboard.
* @return the paste command
*/
protected Command createPasteCommand() {
//当前位置不能粘贴或者剪贴板中没有内容
if (getSelectedObjects() == null
|| getSelectedObjects().isEmpty()
|| getClipboardContents() == null)
return null;
//当前焦点在编辑器上
if (getSelectedObjects().get(0) instanceof ModuleEditPart) {
CompoundCommand cc = new CompoundCommand();
Object obj = getClipboardContents();
if (obj instanceof Object[]) {
for (int i = 0; i < ((Object[]) obj).length; i++) {
//页面对
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?