2016-03-23 6 views
0

Ich habe eine mit Objekt, das ich Informationen in der Standardeinstellung PropertiesView in Eclipse anzeigen möchte. Ich habe ein AdapterFactory die die IAdapterFactory Schnittstelle mit dem Aufschalten Methode implementiert:Java Eclipse Eigenschaften Implementierung von "Show advanced properties" anzeigen

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

Dann habe ich einen Adapter, der die IPropertySource Schnittstelle mit meinem eigenen PropertyDescriptors zum Beispiel implementiert:

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(); 
} 

Ich habe mehr von diesen PropertyDescriptors und jetzt möchte ich einige von ihnen nur zeigen, wenn das Menü "Show Advanced Properties" in der PropertiesView aktiviert ist.

Also meine Frage, ist das möglich zu tun, wenn ja, was muss ich implementieren, um meine Eigenschaften nur anzuzeigen, wenn "Show Advanced Properties" aktiviert ist?

Antwort

0

Rufen Sie die PropertyDescriptor.setFilterFlags Methode der Experte Filtereigenschaft zu setzen:

PropertyDescriptor desc = ... 

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

Dank für Ihre Antwort danken. Das hat mein Problem gelöst. – Strizzi

Verwandte Themen