我正在尝试创建Eclipse插件应用程序,其中在treeViewer中选择一个节点,在eclipse属性视图中显示相应的值。
我已经实现了覆盖IPropertySource
接口的类,如下所示:
public class PropertyViewer implements IPropertySource
{
@Override
public Object getEditableValue()
{
return this;
}
@Override
public IPropertyDescriptor[] getPropertyDescriptors() {
return desc;
}
@Override
public Object getPropertyValue(Object id) {
application specific logic yo return value for a id
}
@Override
public boolean isPropertySet(Object id) {
return true;
}
@Override
public void resetPropertyValue(Object id) {
}
@Override
public void setPropertyValue(Object id, Object value) {
//to set vlaue for a changed property in eclipse property view
}}
现在上面代码的问题是在eclipse属性上完成更新时正确调用了setPropertyValue
。但是在输入的eclipse属性视图中没有显示更新的属性。但当我deselct并再次选择此节点时,它显示更新的值。我google了很多,并且必须在firePropertyChange
函数下调用setpropertyValue
方法。任何人都可以帮助我,因为我对此并不熟悉。显示如何调用fireproperty更改的小代码片段将完全有用。非常感谢提前。 TOR