第一步:新建Editor,并继承自GraphicalEditorWithFlyoutPalette
比如:public class ActivityEditor extends GraphicalEditorWithFlyoutPalette
第二步:定义如下的静态变量
protected static final String PALETTE_DOCK_LOCATION = "Dock location"; //$NON-NLS-1$
protected static final String PALETTE_SIZE = "Palette Size"; //$NON-NLS-1$
protected static final String PALETTE_STATE = "Palette state"; //$NON-NLS-1$
protected static final int DEFAULT_PALETTE_SIZE = 130;
第三步:实现createPalettePage() 和createPaletteViewerProvider() 两个方法
protected CustomPalettePage createPalettePage() {
return new CustomPalettePage(getPaletteViewerProvider()) {
public void init(IPageSite pageSite) {
super.init(pageSite);
IAction copy = getActionRegistry().getAction(ActionFactory.COPY.getId());
pageSite.getActionBars().setGlobalActionHandler(
ActionFactory.COPY.getId(), copy);
}
};
}
protected PaletteViewerProvider createPaletteViewerProvider() {
return new PaletteViewerProvider(getEditDomain()) {
private IMenuListener menuListener;
protected void configurePaletteViewer(PaletteViewer viewer) {
super.configurePaletteViewer(viewer);
viewer.setCustomizer(new MyPaletteCustomizer());
viewer.addDragSourceListener(new TemplateTransferDragSourceListener(viewer));
}
protected void hookPaletteViewer(PaletteViewer viewer) {
super.hookPaletteViewer(viewer);
final CopyTemplateAction copy = (CopyTemplateAction)getActionRegistry()
.getAction(ActionFactory.COPY.getId());
viewer.addSelectionChangedListener(copy);
if (menuListener == null)
menuListener = new IMenuListener() {
public void menuAboutToShow(IMenuManager manager) {
manager.appendToGroup(GEFActionConstants.GROUP_COPY, copy);
}
};
viewer.getContextMenu().addMenuListener(menuListener);
}
};
}
第四步:在测试插件时的时候,打开Palette视图就可以看到其中自己定义的选项了
分享到:
相关推荐
eclipse GEF的官方教程,适合初学者
安装m2eclipse插件时会依赖gef插件和svn插件,压缩包内包含m2eclipse + gef + svn的全部插件安装包,可以直接离线安装,本人亲测,在Eclipse3.7下安装成功,可以新建Maven项目。 需要注意的是,在离线安装时,切记...
eclipse gef 插件 最新版本
eclipse gef插件 绝对能用
eclipse 3.2下的gef,ve,gmf,经过自己的收集,把三个都收集齐了,一并传上,希望对大家有用
GEF入门实例代码2《Eclipse插件开发》中实例
安装方式:在eclipse目录下创建两个子目录myplugins和links,然后在myplugins目录下建三个子目录emf,gefruntime和ve,将emf-sdo-runtime-2.2.0.zip解压缩到emf目录下,将GEF-runtime-3.2.zip解压缩到gefruntime目录...
Eclipse的GEF插件,支持J2SE手动添加控件!
开发eclipse插件,使用GEF的demo。开发组件,并用流程编辑器拖拽组件。最后解析成Java代码,然后打包成可执行jar。
通过简单易懂的方式,介绍了Eclipse GEF 框架原理。对GEF开发有极大的好处/
eclipse插件 GEF-SDK-3.4.0.zip
Eclipse的图形编辑框架GEF的参考API,chm格式
eclipse gef原理的详细介绍PPT,很有参考价值。GEF是实现MVC模式的经典架构。
eclipse gef example 例子 包括flow,logic,shapes,text四部分
eclipse图形开发必备插件,可以 用来给用户提供图形化编辑模型的功能,从而提升用户体验,典型的应用如图形化的流程设 计器、UML类图编辑器等等
ECLIPSE GEF 5.4.0
eclipse3.4的可视化开发GEF eclipse3.4的可视化开发GEF eclipse3.4的可视化开发GEF
Eclipse的GEF插件,GEF-ALL-3.5.0.zip