Unterschiede
Hier werden die Unterschiede zwischen der gewählten und der aktuellen Version gezeigt.
swt-jface:treeviewer 2007/11/09 07:56 | swt-jface:treeviewer 2020/01/22 20:59 aktuell | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== TreeViewer ====== | ====== TreeViewer ====== | ||
- | {{eclipse-rcp:treeviewer.gif|}} | + | //org.eclipse.jface.viewers.TreeViewer//\\ |
+ | \\ | ||
+ | Siehe auch: [[treetableviewer|TreeViewer mit mehreren Spalten]]\\ | ||
+ | {{eclipse-rcp:treeviewer.png|}}\\ | ||
+ | \\ | ||
+ | \\ | ||
+ | <html> | ||
+ | <script type="text/javascript"><!-- | ||
+ | google_ad_client="pub-9681858985507948"; | ||
+ | google_ad_width = 468; | ||
+ | google_ad_height = 60; | ||
+ | google_ad_format = "468x60_as"; | ||
+ | google_ad_type = "text"; | ||
+ | google_ad_channel = ""; | ||
+ | google_color_border = "cccccc"; | ||
+ | google_color_bg = "FFFFFF"; | ||
+ | google_color_link = "1d2d8c"; | ||
+ | google_color_text = "000000"; | ||
+ | google_color_url = "1d2d8c"; | ||
+ | //--> | ||
+ | </script> | ||
+ | <script type="text/javascript" | ||
+ | src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> | ||
+ | </script> | ||
+ | </html> | ||
+ | \\ | ||
<code java> | <code java> | ||
- | package com.sowas.rpcdemos.treeviewer; | + | package com.sowas.javawiki.rpcbaseapplication; |
import java.util.ArrayList; | import java.util.ArrayList; | ||
import java.util.List; | import java.util.List; | ||
- | |||
- | import javax.sound.midi.Track; | ||
import org.eclipse.jface.viewers.ILabelProvider; | import org.eclipse.jface.viewers.ILabelProvider; | ||
Zeile 63: | Zeile 86: | ||
class City{ | class City{ | ||
- | public Street[] getStreets(){ | + | Street[] streets = new Street[4]; |
- | Street[] streets = new Street[4]; | + | |
+ | public City(){ | ||
for (int i = 0; i<streets.length; i++) | for (int i = 0; i<streets.length; i++) | ||
streets[i] = new Street(this, i); | streets[i] = new Street(this, i); | ||
+ | } | ||
+ | |||
+ | public Street[] getStreets(){ | ||
return streets; | return streets; | ||
} | } | ||
Zeile 77: | Zeile 104: | ||
class Street{ | class Street{ | ||
- | City city; | + | City city; |
- | int indx; | + | House[] houses = new House[2]; |
+ | int indx; | ||
- | public Street(City city, int i){ | + | public Street(City city, int index){ |
this.city = city; | this.city = city; | ||
- | indx = i + 1; | + | indx = index + 1; |
+ | for (int i = 0; i<houses.length; i++) | ||
+ | houses[i] = new House(this, i); | ||
+ | } | ||
+ | |||
+ | public House[] getHouses(){ | ||
+ | return houses; | ||
} | } | ||
Zeile 90: | Zeile 124: | ||
} | } | ||
+ | |||
+ | class House{ | ||
+ | Street street; | ||
+ | int indx; | ||
+ | |||
+ | public House(Street street, int i){ | ||
+ | this.street = street; | ||
+ | indx = i + 1; | ||
+ | } | ||
+ | |||
+ | public String toString(){ | ||
+ | return "Haus " + indx; | ||
+ | } | ||
+ | } | ||
+ | |||
class AddressContentProvider implements ITreeContentProvider { | class AddressContentProvider implements ITreeContentProvider { | ||
+ | /** | ||
+ | * Liefert die Kinder eines Elements | ||
+ | */ | ||
public Object[] getChildren(Object parentElement) { | public Object[] getChildren(Object parentElement) { | ||
if (parentElement instanceof List) | if (parentElement instanceof List) | ||
Zeile 98: | Zeile 150: | ||
if (parentElement instanceof City) | if (parentElement instanceof City) | ||
return ((City) parentElement).getStreets(); | return ((City) parentElement).getStreets(); | ||
+ | if (parentElement instanceof Street) | ||
+ | return ((Street) parentElement).getHouses(); | ||
return new Object[0]; | return new Object[0]; | ||
} | } | ||
+ | /** | ||
+ | * Liefert die Eltern eines Elements | ||
+ | */ | ||
public Object getParent(Object element) { | public Object getParent(Object element) { | ||
if (element instanceof Street) | if (element instanceof Street) | ||
return ((Street)element).city; | return ((Street)element).city; | ||
+ | if (element instanceof House) | ||
+ | return ((House)element).street; | ||
return null; | return null; | ||
} | } | ||
+ | /** | ||
+ | * Liefert, ob ein Element Kinder hat | ||
+ | */ | ||
public boolean hasChildren(Object element) { | public boolean hasChildren(Object element) { | ||
if (element instanceof List) | if (element instanceof List) | ||
Zeile 112: | Zeile 174: | ||
if (element instanceof City) | if (element instanceof City) | ||
return ((City) element).getStreets().length > 0; | return ((City) element).getStreets().length > 0; | ||
+ | if (element instanceof Street) | ||
+ | return ((Street) element).getHouses().length > 0; | ||
return false; | return false; | ||
} | } | ||
- | public Object[] getElements(Object kundenstaemme) { | + | /** |
- | return getChildren(kundenstaemme); | + | * Liefert die Root-Elemente |
+ | * Kann daher meist getChildren() aufrufen | ||
+ | */ | ||
+ | public Object[] getElements(Object inputElement) { | ||
+ | return getChildren(inputElement); | ||
} | } | ||
Zeile 126: | Zeile 194: | ||
} | } | ||
} | } | ||
- | </code> | + | </code>\\ |