📄 jfoperationmanager.java
字号:
public void addNew(Object obj, Port attachPort1, Port attachPort2){
if (obj==null) return;
if (obj instanceof AbstractObject){
JFOperation op =new JFOperationNew(m_page,obj,attachPort1,attachPort2);
addOperation(op);
}
}
/** add a paste operation to undo list
* @param objList An object list to be pasted.
*/
public void addPaste(ObjectList objList){
if (objList==null || objList.size()==0) return;
JFOperation op =new JFOperationPaste(m_page,objList);
addOperation(op);
}
/** add a remove operation to undo list
* @param objList An object list to be removed.
*/
public void addRemove(ObjectList objList){
if (objList==null || objList.size()==0) return;
JFOperation op =new JFOperationRemove(m_page,objList);
addOperation(op);
}
//******************* move node operation ****************************************************
/** add a start moving node operation to undo list
* @param node A node to be moved.
*/
public void addStartMoveNode(Node node){
if (node==null)
return;
Object obj =node.getParent();
if (obj==null || !(obj instanceof AbstractShape)) return;
AbstractShape aShape =(AbstractShape)obj;
JFOperation lastOp =getLastOperation();
if (lastOp!=null && !(lastOp instanceof JFOperationMoveNode)){
lastOp =null;
}
if (aShape instanceof JFLine ||
aShape instanceof JFRegularLine ||
aShape instanceof JFPolygon){
JFOperationMoveNode op =new JFOperationMoveNode();
op.setStartMoveNode(m_page,obj,lastOp);
addOperation(op);
}else{
//do nothing for objects except JFLine,JFRegularLine and JFPolygon in a 'start moving node' action.
}
}
/** add a finish moving node operation to undo list
* @param node A node to be moved.
* @param port A port of other object that is about to be attached.
* @param x1,y1 The original position of the node.
* @param x2,y2 The final position of the node.
*/
public void addFinishMoveNode(Node node,Port port,double x1,double y1, double x2, double y2){
if (node==null)
return;
Object obj =node.getParent();
if (obj==null || !(obj instanceof AbstractShape)) return;
AbstractShape aShape =(AbstractShape)obj;
JFOperation lastOp =getLastOperation();
if (lastOp!=null && !(lastOp instanceof JFOperationMoveNode)){
lastOp =null;
}
if (aShape instanceof JFLine ||
aShape instanceof JFRegularLine ||
aShape instanceof JFPolygon){
if (lastOp!=null){
JFOperationMoveNode op =(JFOperationMoveNode)lastOp;
op.setFinishMoveNode(obj,port);
}
}else{
JFOperationMoveNode op =new JFOperationMoveNode();
op.setMoveNode(m_page,obj,node,x1,y1,x2,y2);
addOperation(op);
}
}
//******************* port operation ****************************************************
/** add a new port operation to undo list
* @param port A new added port.
*/
public void addNewPort(Port port){
if (port==null) return;
JFOperation op =new JFOperationAddPort(m_page,port);
addOperation(op);
}
/** add a remove port operation to undo list
* @param port A port currently removed.
*/
public void addRemovePort(Port port){
if (port==null) return;
JFOperation op =new JFOperationRemovePort(m_page,port);
addOperation(op);
}
/** add a bind ports operation to undo list
* @param mousePos Current mouse position.
*/
public void addBindPorts(JFPoint mousePos){
if (mousePos==null) return;
JFOperation op =new JFOperationBindPorts(m_page,mousePos);
addOperation(op);
}
/** add an unbind ports operation to undo list
* @param mousePos Current mouse position.
*/
public void addUnbindPorts(JFPoint mousePos){
if (mousePos==null) return;
JFOperation op =new JFOperationUnbindPorts(m_page,mousePos);
addOperation(op);
}
//******************* group operation ****************************************************
/** add a group shapes operation to undo list
* @param g A group newly created.
*/
public void addGroup(JFGroup g){
if (g==null) return;
JFOperation op =new JFOperationGroup(m_page,g);
addOperation(op);
}
/** add an ungroup shapes operation to undo list
* @param l An object collection to be ungrouped.
*/
public void addUngroup(List l){
if (l==null) return;
JFOperation op =new JFOperationUngroup(m_page,l);
addOperation(op);
}
//******************* send to back/bring to front operation ****************************************************
/** add a send to back operation to undo list
* @param l An object collection to be sent to back.
*/
public void addSendToBack(List l){
if (l==null) return;
JFOperation op =new JFOperationToBack(m_page,l,JFOperationToBack.MOVETOWARDS_BACK);
addOperation(op);
}
/** add a bring to front operation to undo list
* @param l An object collection to be brought to back.
*/
public void addBringToFront(List l){
if (l==null) return;
JFOperation op =new JFOperationToBack(m_page,l,JFOperationToBack.MOVETOWARDS_FRONT);
addOperation(op);
}
//******************* text/font/lineformat/fillformat changed operation ****************************************************
/** add a modify text operation to undo list
* @param obj An object that to be changed text.
* @param oldText Last text assigned.
* @param newText A new text assigned.
*/
public void addModifyText(AbstractObject obj,String oldText, String newText){
if (obj==null) return;
JFOperation op =new JFOperationModifyText(m_page,obj,oldText,newText);
addOperation(op);
}
/** add a modify properties operation to undo list
* @param obj An object that to be changed properties.
* @param oldProperties Last properties assigned.
* @param newProperties New properties assigned.
*/
public void addModifyProperties(AbstractObject obj,ObjectList oldProperties, ObjectList newProperties){
if (obj==null || oldProperties==null || newProperties==null) return;
JFOperation op =new JFOperationModifyProperty(m_page,obj,oldProperties,newProperties);
addOperation(op);
}
/** add a modify arrow operation to undo list
* @param l An object list that to be changed arrow.
* @param newArrow A new arrow assigned.
*/
public void addModifyArrow(List l, Arrow newArrow){
if (l==null || newArrow==null) return;
JFOperation op =new JFOperationModifyArrow(m_page,l,newArrow);
addOperation(op);
}
/** add a modify fontFormat operation to undo list
* @param l An object list that to be changed fontFormat.
* @param newFontFormat A new fontFormat assigned.
*/
public void addModifyFontFormat(List l, FontFormat newFontFormat){
if (l==null || newFontFormat==null) return;
JFOperation op =new JFOperationModifyFontFormat(m_page,l,newFontFormat);
addOperation(op);
}
/** add a modify fillFormat operation to undo list
* @param l An object list that to be changed fillFormat.
* @param newFillFormat A new fillFormat assigned.
*/
public void addModifyFillFormat(List l, FillFormat newFillFormat){
if (l==null || newFillFormat==null) return;
JFOperation op =new JFOperationModifyFillFormat(m_page,l,newFillFormat);
addOperation(op);
}
/** add a modify lineFormat operation to undo list
* @param l An object list that to be changed lineFormat.
* @param newLineFormat A new lineFormat assigned.
*/
public void addModifyLineFormat(List l, LineFormat newLineFormat){
if (l==null || newLineFormat==null) return;
JFOperation op =new JFOperationModifyLineFormat(m_page,l,newLineFormat);
addOperation(op);
}
/** add a modify layers operation to undo list
* @param oldLayers An old layers checkitem list.
* @param newLayers An new layers checkitem list.
*/
public void addModifyLayers(List oldLayers, List newLayers){
if (oldLayers==null || oldLayers.size()==0 || newLayers==null || newLayers.size()==0)
return;
JFOperation op =new JFOperationModifyLayers(m_page,oldLayers,newLayers);
addOperation(op);
}
/** add a zoom operation to undo list
* @param oldZoomScale Old zoom scale.
* @param newZoomScale New zoom scale.
*/
public void addZoom(double oldZoomScale, double newZoomScale){
if (oldZoomScale==newZoomScale)
return;
JFOperation op =new JFOperationZoom(m_page,oldZoomScale,newZoomScale);
addOperation(op);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -