Eclipse编辑器的只读属性视图

时间:2012-03-05 06:12:56

标签: eclipse plugins properties

我正在创建一个在文本编辑器中具有树视图的编辑器。我附加了一个属性视图,以便在选择每个树项时,显示项的属性。为此,每个树项都是一个实现IPropertySource的类。因此,通过覆盖IPropertySource类的方法(如getPropertyDescriptors,getPropertyValue,setPropertyValue等)来获取属性值。 属性值正确显示。但是,我要求属性视图中的值是只读的。目前,这些名称是不可编辑的。但是在选择属性视图的其中一行时,该属性的值是可编辑的。如何使属性视图的所有属性值都为只读(不可编辑)?

谢谢!

1 个答案:

答案 0 :(得分:4)

如果您使用的是Eclipse的标准属性表页面,则它取决于IPropertyDescriptor返回的IPropertySource.getPropertyDescriptors实现是否以及如何在视图中编辑您的属性。

如果您查看IPropertyDescriptor的JavaDoc,可以看到以下内容:

Clients may implement this interface to provide specialized property
descriptors; however, there are standard implementations declared in this 
package that take care of the most common cases:

* PropertyDescriptor - read-only property
* TextPropertyDescriptor - edits with a TextCellEditor
* CheckboxPropertyDescriptor - edits with a CheckboxCellEditor
* ComboBoxPropertyDescriptor - edits with a ComboBoxCellEditor
* ColorPropertyDescriptor - edits with a ColorCellEditor

因此,对于您的情况,返回PropertyDescriptor应该可以解决问题。