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

📄 jfoperationaddport.java

📁 用Java开发的、实现类似Visio功能的应用程序源码
💻 JAVA
字号:
/**
 *    $Id:JFOperationAddPort.java $
 *
 *    Copyright 2004 ~ 2005  JingFei International Cooperation LTD. All rights reserved. *
 */
package com.jfimagine.jfgraph.shape.action;


import java.util.List;
import java.util.ArrayList;
import java.util.Iterator;

import com.jfimagine.jfgraph.geom.JFPoint;
import com.jfimagine.jfgraph.shape.base.AbstractObject;
import com.jfimagine.jfgraph.shape.base.AbstractShape;
import com.jfimagine.jfgraph.shape.base.Port;

import com.jfimagine.jfgraph.shape.union.JFPage;
import com.jfimagine.jfgraph.shape.union.JFLayer;

/**
 *  Class JFOperationAddPort is used to record an add port operation.
 */
public class JFOperationAddPort extends JFOperation{

	/** port newly created */
	private   Port m_port			=null;

	/** position of the port
	 *  A position of a port may change by reasons, so 
	 *  here we use a port position to register that.
	 */
	private   JFPoint m_portPosition        =new JFPoint();

	/**  
	 *    Constructor.
	 *    @param page A page that used to do opeation.
	 *    @param port A new created port.
	 */        
        public JFOperationAddPort(JFPage page,Port port){
        	m_page	=page;
		setActionId(JFOperation.OPER_ADDPORT);
		setObjectId(port.getParentId());
		try{
			m_port	=(Port)port.clone();
			m_portPosition.setValue(port.getPortPoint());
		}catch(Exception e){
		}
	}

	/** undo this operation
	 *  @return new objects selected
	 */
	public List undo(){
		try{
			AbstractShape aShape	=(AbstractShape)getObject();
			Port port	=aShape.getPortByObjectId(m_port.getObjectId());
			if (port!=null){
				aShape.getPortList().removeByObjectId(m_port.getObjectId());
				m_portPosition.setValue(port.getPortPoint());
			}
		}catch(Exception e){
		}
	
		return getObjectList();
	}

	/** redo this operation
	 *  @return new objects selected
	 */
	public List redo(){
		try{
			AbstractShape aShape	=(AbstractShape)getObject();
			Port port	=aShape.addPort(m_portPosition.getX(),m_portPosition.getY());
			if (port!=null){
				port.setObjectId(m_port.getObjectId());
				m_port	=(Port)port.clone();
			}
		}catch(Exception e){
		}
	
		return getObjectList();
	}

	
}

⌨️ 快捷键说明

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