Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用EclipseGMF创建只读图_Eclipse_Eclipse Gmf - Fatal编程技术网

使用EclipseGMF创建只读图

使用EclipseGMF创建只读图,eclipse,eclipse-gmf,Eclipse,Eclipse Gmf,我遵循了文件系统示例 我想做的是不使用生成的编辑器及其调色板 我用一个视图创建了一个新插件,我想在这个视图中以编程方式创建一个图表,以显示实例2个与link连接的对象 我找到了这个答案 但这对我帮助不大 在控制我的观点时,我做到了 @Override public void createPartControl(Composite parent) { DiagramGraphicalViewer viewer = new DiagramGraphicalViewer(); view

我遵循了文件系统示例

我想做的是不使用生成的编辑器及其调色板

我用一个视图创建了一个新插件,我想在这个视图中以编程方式创建一个图表,以显示实例2个与link连接的对象

我找到了这个答案

但这对我帮助不大

在控制我的观点时,我做到了

@Override
public void createPartControl(Composite parent) {
    DiagramGraphicalViewer viewer = new DiagramGraphicalViewer();
    viewer.createControl(parent);

    RootEditPart root = EditPartService.getInstance().createRootEditPart(diagram);
    viewer.setRootEditPart(root);
    viewer.setEditPartFactory(new EcoreEditPartProvider());

    viewer.getControl().setBackground(ColorConstants.listBackground);

    viewer.setContents(diagram);

}

与答案相同,但我不知道如何获取“diagram”变量,最简单的方法是在视图中使用相同的GraphicalViewer,同时使用相同的图表。只需从查看器中获取您的
DiagramEditPart
,并在其上调用
disableEditMode()
。(如有必要,进行适当类型的铸造)