ellipsepart.java
来自「GEF初学者可以用来对照的小例子」· Java 代码 · 共 110 行
JAVA
110 行
package com.dss.moon.gef.parts;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import org.eclipse.draw2d.ChopboxAnchor;
import org.eclipse.draw2d.ConnectionAnchor;
import org.eclipse.draw2d.IFigure;
import org.eclipse.draw2d.geometry.Dimension;
import org.eclipse.draw2d.geometry.Point;
import org.eclipse.draw2d.geometry.Rectangle;
import org.eclipse.gef.ConnectionEditPart;
import org.eclipse.gef.GraphicalEditPart;
import org.eclipse.gef.NodeEditPart;
import org.eclipse.gef.Request;
import org.eclipse.gef.editparts.AbstractGraphicalEditPart;
import com.dss.moon.gef.model.Ellipse;
import com.dss.moon.gef.view.EllipseFigure;
public class EllipsePart extends AbstractGraphicalEditPart
implements PropertyChangeListener,NodeEditPart{
protected IFigure createFigure() {
return new EllipseFigure();
}
protected void refreshVisuals() {
// Point loc = new Point(100, 100);
//Dimension size = new Dimension(50, 50);
Ellipse node = (Ellipse) this.getModel();
// Dimension size = node.getSize();
// Point location = node.getLocation();
Rectangle rectangle = new Rectangle(node.getConstraint());
((GraphicalEditPart) getParent()).setLayoutConstraint(this, getFigure(), rectangle);
}
protected void createEditPolicies() {
}
public void propertyChange(PropertyChangeEvent evt) {
// TODO Auto-generated method stub
if(evt.getPropertyName().equals("constraint"))
refreshVisuals();
}
/**
* ���Ǹ���ķ�����������ע�ᵽMODEL��ȥ
*/
public void activate(){
if(isActive()){
return;
}
super.activate();
((Ellipse)getModel()).addPropertyChangeListener(this);
}
public void deactivate(){
if(!isActive()){
return;
}
super.deactivate();
((Ellipse)getModel()).removePropertyChangeListener(this);
}
public ConnectionAnchor getSourceConnectionAnchor(
ConnectionEditPart connection) {
// TODO Auto-generated method stub
return new ChopboxAnchor(getFigure());
}
public ConnectionAnchor getSourceConnectionAnchor(Request request) {
// TODO Auto-generated method stub
return null;
}
public ConnectionAnchor getTargetConnectionAnchor(
ConnectionEditPart connection) {
// TODO Auto-generated method stub
return null;
}
public ConnectionAnchor getTargetConnectionAnchor(Request request) {
// TODO Auto-generated method stub
return null;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?