如何在通过文本字段过滤时刷新合成?
How to refresh the composite while filtering through text field?
我在一个合成中有一个部分和 formtoolkit
。当我在搜索框(Text
字段)中输入一些文本时,它应该根据用户输入进行过滤并在下面显示结果。过滤数据时我遇到了一个问题。当用户在文本字段中输入文本时,如何刷新复合中的数据。
我想要一个与
中相同的解决方案
Preferences -> compiler -> Errors/Warnings?
示例:
如果我在搜索框中输入 "null",它会在下面显示所有相关的 "null" 值。
filtering/refreshing复合数据如何实现这个实现?
您引用的首选项页面使用包含所有要过滤的控件的 Composite
执行此操作。 Composite
使用 GridLayout
布局。
每个控件都有一个GridData
布局数据。要将控件设置为可见或不可见,它使用:
control.setVisible(visible);
((GridData)control.getLayoutData()).exclude = !visible;
完成后调用:
composite.layout(true, true);
完全重做 Composite
的布局。
大部分代码在 org.eclipse.jdt.internal.ui.preference.OptionsConfigurationBlock
要进行过滤,您需要为过滤器创建一个 Text
字段并添加一个 ModifyListener
来监听文本中的变化。
每次文本更改时,您都会将每个控件的文本与过滤器匹配,并如上所述将控件设置为可见/不可见。在过滤结束时,您执行 layout
调用。
我在一个合成中有一个部分和 formtoolkit
。当我在搜索框(Text
字段)中输入一些文本时,它应该根据用户输入进行过滤并在下面显示结果。过滤数据时我遇到了一个问题。当用户在文本字段中输入文本时,如何刷新复合中的数据。
我想要一个与
中相同的解决方案Preferences -> compiler -> Errors/Warnings?
示例:
如果我在搜索框中输入 "null",它会在下面显示所有相关的 "null" 值。
filtering/refreshing复合数据如何实现这个实现?
您引用的首选项页面使用包含所有要过滤的控件的 Composite
执行此操作。 Composite
使用 GridLayout
布局。
每个控件都有一个GridData
布局数据。要将控件设置为可见或不可见,它使用:
control.setVisible(visible);
((GridData)control.getLayoutData()).exclude = !visible;
完成后调用:
composite.layout(true, true);
完全重做 Composite
的布局。
大部分代码在 org.eclipse.jdt.internal.ui.preference.OptionsConfigurationBlock
要进行过滤,您需要为过滤器创建一个 Text
字段并添加一个 ModifyListener
来监听文本中的变化。
每次文本更改时,您都会将每个控件的文本与过滤器匹配,并如上所述将控件设置为可见/不可见。在过滤结束时,您执行 layout
调用。