我正在创建一个在文本编辑器中具有树视图的编辑器。我附加了一个属性视图,以便在选择每个树项目时显示该项目的属性。为此,每个树项都是一个实现 IPropertySource 的类。因此,属性值是通过重写 IPropertySource 类的方法(如 getPropertyDescriptors、getPropertyValue、setPropertyValue 等)来获取的。
属性值显示正确。但是,我要求属性视图中的值是只读的。目前,这些名称不可编辑。但是,在选择属性视图的某一行时,该属性的值是可编辑的。如何使属性视图的所有属性值变为只读(不可编辑)?
Thanks!
如果您使用 Eclipse 中的标准属性表页面,则它取决于IPropertyDescriptor
返回的实现IPropertySource.getPropertyDescriptors
您的属性是否以及如何在视图中可编辑。
如果你看一下 JavaDocIPropertyDescriptor
,您可以看到以下内容:
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
应该可以解决问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)