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 + -
显示快捷键?