GEF-实现控件面板Palette的动态刷新

本文介绍了在GEF编辑器中,如何实现在特定控件获得焦点时动态刷新Palette面板的内容。通过重载Editor的getPaletteRoot方法创建默认条目,并在Table的EditPart类上添加Policy,利用GTableSelectionPolicy处理选择事件。提供了两种方法实现动态刷新:一是重新构建PaletteRoot并设置到EditDomain;二是直接修改PaletteEntry的属性以实现动态变更。
摘要由CSDN通过智能技术生成

本文中涉及到的例子可以在以下URL下载。导入eclipse项目即可,我的环境的Eclipse4.3.1

http://download.csdn.net/detail/hoslay1/6925761

如果有问题请联系我QQ:195307039说明来意即可。

 

GEF中如果需要在某个控件获取焦点的时候动态刷新控件面板Palette,可以参考以下方式。

假设需要在选中某个控件的时候显示和选中控件相关的Item,而隐藏其它不需要的控件:

以下Editor代表外部的编辑器,EditPart代表GEF的EditPart

1.重载Editor的getPaletteRoot方法以创建默认的Palette条目

protected PaletteRoot getPaletteRoot() {
		//创建根
		PaletteRoot root=  new PaletteRoot();
		//创建工具组
		PaletteGroup strandGroup = new PaletteGroup("标准");
		root.add(strandGroup);
		//创建一个gef默认提供的"selection"工具,默认被选择
		ToolEntry tool =  new SelectionToolEntry();
		strandGroup.add(tool);
		root.setDefaultEntry(tool);
		
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值