📄 diagramlayouteditpolicy.java
字号:
package com.dss.moon.gef.editpolicies;
import org.eclipse.draw2d.geometry.Dimension;
import org.eclipse.draw2d.geometry.Rectangle;
import org.eclipse.gef.EditPart;
import org.eclipse.gef.EditPolicy;
import org.eclipse.gef.Request;
import org.eclipse.gef.commands.Command;
import org.eclipse.gef.editpolicies.XYLayoutEditPolicy;
import org.eclipse.gef.requests.CreateRequest;
import com.dss.moon.gef.commands.CreateEllipseCommand;
import com.dss.moon.gef.commands.MoveCommand;
import com.dss.moon.gef.model.Diagram;
import com.dss.moon.gef.model.Ellipse;
public class DiagramLayoutEditPolicy extends XYLayoutEditPolicy {
@Override
protected Command createChangeConstraintCommand(EditPart child, Object constraint) {
// TODO Auto-generated method stub
MoveCommand move = new MoveCommand();
move.setNode((Ellipse)child.getModel());
move.setConstraint((Rectangle) constraint);
return move;
}
@Override
protected Command getCreateCommand(CreateRequest request) {
// TODO Auto-generated method stub
if(request.getNewObject() instanceof Ellipse){
CreateEllipseCommand cec = new CreateEllipseCommand();
cec.setDiagram((Diagram)getHost().getModel());
cec.setEllipse((Ellipse) request.getNewObject());
//((Ellipse)request.getNewObject()).setSize(new Dimension(50,50));
//request.setSize(new Dimension(50,50));
Rectangle constaint = (Rectangle) getConstraintFor(request);
cec.setContraint(constaint);
return cec;
}
return null;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -