SDA SE Wiki

Software Engineering for Smart Data Analytics & Smart Data Analytics for Software Engineering

User Tools

Site Tools


Eine Outline bzw. eine contentoutlinepage zeigt eine Zusammenfassung der Elemente eines Editors. Sie enthält defaultmäßig einen TreeViewer, kann aber um beliebig viele Elemente erweitert werden, die dann durch ein Layout angeordnet werden können.
Wird auf der Outline setInput(..) aufgerufen, so wird der Inhalt neu berechnet. Die Outline triggert hierzu auf dem ContentProvider die inputChanged(..) Methode mit dem neuen Inhalt (z.B. ein ieditorinput). Der Content Provider kann nun seinen State neu berechnen. Um den treeviewer in der Outline neu zu erstellen werden auf Basis der vier Methoden des Content Providers Interfaces (itreecontentprovider) (getChildren(),getParent(),hasChildren(),getElements()) die Baumansicht neu gezeichnet.
Die durch den Content Providder zurückgelieferten Elemente müssen das interface IAdaptable implementieren, d.h. die Methode:
public Object getAdapter(Class adapter);
Das Objekt liefert dann je, nach Context (adapter) verschieder Adapter zurück. Für das Anzeigen eine einen treeviewer Elementes wird der Adapter iworkbenchadapter.class angefordert. Eine default Implementierung kann z.B. so aussehen:

{java2htmlplugin publicobjectgetadapter(classadapter){ if(adapter.equals(iworkbenchadapter.class)) returnnewiworkbenchadapter(){ publicobject[]getchildren(objecto){ returnnewobject[0];..nochildern } publicimagedescriptorgetimagedescriptor(objectobject){ returnimagedescriptor; } publicstringgetlabel(objecto){ returngetlabel(); } publicobjectgetparent(objecto){ returnnull;..noparent } }; } }

research/jtransformer/outlinemetaphor.txt · Last modified: 2018/05/09 01:59 (external edit)

SEWiki, © 2019