eclipse rcp:与toolitem的密钥绑定

时间:2011-11-20 10:09:51

标签: swt eclipse-rcp

我的eclipse rcp应用程序中有一个工具栏,它包含三个按钮,

  1. 主页按钮:转到主页
  2. 后退按钮:转到上一页
  3. 转发按钮:转到下一页
  4. 代码创建它们:

    ToolBar tb = new ToolBar(toolBarComp, SWT.NONE);
            fd = new FormData();
            fd.right = new FormAttachment(100, -10);
            tb.setLayoutData(fd);
    
            homeBtn = new ToolItem(tb, SWT.PUSH);
            homeBtn.setImage(ResourceManager.getImage(ResourceClass.class, "home.png"));
            homeBtn.setToolTipText("返回主页");
    
            backBtn = new ToolItem(tb, SWT.PUSH);
            backBtn.setImage(ResourceManager.getImage(ResourceClass.class, "back.png"));
            backBtn.setToolTipText("返回至上一页");
            backBtn.setEnabled(false);
            backBtn.addSelectionListener(new SelectionAdapter(){
    
                public void widgetSelected(SelectionEvent e) {
                    CompositePageRender.this.controler.goBack();
                }
    
            });
    
            forwardBtn = new ToolItem(tb, SWT.PUSH);
            forwardBtn.setImage(ResourceManager.getImage(ResourceClass.class, "forward.png"));
            forwardBtn.setToolTipText("前进至下一页");
            forwardBtn.setEnabled(false);
            forwardBtn.addSelectionListener(new SelectionAdapter(){
    
                public void widgetSelected(SelectionEvent e) {
                    CompositePageRender.this.controler.goFroward();
                }
    
            });
    

    我想用主页按钮绑定ALT + H,这可能吗?怎么做?

1 个答案:

答案 0 :(得分:2)

在SWT应用程序中,您可以使用助记符来模拟按下按钮。

但是,如果您指的是工具栏中带有ToolItems的RCP应用程序,则需要使用命令框架来使用键绑定。

您定义一个命令,然后使用句柄来实现该行为。然后你有你的ToolItem和keybinding ALT + H 指向同一个命令。

有关详细信息,请参阅Workbench extension points using Commands