Все,
Я создаю плагин eclipse без палитры, в котором я добавляю фигуры в пользовательский редактор через контекстное меню, но не нахожу способа сделать это . Может ли кто-нибудь посоветовать мне, как динамически добавлять рисунки в редактор через контекстное меню, то есть добавлять действия / команды.
Поскольку разработка плагина Eclipse GEF находит меньше примеров для просмотра, я добавляю свое решение, чтобы его нашли другие полезно. Этот код помогает отображать узел в редакторе.
Исходный код класса Action для визуализации фигур в редакторе:
public class AddNodeAction extends EditorPartAction
{
public static final String ADD_NODE = "ADDNODE";
public AddNodeAction(IEditorPart editor) {
super(editor);
setText("Add a Node");
setId(ADD_NODE); // Important to set ID
}
public void run()
{
<ParentModelClass> parent= (<ParentModelClass>)getEditorPart().getAdapter(<ParentModelClass>.class);
if (parent== null)
return;
CommandStack command = (CommandStack)getEditorPart().getAdapter(CommandStack.class);
if (command != null)
{
CompoundCommand totalCmd = new CompoundCommand();
<ChildModelToRenderFigureCommand>cmd = new <ChildModelToRenderFigureCommand>(parent);
cmd.setParent(parent);
<ChildModelClass> newNode = new <ChildModelClass>();
cmd.setNode(newNode);
cmd.setLocation(getLocation()); // Any location you wish to set to
totalCmd.add(cmd);
command.execute(totalCmd);
}
}
@Override
protected boolean calculateEnabled()
{
return true;
}
}