[英]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 来使用)。
我已经搜索了文档,我发现的唯一内容如下:
@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,因为它对用户来说更清晰。
我只找到了关于如何删除 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.