blob: 9791ebf0c91c39c114cc296126f3c0f172f984d3 [file] [log] [blame]
//------------------------------------------------------------------------------
// Copyright (c) 2005, 2006 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 implementation
//------------------------------------------------------------------------------
package org.eclipse.epf.authoring.gef.edit;
import org.eclipse.draw2d.ColorConstants;
import org.eclipse.draw2d.IFigure;
import org.eclipse.draw2d.Label;
import org.eclipse.draw2d.PositionConstants;
import org.eclipse.epf.authoring.gef.figures.Images;
import org.eclipse.epf.authoring.gef.figures.SelectableLabel;
import org.eclipse.epf.authoring.gef.figures.WPCompartmentFigure;
import org.eclipse.epf.diagram.model.NamedNode;
import org.eclipse.epf.diagram.model.Node;
import org.eclipse.epf.diagram.model.WorkProductNode;
import org.eclipse.epf.library.edit.util.Suppression;
import org.eclipse.epf.library.edit.util.TngUtil;
import org.eclipse.gef.tools.DirectEditManager;
import org.eclipse.jface.viewers.TextCellEditor;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Font;
/**
*
* @author Shashidhar Kannoori
* @author Phong Nguyen Le
* @since 1.0
* @deprecated
* @see WorkProductNodeEditPart
*/
public class WPNodeEditPart extends NamedNodeEditPart {
int type = 1;
public WPNodeEditPart(NamedNode model) {
super(model);
}
protected IFigure createFigure() {
if (getModel() instanceof WorkProductNode) {
type = ((WorkProductNode) getModel()).getType();
}
Label l = new SelectableLabel();
l.setLabelAlignment(PositionConstants.LEFT);
l.setTextPlacement(PositionConstants.SOUTH);
l.setBackgroundColor(ColorConstants.white);
Font font = new Font(null, "Arial", 9, SWT.NORMAL); //$NON-NLS-1$
l.setFont(font);
if (type == 1)
l.setIcon(Images.ARTIFACT);
else if (type == 2)
l.setIcon(Images.DELIVERABLE);
else if (type == 3)
l.setIcon(Images.OUTCOME);
else
l.setIcon(Images.WORK_PRODUCT_DESCRIPTOR);
l.setIconTextGap(5);
WPCompartmentFigure wpfigure = new WPCompartmentFigure(l, type);
return wpfigure;
}
/**
* @see org.eclipse.epf.authoring.gef.edit.BaseEditPart#createDirectEditManager()
*/
protected DirectEditManager createDirectEditManager() {
Label l = (Label) (((WPCompartmentFigure) getFigure()).getLabel());
return new ValidatingDirectEditManager(this, TextCellEditor.class,
new LabelTextCellEditorLocator(l), l) {
protected String validate(String txt) {
Object obj = getEditPart().getModel();
if (obj instanceof WorkProductNode) {
Node node = (Node) obj;
Object e = node.getObject();
Suppression suppression = node.getDiagram().getSuppression();
return TngUtil.checkWorkProductDescriptorPresentationName(
e, txt, suppression);
}
return super.validate(txt);
}
};
}
IFigure getDirectEditFigure() {
return (((WPCompartmentFigure) getFigure()).getLabel());
}
}