我在我的java类中定义了一个动作,并在plugins.xml文件中绑定并绑定它。当我第一次启动我的应用程序时,我在工具提示中看到了我的键绑定(这是它的假设)但是在使用setToolTip(String toolTip)更改工具提示后,按钮绑定从工具栏操作按钮中消失,但是键绑定仍然有效。如何再次显示它,或者如何为我的操作获取特定的键绑定,因为getAccelerator()方法返回0。 这是我的动作类代码
public class SampleAction extends DiagramAction{
public static final String ID = "sampleFunction";
private void initData() {
setId(ID);
setText(Messages.cmd_AddBranchAction_text);
setToolTipText(Messages.cmd_AddBranchAction_desc);
}
@Override
public void refresh() {
super.refresh();
//checks if button in toolbar is enabled
boolean isEnabled = isEnabled();
if(isEnabled) {
setToolTipText("Do something");
} else {
setToolTipText("Node not selected, select a node");
}
}
}
这是在plugin.xml中定义的方式
<key
commandId="com.sample.sampleFunction"
contextId="org.eclipse.ui.context.window"
schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
sequence="M1+A" />
答案 0 :(得分:1)
您可以使用IBindingService
获取命令的键绑定文本:
TriggerSequence activeBinding = bindingService.getBestActiveBindingFor("command id");
if (activeBinding != null && !activeBinding.isEmpty()) {
String acceleratorText = activeBinding.format();
}
在视图或编辑器中,这将获得绑定服务:
IBindingService service = (IBindingService)getSite().getService(IBindingService.class);
其他地方你可以使用
IBindingService bindingSvc = (IBindingService)PlatformUI.getWorkbench().getAdapter(IBindingService.class);