Consider the palette customization. There you can create your own tools for model elements with applied stereotypes.
Otherwise you can use the extension point for advices and add your code to the getAfterConfigureCommand.
<extension point="org.eclipse.gmf.runtime.emf.type.core.elementTypes">
<metamodel nsURI="http://www.eclipse.org/uml2/4.0.0/UML">
<adviceBinding id="de.upb.swt.rsdl.editor.ext.advice.ClassEditHelperAdviceDiagram"
class="de.upb.swt.rsdl.editor.ext.advice.ClassEditHelperAdvice"
inheritance="all" typeId="org.eclipse.papyrus.uml.diagram.clazz.Class_2008">
</adviceBinding>
<adviceBinding id="de.upb.swt.rsdl.editor.ext.advice.ClassEditHelperAdviceTypes"
class="de.upb.swt.rsdl.editor.ext.advice.ClassEditHelperAdvice"
inheritance="all" typeId="org.eclipse.papyrus.uml.Class">
</adviceBinding>
</metamodel>
</extension>
<extension point="org.eclipse.gmf.runtime.emf.type.core.elementTypeBindings">
<binding context="org.eclipse.papyrus.infra.services.edit.TypeContext">
<advice ref="de.upb.swt.rsdl.editor.ext.advice.ClassEditHelperAdviceTypes" />
</binding>
<binding context="org.eclipse.papyrus.uml.diagram.clazz.TypeContext">
<advice ref="de.upb.swt.rsdl.editor.ext.advice.ClassEditHelperAdviceDiagram" />
</binding>
</extension>
public class ClassEditHelperAdvice extends AbstractEditHelperAdvice {
/**
* Context: diagram
*/
@Override
protected ICommand getAfterConfigureCommand(ConfigureRequest request) {
if(request.getElementToConfigure() instanceof Class){
return new ClassCreateCommand(request);
}
return super.getAfterConfigureCommand(request);
}
public class ClassCreateCommand extends org.eclipse.gmf.runtime.emf.commands.core.command.AbstractTransactionalCommand{
@Override
protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
Class clazz = (Class) configureRequest.getElementToConfigure();
//apply stereotype
}
[Updated on: Mon, 12 August 2013 07:35]
Report message to a moderator