我已经成功地创建了一个插件项目,为PolicyCmptType定义了一个扩展属性。这个扩展属性是基于枚举的,所以我想获得一个ComboBox作为它的控件,现在创建了一个简单的文本控件。有什么简单的方法可以做到这一点吗?
发布于 2020-12-11 14:19:24
Faktor-IPS允许您通过扩展点的Eclipse机制创建自己的UI贡献包。你已经使用了一个来创建你的扩展属性。对于自定义编辑字段,您可以使用扩展点属性,实现IExtensionPropertyEditFieldFactory并将扩展属性的id设置为“propertyId”。
要创建EditField,首先要创建具有UIToolkit的组合,然后使用ComboViewerField配置数据绑定:
@Override
public EditField<?> newEditField(IIpsObjectPartContainer ipsObjectPart,
Composite extensionArea,
UIToolkit toolkit) {
Combo combo = toolkit.createCombo(extensionArea);
ComboViewerField<VariationOperand> comboViewerField = new ComboViewerField<VariationOperand>(combo,
VariationOperand.class);
comboViewerField.setLabelProvider(new DefaultLabelProvider());
comboViewerField.setInput(VariationOperand.values());
return comboViewerField;
}您还可以创建自己的LabelProvider以自定义值的显示方式。
https://stackoverflow.com/questions/65246530
复制相似问题