簡體   English   中英

Java Eclipse Properties View實現的“顯示高級屬性”

[英]Java Eclipse Properties View implementation of “Show advanced properties”

我有一個帶對象的TreeViewer ,我想在Eclipse的默認PropertiesView中顯示信息。 我創建了一個AdapterFactory ,它使用Override方法實現IAdapterFactory接口:

@Override
public Object getAdapter(Object adaptableObject, Class adapterType)
{
    if(adapterType == IPropertySource.class && adaptableObject instanceof UATreeNode)
    {
        return new UATreeNodeAdapter((UATreeNode) adaptableObject);
    }
    return null;
}

然后,我創建了一個適配器,該適配器使用我自己的PropertyDescriptors實現IPropertySource接口,例如:

public static final String OBJECT_ID_ACCESSLEVEL = "Obj.accessLevel";
private static final String OBJECT_LABEL_ACCESSLEVEL = "AccessLevel";

protected PropertyDescriptor objectAccessLevelDescriptor = new PropertyDescriptor(OBJECT_ID_ACCESSLEVEL, OBJECT_LABEL_ACCESSLEVEL);

@Override
public IPropertyDescriptor[] getPropertyDescriptors()
{
    return new IPropertyDescriptor[] { objectAccessLevelDescriptor };
}

@Override
public Object getPropertyValue(Object id)
{
    if(id.equals(OBJECT_ID_ACCESSLEVEL))
        return uaTreeNode.getAccessLevel();
}

我得到了更多的的PropertyDescriptors ,現在我想展示一些他們只有在“顯示高級屬性”菜單按鈕PropertiesView被激活。

所以我的問題是,如果是這樣,只有在激活“顯示高級屬性”的情況下才顯示我的屬性,該怎么辦?

調用PropertyDescriptor.setFilterFlags方法來設置專家過濾器屬性:

PropertyDescriptor desc = ...

desc.setFilterFlags(new String [] {IPropertySheetEntry.FILTER_ID_EXPERT});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM