trimbars中的Eclipse4工具控件

trimbars中的Eclipse4工具控件,eclipse,eclipse-plugin,eclipse-rcp,e4,Eclipse,Eclipse Plugin,Eclipse Rcp,E4,我想在trimbars中创建combobox。 所以我开始添加一个文本框 我创建了修剪条->窗口修剪->工具栏->工具控件 我还提到了类URI 公共类SearchToolItem{ @施工后 公共void createControls(复合父级){ setLayout(新的GridLayout()); 最终复合材料=新复合材料(母体,SWT.NONE); 组件设置布局(新的GridLayout()); 文本文本=新文本(组件、SWT.边框); text.setMessage(“搜索”); tex

我想在trimbars中创建combobox。 所以我开始添加一个文本框

我创建了修剪条->窗口修剪->工具栏->工具控件

我还提到了类URI

公共类SearchToolItem{
@施工后
公共void createControls(复合父级){
setLayout(新的GridLayout());
最终复合材料=新复合材料(母体,SWT.NONE);
组件设置布局(新的GridLayout());
文本文本=新文本(组件、SWT.边框);
text.setMessage(“搜索”);
text.setToolTiptText(“搜索”);
System.out.println(“我在SearchToolItem中”);
GridData lgridata=新的GridData(GridData.FILL,GridData.FILL,true,true);
lgridata.widthHint=200;
text.setLayoutData(LGridata);
}
}
我还将Sysout放在方法中,但这个方法永远不会执行

我做的和vogella网站上提到的一样

见第30.2节


编辑:- @格雷格-449 我已删除更改父布局, 下面是Application.e4xmi的trimBars部分代码

<trimBars xmi:id="_MWSIoJgaEeKJoJcmiy2C6w" elementId="org.eclipse.emf.ecp.e4.application.trimbar.0">
  <children xsi:type="menu:ToolBar" xmi:id="_np7_0NHfEeSckszzmbNB_g" elementId="com.gide.sasm.application.toolbar.0">
    <children xsi:type="menu:ToolControl" xmi:id="_eGZ0ENHfEeSckszzmbNB_g" elementId="com.gide.sasm.application.toolcontrol.searchTool" accessibilityPhrase="" contributionURI="bundleclass://com.gide.sasm.cardprofile.model.viewmodel/com.gide.sasm.toolbar.handler.SearchToolItem"/>
  </children>
</trimBars>

运行应用程序后,我可以看到装饰条,但我的文本字段不存在。 “待渲染”和“可见”设置为true。
是否需要更多的条目,还有其他地方,我是否遗漏了一些内容。

您的工具控件必须位于窗口修剪中,而不是工具栏中。
在我的示例中,我实现了一个组合框来在透视图之间切换。以下是要遵循的步骤

  • Application.e4xmi:

  • 透视控制

  • 下面是它的样子

  • 我希望这会对您有所帮助。

    您不应该更改
    父级的布局
    -删除
    父级.setLayout(new GridLayout())行。除此之外,它看起来还可以。显示Application.e4xmi中的声明。@greg-449:-我在上面共享了Application.e4xmi。是'com.gide.sasm.cardprofile.model.viewmodel'包含代码的插件的id吗?@greg-449是的,它是使用EMF生成的(.viewmodel),类为“SearchToolItem”位于该模块中。运行应用程序时是否指定“-clearPersistedState”?如果我只有装饰条->窗口装饰->工具控制,没有此功能,则不会拾取新项目。现在我甚至看不到窗口中的装饰条(工具栏中有工具控件对象没有问题,我有很多这样的应用程序。你有没有用ApplicationModelSpy检查工具控件在运行时是否在模型中?应用程序启动时是否有异常?是不是ndleclass://com.gide.sasm.cardprofile.model.viewmodel/com.gide.sasm.toolbar.handler.SearchToolItem 100%对吧??