SDA SE Wiki

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

User Tools

Site Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

research:jtransformer:outlinemetaphor [2018/05/09 01:59] (current)
Line 1: Line 1:
 +Eine Outline bzw. eine [[contentoutlinepage|contentoutlinepage]] zeigt eine Zusammenfassung der Elemente
 +eines Editors. Sie enthält defaultmäßig einen [[treeviewermetaphor|TreeViewer]],​ kann aber um beliebig viele Elemente erweitert werden, die dann durch ein [[layoutmetaphor|Layout]] angeordnet werden können.\\ ​
 +Wird auf der Outline setInput(..) aufgerufen, so wird der Inhalt neu berechnet. Die Outline triggert hierzu auf dem [[contentprovidermetaphor|ContentProvider]] die inputChanged(..) Methode mit dem neuen Inhalt (z.B. ein [[ieditorinput|ieditorinput]]).
 +Der Content Provider kann nun seinen State neu berechnen. Um den [[treeviewer|treeviewer]] in der Outline neu zu erstellen werden auf Basis der vier Methoden des Content Providers Interfaces ([[itreecontentprovider|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|treeviewer]] Elementes wird der Adapter ''​[[iworkbenchadapter|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
 + }
 + };
 +}
 +
 +}|{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