pageeditpolicy.java

来自「一个eclipse插件源代码。用于web开发」· Java 代码 · 共 128 行

JAVA
128
字号
/*
 * $Header: /home/cvs/WEBPUMP2.0/WebPumpIDE_Src/WebPumpIDE/src/com/webpump/ui/gefmodule/edit/PageEditPolicy.java,v 1.1.1.1 2004/07/01 09:07:47 wang_j Exp $
 * $Revision: 1.1.1.1 $
 * $Date: 2004/07/01 09:07:47 $
 *
 * ====================================================================
 *
 * The NanJing HopeRun(IT-FOREST) Software License, Version 2.0.0
 *
 * Copyright 2003-2004 by NanJing HopeRun(IT-FOREST) Information System Co., Ltd, CHINA and
 *                        IT Forest Corporation
 * All rights reserved.
 *
 * This software is the confidential and proprietary information of
 * HopeRun(IT-FOREST) Information System Co., Ltd, CHINA and IT Forest Corporation.
 * You shall not disclose such Confidential Information and shall use it only in
 * accordance with the terms of the license agreement you entered into with
 * HopeRun(IT-FOREST) Information System Co., Ltd, CHINA and IT Forest Corporation.
 */

package com.webpump.ui.gefmodule.edit;

import org.eclipse.gef.Request;
import org.eclipse.gef.commands.Command;

import com.webpump.ui.gefmodule.action.MaxMinAction;
import com.webpump.ui.gefmodule.model.ModelSubpart;
import com.webpump.ui.gefmodule.model.Page;
import com.webpump.ui.gefmodule.model.Task;
import com.webpump.ui.perspective.MacroResource;
import com.webpump.ui.perspective.WebpumpIDEPlugin;

/**
 * Class for PageEditPolicy
 * 
 * @author shi_l
 * @version 2.0.0 2004-5-30
 */
public class PageEditPolicy extends ModelElementEditPolicy {

	/**
	 * get command
	 */
	public Command getCommand(Request request) {
		if (MaxMinAction.MAXMIN_REQUEST_NAME.equals(request.getType()))
			return getMinMaxCommand();
		return super.getCommand(request);
	}

	/**
	 * get MinMaxCommand
	 * @return command Command
	 */
	protected Command getMinMaxCommand() {
		MinMaxCommand command = new MinMaxCommand();
		command.setChild((ModelSubpart) getHost().getModel());
		return command;
	}

	/**
	 * Class for MinMaxCommand
	 * 
	 * @author shi_l
	 * @version 2.0.0 2004-5-30
	 */
	static class MinMaxCommand extends org.eclipse.gef.commands.Command {

		/**child*/
		Page child = null;

		/**
		 * constructor
		 */
		public MinMaxCommand() {
			super(WebpumpIDEPlugin.getResourceString(MacroResource.GEF_MODULE_EDIT_MAXMIN));
		}

		/**
		 * set child
		 * @param child ModelSubpart
		 */
		public void setChild(ModelSubpart child) {
			this.child = (Page) child;
		}

		/**
		 * execute
		 */
		public void execute() {
			child.setHeight();
			if (child.getConnections() != null) {
				int size = child.getConnections().size();
				Object[] taskArray = child.getConnections().toArray();
				for (int i = 0; i < size; i++) {
					Task task = (Task) taskArray[i];
					String sourceTer = task.getSourceTerminal();
					String targetTer = task.getTargetTerminal();
					ModelSubpart sourcePage = task.getSource();
					ModelSubpart targetPage = task.getTarget();
					//重新连线
					task.detachSource();
					task.detachTarget();
					task.setSource(sourcePage);
					task.setTarget(targetPage);
					task.setSourceTerminal(sourceTer);
					task.setTargetTerminal(targetTer);
					task.attachSource();
					task.attachTarget();
				}
			}
		}

		/**
		 * undo
		 */
		public void undo() {
			execute();
		}

		/**
		 * redo
		 */
		public void redo() {
			execute();
		}
	}
}

⌨️ 快捷键说明

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