Unterschiede
Hier werden die Unterschiede zwischen der gewählten und der aktuellen Version gezeigt.
| swt-jface:treeviewer 2007/11/09 11:32 | swt-jface:treeviewer 2020/01/22 20:59 aktuell | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| ====== TreeViewer ====== | ====== TreeViewer ====== | ||
| - | {{eclipse-rcp:treeviewer.png|}} | + | //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>\\ |