好久没折腾这类应用,同事设置快捷键不成功,让我看下,重温一下,记录一下吧
首先机器上要有rcp开发的eclipse版本
然后新建一个插件项目rcpf9,注意选 Eclipse 4 RCP application这个模板
新建项目后 有rcpf9.parts.SamplePart 这样的一个界面文件
注意在Application.e4xmi配置文件里他的id标识是 rcpf9.part.sample
这个文件里有注入
@Inject
private MPart part;
我们再添加
@Inject
private EModelService modelService;
@Inject
private MApplication application;
为了给快捷键增加响应函数,新建SetTextFocusHandler文件
public class SetTextFocusHandler { @Execute public void execute( MApplication application, EModelService modelService) { System.out.println("focus"); SamplePart fetchpart = (SamplePart)((MPart) modelService.find("rcpf9.part.sample", application)).getObject(); if(fetchpart!=null) { System.out.println("ok"); fetchpart.setTextFocus(); } } }
setTextFocus函数就是在SamplePart页面给控件设置焦点,下面就是设置Application.e4xmi环节
增加命令,增加一个处理程序(就是把命令和SetTextFocusHandler文件关联),
然后到bindingtable里增加快捷键(关联命令),这个快捷键是属于某个绑定上下文
最后把窗口 控件里的分区(samplepart)绑定上下文新增一个上面的上下文
下面就是见证奇迹,右键rcpf9.product文件,以eclipse应用运行,快捷键生效了
-----------------
F1快捷键就输入F1,或者ctrl+E就输入 M1+E ,用m是为了兼容Mac系统