繁体   English   中英

将 QuickAccess TextField 添加到 Eclipse RCP 应用程序

[英]Add QuickAccess TextField to an eclipse RCP application

我有一个使用 SWT 的 Eclipse RCP 应用程序(RCP 版本 4.12.0.v20190605-1801)。 我想将 eclipse QuickAccess TextField 作为搜索栏添加到我的项目中,就像在 Java eclipse IDE 中一样(也可以通过按 ctrl + 3 来使用)。

QuickAccess 的 Eclipse 视图

我已经搜索了文档,我发现的唯一内容如下:

@Override
protected void fillCoolBar(ICoolBarManager coolBar) {
    // ToolBar File & Additions
    IToolBarManager fileToolBar = new ToolBarManager(coolBar.getStyle());
    fileToolBar.add(ActionFactory.SHOW_QUICK_ACCESS.create(window));   // window == class attribute

    // Add some other stuff
}

在我的情况下,这会生成一个 QuickAccess 按钮,但不会生成 TextField。 如果你点击它,它的工作方式是一样的,但我更喜欢使用 TextField,因为它对用户来说更清晰。

我的 QuickAccess 按钮使用 org.eclipse.ui.acitons.ActionFactory

我只找到了关于如何删除 TextField 的线程,但没有找到如何添加它的线程,例如在这里发布 所以我想它一定是一个有点内置的功能。

如果有人对 JCrypTool 项目感兴趣:

希望我没有错过任何重要的事情,提前感谢您的帮助。

我现在选择了一个稍微不同的解决方案。

我将 QuickAccess 条目作为扩展包含在我的 plugin.xml 中,我在其中定义了我的工具栏。 它现在不是输入文本,而是一个按钮(描绘了一个放大镜图标)。 我采用这种方法是因为使用 RCP 扩展点很容易实现。

这是我的plugin.xml现在的(简化)版本。 相关部分是扩展点org.eclipse.ui.menus这就要求org.eclipse.ui.window.quickAccess

<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
   <extension id="application" point="org.eclipse.core.runtime.applications">
      <application>
         <run class="org.jcryptool.core.Application"/>
      </application>
   </extension>

   <extension point="org.eclipse.ui.menus">
      <menuContribution
            allPopups="false"
            locationURI="toolbar:org.jcryptool.core.searchToolbar">
         <command
               commandId="org.eclipse.ui.window.quickAccess"
               icon="icons/searchIcon.png"
               style="push">
         </command>
      </menuContribution>
   </extension>

   <extension id="product" point="org.eclipse.core.runtime.products">
      <product application="org.jcryptool.core.application" name="JCrypTool">
         <property name="appName" value="JCrypTool"/>
         <property name="cssTheme" value="org.jcryptool.themes.default"/>
      </product>
   </extension>

</plugin>

这看起来像这样:

在此处输入图片说明

对于一个真正奇特的实现,我想你必须为它编写一些代码。 但作为相当不错的 RCP 解决方案,它对我来说没问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM