diagrameditor.java

来自「GEF初学者可以用来对照的小例子」· Java 代码 · 共 97 行

JAVA
97
字号
package com.dss.moon.gef.parts;import org.eclipse.core.runtime.IProgressMonitor;import org.eclipse.draw2d.geometry.Dimension;import org.eclipse.draw2d.geometry.Point;import org.eclipse.draw2d.geometry.Rectangle;import org.eclipse.gef.DefaultEditDomain;import org.eclipse.gef.GraphicalViewer;import org.eclipse.gef.dnd.TemplateTransferDragSourceListener;import org.eclipse.gef.dnd.TransferDragSourceListener;import org.eclipse.gef.dnd.TransferDropTargetListener;import org.eclipse.gef.editparts.ScalableFreeformRootEditPart;import org.eclipse.gef.palette.PaletteRoot;import org.eclipse.gef.ui.palette.PaletteViewer;import org.eclipse.gef.ui.palette.PaletteViewerProvider;import org.eclipse.gef.ui.parts.GraphicalEditor;import org.eclipse.gef.ui.parts.GraphicalEditorWithFlyoutPalette;import org.eclipse.ui.editors.text.TextEditor;import com.dss.moon.gef.bnb.DiagramTemplateTransferDropTargetListener;import com.dss.moon.gef.model.Diagram;import com.dss.moon.gef.model.Ellipse;import com.dss.moon.gef.view.PaletteFactory;public class DiagramEditor extends GraphicalEditorWithFlyoutPalette {		 private PaletteRoot root; 	     public DiagramEditor() {        setEditDomain(new DefaultEditDomain(this));    }    protected void initializeGraphicalViewer() {           Diagram diagram = new Diagram();           getGraphicalViewer().setContents(diagram);           getGraphicalViewer().addDropTargetListener(new DiagramTemplateTransferDropTargetListener(getGraphicalViewer()));    }    protected void configureGraphicalViewer() {           super.configureGraphicalViewer();           GraphicalViewer viewer = getGraphicalViewer();           viewer.setRootEditPart(new ScalableFreeformRootEditPart());           viewer.setEditPartFactory(new PartFactory());    }         public void doSave(IProgressMonitor monitor) {    }    public void doSaveAs() {    }    public boolean isSaveAsAllowed() {           return false;    }	@Override	protected PaletteRoot getPaletteRoot() {		// TODO Auto-generated method stub		if(root == null)			root = PaletteFactory.createPalette();		return root;	}		protected PaletteViewerProvider createPaletteViewerProvider(){		return new PaletteViewerProvider(getEditDomain()){			protected void configPaletteViewer(PaletteViewer viewer){				super.configurePaletteViewer(viewer);				viewer.addDragSourceListener(new TemplateTransferDragSourceListener(viewer));			}		};			}		////private TransferDropTargetListener createTransferDropTargetListener(){		//return null;			//}}

⌨️ 快捷键说明

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