📄 jfoperationmirror.java
字号:
/**
* $Id:JFOperationMirror.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.union.JFPage;
/**
* Class JFOperationMirror is used to record a mirror operation.
*/
public class JFOperationMirror extends JFOperationModifyPorts{
/**a base x coordinate for mirror*/
private double m_baseX=0;
/**
* Constructor.
* @param page A page that used to do opeation.
* @param obj The object has been mirrord(this object must be AbstractObject or a list of AbstractObject).
* @param baseX a base x coordinate for mirror.
*/
public JFOperationMirror(JFPage page,Object obj,double baseX){
m_page =page;
setActionId(JFOperation.OPER_MIRROR);
if (obj instanceof AbstractObject){
AbstractObject aObj =(AbstractObject)obj;
setObjectId(aObj.getObjectId());
List l =new ArrayList();
l.add(aObj);
setModifyPortsList(l);
}else{
List aList =(List)obj;
setObjectList(aList);
setModifyPortsList(aList);
}
m_baseX =baseX;
}
/** undo this operation
* @return new objects selected
*/
public List undo(){
List objList =getObjectList();
Iterator it =objList.iterator();
while (it!=null && it.hasNext()){
AbstractShape aShape =(AbstractShape)it.next();
aShape.mirrorBy(m_baseX);
}
//restore ports list first.
restorePorts();
moveRelationalPorts();
return objList;
}
/** redo this operation
* @return new objects selected
*/
public List redo(){
List objList =getObjectList();
Iterator it =objList.iterator();
while (it!=null && it.hasNext()){
AbstractShape aShape =(AbstractShape)it.next();
aShape.mirrorBy(m_baseX);
}
moveRelationalPorts();
return objList;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -