Eclipse rcp 要查看的GEF编辑器功能
我创建了一个小的GEF项目,其中包含GEF编辑器。现在,我想将除GEF Pallete之外的所有功能转换为View。有可能吗?因为当我试着做编辑的时候,一切都不起作用。我能够使用GEF矩形零件和模型绘制矩形。它工作得很好。但现在我想在我的视图中添加调整大小、删除和撤消功能。在GEF编辑器中,这些功能运行良好。Eclipse rcp 要查看的GEF编辑器功能,eclipse-rcp,eclipse-gef,draw2d,Eclipse Rcp,Eclipse Gef,Draw2d,我创建了一个小的GEF项目,其中包含GEF编辑器。现在,我想将除GEF Pallete之外的所有功能转换为View。有可能吗?因为当我试着做编辑的时候,一切都不起作用。我能够使用GEF矩形零件和模型绘制矩形。它工作得很好。但现在我想在我的视图中添加调整大小、删除和撤消功能。在GEF编辑器中,这些功能运行良好。 这些功能是否仅适用于编辑器?有人能建议怎么做吗?在当前的全球环境基金实施中,你想要什么是不可能的。所有图形编辑器都是eclipse编辑器,所以我看不出如何将它们放在视图中。您可以实现这一点
这些功能是否仅适用于编辑器?有人能建议怎么做吗?在当前的全球环境基金实施中,你想要什么是不可能的。所有图形编辑器都是eclipse编辑器,所以我看不出如何将它们放在视图中。您可以实现这一点,但需要大量的连接…如果我理解正确,您基本上只是想摆脱调色板,同时保留完整的编辑功能 这是很容易做到的。让您的编辑器类扩展
org.eclipse.gef.ui.parts.GraphicalEditor
(),而不是org.eclipse.gef.ui.parts.graphicaleditorwithpalete
或org.eclipse.gef.ui.parts.graphicaleditorwithflyioutpalete
,这样您就可以去掉该调色板:
这个类为新加入的客户提供了一个快速的起点
全球环境基金。它将创建一个编辑器,其中包含一个GraphicalViewer作为
它的控制
但是,请注意Javadoc注释说
重要信息:该类只能用作创建
您自己的EditorPart实现。这门课不合适
每个人的需要,将来可能会改变。客户可以复制
实施
理想情况下,您应该设置自己的
org.eclipse.ui.part.EditorPart
,但我认为作为起点,GraphicalEditor
可能会做到:)。您可以向视图中添加一些GEF功能。为此,必须实现您的视图
以下面的方式
// Use a standard Viewer for the Draw2d canvas
private ScrollingGraphicalViewer viewer = new ScrollingGraphicalViewer();
// Use standard RootEditPart as holder for all other edit parts
// private RootEditPart rootEditPart = new ScalableFreeformRootEditPart();
private ScalableRootEditPart rootEditPart = new ScalableRootEditPart();
// parts for model elements
private EditPartFactory editPartFactory = new MyEditPartFactory();
例如,您可以将GEF编辑策略添加到视图中
public void createPartControl(Composite parent) {
// Initialize the viewer, 'parent' is the
// enclosing RCP windowframe
viewer.createControl(parent);
viewer.setRootEditPart(rootEditPart);
viewer.setEditPartFactory(editPartFactory);
viewer.setContents(ModelFactory.createRegionLayerModel());
viewer.setEditDomain(new DefaultEditDomain(new GraphicalEditor() {
@Override
public void doSave(IProgressMonitor monitor) {
// TODO Auto-generated method stub
}
@Override
protected void initializeGraphicalViewer() {
GraphicalViewer viewer = getGraphicalViewer();
}
@Override
protected void configureGraphicalViewer() {
super.configureGraphicalViewer();
super.configureGraphicalViewer();
GraphicalViewer viewer = getGraphicalViewer();
}
}));
}
希望这对你有帮助 您是如何将其转换为视图的?GEF是基于编辑器的…不,我不想将视图转换为编辑器。我想所有的功能,可以在编辑器中完成,以完成在视图中也除了调色板。那有可能吗。但我可以实现一些功能,如缩放、缩小、编辑策略等。在这种情况下,可以添加。我不确定我是否理解正确。是否要将
编辑器
替换为视图
?或者,您是否也希望使用视图来操纵编辑器中发生的事情?视图的想法来自哪里?我知道,在他们转向Zest和编辑器之前,构建一个GEF视图的过程是这样的。事实上,我怀疑的是,我实现了缩放、图形移动、调整图形大小——图形编辑器中的所有功能。但是,我是否可以在视图中使用所有相同的功能?