jfoperationgroup.java
来自「用Java开发的、实现类似Visio功能的应用程序源码」· Java 代码 · 共 81 行
JAVA
81 行
/**
* $Id:JFOperationGroup.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;
import com.jfimagine.jfgraph.shape.union.JFGroup;
/**
* Class JFOperationGroup is used to record a group shape operation.
*/
public class JFOperationGroup extends JFOperation{
/** the group id of a group */
private int m_groupId =0;
/**
* Constructor.
* @param page A page that used to do opeation.
* @param g A group newly created.
*/
public JFOperationGroup(JFPage page,JFGroup g){
m_page =page;
setActionId(JFOperation.OPER_GROUP);
m_groupId =g.getObjectId();
setObjectList(g.getList().getList());
}
/** undo this operation
* @return new objects selected
*/
public List undo(){
AbstractShape aShape =(AbstractShape)getObject(m_groupId,true);
if (aShape==null || !(aShape instanceof JFGroup))
return null;
JFGroup g =(JFGroup)aShape;
List groupList =new ArrayList();
groupList.add(g);
List l =m_page.ungroupShapes(groupList);
return l;
}
/** redo this operation
* @return new objects selected
*/
public List redo(){
List groupList =new ArrayList();
try{
AbstractObject obj =m_page.groupShapes(getObjectList());
obj.setObjectId(m_groupId);
groupList.add(obj);
}catch(Exception e){
}
return groupList;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?