treelayouteditpolicy.java

来自「mywork是rcp开发的很好的例子」· Java 代码 · 共 42 行

JAVA
42
字号
package net.sf.freenote.mindmap;

import net.sf.freenote.commands.ShapeCreateCommand;
import net.sf.freenote.mindmap.model.BranchShape;
import net.sf.freenote.model.Shape;
import net.sf.freenote.model.ShapesContainer;

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.LayoutEditPolicy;
import org.eclipse.gef.requests.CreateRequest;

/**
 * TreeLayout
 * @author levin
 * @since 2008-2-11 下午09:27:05
 */
public class TreeLayoutEditPolicy extends LayoutEditPolicy {

	@Override
	protected EditPolicy createChildEditPolicy(EditPart child) {
		return null;
	}

	@Override
	protected Command getCreateCommand(CreateRequest request) {
		Object childClass = request.getNewObjectType();
		if(BranchShape.class.isAssignableFrom((Class<?>) childClass)){
			return new ShapeCreateCommand((Shape)request.getNewObject(), 
					(ShapesContainer)getHost().getModel(), new Rectangle());
		}
		return null;
	}

	@Override
	protected Command getMoveChildrenCommand(Request request) {
		return null;
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?