/*******************************************************************************
* 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.epackage;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.impl.EPackageImpl;
import org.eclipse.gef.EditPolicy;
import org.eclipse.gef.Request;
import org.eclipse.swt.graphics.Image;
import de.tub.tfs.henshin.editor.actions.IHandlerTarget;
import de.tub.tfs.henshin.editor.util.IconUtil;
import de.tub.tfs.muvitor.gef.editparts.AdapterTreeEditPart;
/**
* The Class EPackageTreeEditpart.
*
* @author nam
*/
public class EPackageTreeEditpart extends AdapterTreeEditPart<EPackage>
implements IHandlerTarget {
/**
* Instantiates a new e package tree editpart.
*
* @param model
* the model
*/
public EPackageTreeEditpart(EPackage model) {
super(model);
}
/*
* (non-Javadoc)
*
* @see muvitorkit.gef.editparts.AdapterTreeEditPart#getText()
*/
@Override
protected String getText() {
if (getCastedModel().getName() == null) {
return "Package not found: "
+ ((EPackageImpl) getCastedModel()).eProxyURI();
}
return getCastedModel().getName();
}
/*
* (non-Javadoc)
*
* @see org.eclipse.gef.editparts.AbstractTreeEditPart#getImage()
*/
@Override
protected Image getImage() {
try {
return IconUtil.getIcon("epackage16.png");
} catch (Exception e) {
return null;
}
}
/*
* (non-Javadoc)
*
* @see muvitorkit.gef.editparts.AdapterTreeEditPart#performOpen()
*/
@Override
protected void performOpen() {
}
/*
* (non-Javadoc)
*
* @see
* org.eclipse.gef.editparts.AbstractEditPart#understandsRequest(org.eclipse
* .gef.Request)
*/
@Override
public boolean understandsRequest(Request req) {
if (req.getType().equals(REQ_DIRECT_EDIT))
return false;
return super.understandsRequest(req);
}
/*
* (non-Javadoc)
*
* @see org.eclipse.gef.editparts.AbstractTreeEditPart#createEditPolicies()
*/
@Override
protected void createEditPolicies() {
installEditPolicy(EditPolicy.COMPONENT_ROLE,
new EPackageComponentEditPolicy());
}
/*
* (non-Javadoc)
*
* @see de.tub.tfs.henshin.editor.actions.IHandlerTarget#getTargetModel()
*/
@Override
public Class<?> getTargetModel() {
return EPackage.class;
}
}