pageeditpart.java

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

JAVA
150
字号
/*
 * $Header: /home/cvs/WEBPUMP2.0/WebPumpIDE_Src/WebPumpIDE/src/com/webpump/ui/gefmodule/edit/PageEditPart.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 java.beans.PropertyChangeEvent;
import java.util.Vector;

import org.eclipse.draw2d.Border;
import org.eclipse.draw2d.CompoundBorder;
import org.eclipse.draw2d.IFigure;
import org.eclipse.draw2d.LineBorder;
import org.eclipse.draw2d.MarginBorder;
import org.eclipse.gef.*;
import org.eclipse.jface.wizard.WizardDialog;
import org.eclipse.swt.accessibility.AccessibleControlEvent;
import org.eclipse.swt.accessibility.AccessibleEvent;

import com.webpump.ui.gefmodule.ModuleEditor;
import com.webpump.ui.gefmodule.dialog.PageDialog;
import com.webpump.ui.gefmodule.figure.FigureFactory;
import com.webpump.ui.gefmodule.figure.PageFigure;
import com.webpump.ui.gefmodule.model.Module;
import com.webpump.ui.gefmodule.model.Page;
import com.webpump.ui.perspective.MacroResource;
import com.webpump.ui.perspective.WebpumpIDEPlugin;

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

	/**
	 * create accessible
	 */
	protected AccessibleEditPart createAccessible() {
		return new AccessibleGraphicalEditPart() {
			public void getValue(AccessibleControlEvent e) {
				e.result = getPage().getPageName();
			}

			public void getName(AccessibleEvent e) {
				e.result = "PAGE";
			}
		};
	}

	/**border*/
	private static Border BORDER = new CompoundBorder(new LineBorder(), new MarginBorder(2));

	/**
	 * create editpolicies
	 */
	protected void createEditPolicies() {
		super.createEditPolicies();
		installEditPolicy(EditPolicy.COMPONENT_ROLE, new PageEditPolicy());
	}

	/**
	 * create figure
	 * @return IFigure
	 */
	protected IFigure createFigure() {
		return FigureFactory.createNewPage();
	}

	/**
	 * get page
	 * @return model Page
	 */
	private Page getPage() {
		return (Page) getModel();
	}

	/**
	 * property change
	 * @param evt PropertyChangeEvent
	 */
	public void propertyChange(PropertyChangeEvent evt) {
		if (evt.getPropertyName().equalsIgnoreCase("PROPERTY_PAGENAME")) //$NON-NLS-1$
			refreshVisuals();
		else if (evt.getPropertyName().equalsIgnoreCase("PROPERTY_HEIGHT")) {
			refreshVisuals();
		} else if (evt.getPropertyName().equalsIgnoreCase("PROPERTY_TYPE")) {
			refreshVisuals();
		} else if (evt.getPropertyName().equalsIgnoreCase("PROPERTY_INITACTION")) {
			refreshVisuals();
		} else
			super.propertyChange(evt);
	}

	/**
	 * refresh visuals
	 */
	protected void refreshVisuals() {
		((PageFigure) getFigure()).setPageName(getPage().getPageName());
		((PageFigure) getFigure()).setHeight(getPage().getHeight());
		((PageFigure) getFigure()).setBaseType(getPage().getBasetype());
		((PageFigure) getFigure()).setInitAction(getPage().getInitAction());
		((PageFigure) getFigure()).repaint();
		super.refreshVisuals();
	}

	/**
	 * perform request
	 * @param request Request
	 */
	public void performRequest(Request request) {

		PageDialog objWizard = new PageDialog();

		//设置视图的模块信息
		objWizard.setPage((Page) getModel());
		objWizard.setFile(ModuleEditor.getInputFile());

		Vector pageVector = ((Module) getParent().getModel()).getChildren();
		Page[] pages = (Page[]) pageVector.toArray(new Page[pageVector.size()]);
		objWizard.setPages(pages);

		objWizard.init(WebpumpIDEPlugin.getDefault().getWorkbench(), null);

		WizardDialog objDialog =
			new WizardDialog(
				WebpumpIDEPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getShell(),
				objWizard);

		objDialog.setPageSize(
			MacroResource.DIALOG_A_SIZE_WIDTH,
			MacroResource.DIALOG_A_SIZE_HEIGHT);
		//显示对话

⌨️ 快捷键说明

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