/******************************************************************************* * Copyright (c) 2003, 2005 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ package org.eclipse.gef.examples.flow.parts; import java.util.Map; import org.eclipse.jface.viewers.TextCellEditor; import org.eclipse.draw2d.IFigure; import org.eclipse.draw2d.Label; import org.eclipse.draw2d.PositionConstants; import org.eclipse.draw2d.geometry.Insets; import org.eclipse.draw2d.graph.CompoundDirectedGraph; import org.eclipse.draw2d.graph.Node; import org.eclipse.draw2d.graph.Subgraph; import org.eclipse.gef.examples.flow.FlowImages; import org.eclipse.gef.examples.flow.figures.SimpleActivityLabel; /** * @author hudsonr * Created on Jul 17, 2003 */ public class SimpleActivityPart extends ActivityPart { public void contributeNodesToGraph(CompoundDirectedGraph graph, Subgraph s, Map map) { Node n = new Node(this, s); n.outgoingOffset = getAnchorOffset(); n.incomingOffset = getAnchorOffset(); n.width = getFigure().getPreferredSize().width; n.height = getFigure().getPreferredSize().height; n.setPadding(new Insets(10,8,10,12)); map.put(this, n); graph.nodes.add(n); } /** * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#createFigure() */ protected IFigure createFigure() { Label l = new SimpleActivityLabel(); l.setLabelAlignment(PositionConstants.LEFT); l.setIcon(FlowImages.GEAR); return l; } int getAnchorOffset() { return 9; } protected void performDirectEdit() { if (manager == null) { Label l = (Label)getFigure(); manager = new ActivityDirectEditManager( this, TextCellEditor.class, new ActivityCellEditorLocator(l), l); } manager.show(); } /** * @see org.eclipse.gef.editparts.AbstractEditPart#refreshVisuals() */ protected void refreshVisuals() { ((Label)getFigure()).setText(getActivity().getName()); } }