在GMF桌面面应用中,编辑器在整个应用中起着一个至关重要的作用,因为大部分的编辑工作都在上面完成,因此在里面实现的功能也相对比较多,下面列出在编辑器中比较常用的一些功能:
实现编辑器的父类为DiagramDocumentEditor,要实现编辑器就继承该类就可以了。
1、增加工具箱,通常在初始化编辑器后紧接着就会通过编辑器来加入相应的工具箱
@Override
protected PaletteRoot createPaletteRoot(PaletteRoot existingPaletteRoot) {
PaletteRoot root = super.createPaletteRoot(existingPaletteRoot);
if (root.getDefaultEntry() instanceof PanningSelectionToolEntry) {
PanningSelectionToolEntry deftool = (PanningSelectionToolEntry) root
.getDefaultEntry();
deftool.setToolClass(SelectionToolUtils.class);
// System.out.println(deftool);
}// end if
//这里通过工具箱工厂来创建工具箱
JonasPaletteFactory PaletteFactory = new Jonas.diagram.part.JonasPaletteFactory();
//填满工具箱
PaletteFactory.fillPalette(root);
return root;
}
2、创建视图提供器
@Override
protected ScrollingGraphicalViewer createScrollingGraphicalViewer() {
// 提供的界面上各种元素控件的操作
return new JonasDiagramGraphicalViewerProvider();
}
3、设置等宽等高
@Override
protected void createActions() {
super.createActions();
ActionRegistry registry = getActionRegistry();
IAction action;
action = new MatchWidthAction(this);
registry.registerAction(action);
getSelectionActions().add(action.getId());
action = new MatchHeightAction(this);
registry.registerAction(action);
getSelectionActions().add(action.getId());
}
5、保存编辑器的内容
public void doSave(IProgressMonitor progressMonitor)
6、关闭编辑器后释放资源
@Override
public void dispose()
实现编辑器的父类为DiagramDocumentEditor,要实现编辑器就继承该类就可以了。
1、增加工具箱,通常在初始化编辑器后紧接着就会通过编辑器来加入相应的工具箱
@Override
protected PaletteRoot createPaletteRoot(PaletteRoot existingPaletteRoot) {
PaletteRoot root = super.createPaletteRoot(existingPaletteRoot);
if (root.getDefaultEntry() instanceof PanningSelectionToolEntry) {
PanningSelectionToolEntry deftool = (PanningSelectionToolEntry) root
.getDefaultEntry();
deftool.setToolClass(SelectionToolUtils.class);
// System.out.println(deftool);
}// end if
//这里通过工具箱工厂来创建工具箱
JonasPaletteFactory PaletteFactory = new Jonas.diagram.part.JonasPaletteFactory();
//填满工具箱
PaletteFactory.fillPalette(root);
return root;
}
2、创建视图提供器
@Override
protected ScrollingGraphicalViewer createScrollingGraphicalViewer() {
// 提供的界面上各种元素控件的操作
return new JonasDiagramGraphicalViewerProvider();
}
3、设置等宽等高
@Override
protected void createActions() {
super.createActions();
ActionRegistry registry = getActionRegistry();
IAction action;
action = new MatchWidthAction(this);
registry.registerAction(action);
getSelectionActions().add(action.getId());
action = new MatchHeightAction(this);
registry.registerAction(action);
getSelectionActions().add(action.getId());
}
5、保存编辑器的内容
public void doSave(IProgressMonitor progressMonitor)
6、关闭编辑器后释放资源
@Override
public void dispose()