/******************************************************************************* * Copyright (c) 2010-2015 Henshin developers. 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: * TU Berlin, University of Luxembourg, SES S.A. *******************************************************************************/ /** * */ package de.tub.tfs.henshin.editor.editparts.transformation_unit.tree.parameter; import org.eclipse.emf.henshin.model.HenshinPackage; import org.eclipse.emf.henshin.model.Parameter; import org.eclipse.gef.EditPolicy; import org.eclipse.jface.viewers.ICellEditorValidator; import org.eclipse.swt.graphics.Image; import org.eclipse.ui.views.properties.IPropertySource; import de.tub.tfs.henshin.editor.editparts.TreeContainerEditPolicy; import de.tub.tfs.henshin.editor.model.properties.transformation_unit.ParameterPropertySource; import de.tub.tfs.henshin.editor.util.IconUtil; import de.tub.tfs.henshin.editor.util.validator.NameEditValidator; import de.tub.tfs.muvitor.gef.directedit.IDirectEditPart; import de.tub.tfs.muvitor.gef.editparts.AdapterTreeEditPart; /** * The Class ParameterTreeEditPart. */ public class ParameterTreeEditPart extends AdapterTreeEditPart<Parameter> implements IDirectEditPart { /** * Instantiates a new parameter tree edit part. * * @param model * the model */ public ParameterTreeEditPart(Parameter model) { super(model); } /* * (non-Javadoc) * * @see muvitorkit.gef.editparts.AdapterTreeEditPart#getText() */ @Override protected String getText() { return getCastedModel().getName(); } /* * (non-Javadoc) * * @see muvitorkit.gef.directedit.IDirectEditPart#getDirectEditFeatureID() */ @Override public int getDirectEditFeatureID() { return HenshinPackage.PARAMETER__NAME; } /* * (non-Javadoc) * * @see muvitorkit.gef.directedit.IDirectEditPart#getDirectEditValidator() */ @Override public ICellEditorValidator getDirectEditValidator() { return new NameEditValidator(getCastedModel().getUnit(), HenshinPackage.UNIT__PARAMETERS, getCastedModel(), true); } /* * (non-Javadoc) * * @see * henshineditor.editparts.tree.rule.RuleTreeEditPart#createEditPolicies() */ @Override protected void createEditPolicies() { installEditPolicy(EditPolicy.COMPONENT_ROLE, new ParameterComponentEditPolicy()); installEditPolicy(EditPolicy.TREE_CONTAINER_ROLE, new TreeContainerEditPolicy()); } /* * (non-Javadoc) * * @see de.tub.tfs.muvitor.gef.editparts.AdapterTreeEditPart#canShowView() */ @Override protected boolean canShowView() { return false; } /* * (non-Javadoc) * * @see org.eclipse.gef.editparts.AbstractTreeEditPart#getImage() */ @Override protected Image getImage() { // Ressource nicht vorhanden, oder fehlerhaft, dann lieber kein Bild, // als Absturz // TODO Neue Image try { return IconUtil.getIcon("parameter16.png"); } catch (Exception e) { } return null; } /* * (non-Javadoc) * * @see muvitorkit.gef.editparts.AdapterTreeEditPart#createPropertySource() */ @Override protected IPropertySource createPropertySource() { return new ParameterPropertySource(getCastedModel()); } }