通过重载PSE粘贴命令,增加粘贴后处理
在com.teamcenter.rac.tcapp13.0.0.jar的 com.teamcenter.rac.pse下的pse.properties中:
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Edit->Paste (pasteAction inherited from tc/common/actions)
pastePropertyAction=com.teamcenter.rac.pse.actions.PasteProperty
pastePropertyAction.COMMAND=pasteCommand
pasteCommand=com.teamcenter.rac.pse.commands.MoveToCommand
pasteBOMLineAsCommand=com.teamcenter.rac.pse.commands.PasteAsPSECommand
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
在自己的rcp项目中,添加com.teamcenter.rac.pse包,创建pse_user.properties文件:
# @<COPYRIGHT>@
# ==================================================
# Copyright 2010.
# Siemens Product Lifecycle Management Software Inc.
# All Rights Reserved.
# ==================================================
# @<COPYRIGHT>@
# File description:
# This properties file contains all keys pertaining to the PSE package.
pasteCommand=com.teamcenter.rac.pse.commands.ZLMoveToCommand
#pasteBOMLineAsCommand=com.teamcenter.rac.pse.commands.ZLPasteAsPSECommand
1.2新建命令,并集成原有命令
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space
package com.teamcenter.rac.pse.commands;
import com.teamcenter.rac.aif.InterfaceAIFOperationExecutionListener;
import com.teamcenter.rac.aif.kernel.AIFComponentContext;
import com.teamcenter.rac.aif.kernel.InterfaceAIFComponent;
import com.teamcenter.rac.aifrcp.AIFUtility;
import com.teamcenter.rac.commands.paste.PasteCommand;
import com.teamcenter.rac.commands.paste.PasteDialog;
import com.teamcenter.rac.common.Activator;
import com.teamcenter.rac.kernel.*;
import com.teamcenter.rac.pse.commands.MoveToCommand;
import com.teamcenter.rac.pse.common.BOMLineMarkupNode;
import com.teamcenter.rac.pse.dialogs.BOMPasteDialog;
import com.teamcenter.rac.pse.operations.MoveToOperation;
import com.teamcenter.rac.services.IProgressCheckingService;
import com.teamcenter.rac.util.*;
import com.teamcenter.rac.util.log.TcLogger;
import java.awt.Frame;
import java.util.HashSet;
import java.util.Set;
import org.eclipse.swt.widgets.Display;
public class ZLMoveToCommand extends MoveToCommand
{
private IProgressCheckingService m_progressCheckingService;
TcLogger logger=TcLogger.getLogger(ZLMoveToCommand.class);
public ZLMoveToCommand()
{
logger.info("测试1ZLMoveToCommand");
}
public ZLMoveToCommand(InterfaceAIFComponent ainterfaceaifcomponent[], Boolean boolean1, Boolean boolean2)
{
super(ainterfaceaifcomponent, boolean1, boolean2);
logger.info("测试1ZLMoveToCommand2");
}
public ZLMoveToCommand(InterfaceAIFComponent ainterfaceaifcomponent[], String s, Boolean boolean1,