edu.bonn.xulu.plugin.vis
Class GTVisualisationTool

java.lang.Object
  extended by edu.bonn.xulu.plugin.vis.GTVisualisationTool
All Implemented Interfaces:
AbstractManager.ContentType, VisualisationTool
Direct Known Subclasses:
GTEditorTool

public class GTVisualisationTool
extends Object
implements VisualisationTool

Diese Klasse stellt ein Visualisierungstool fuer geografische Raster- und Vektor-Daten dar. Es basiert auf LayeredMapFrame und kann Layer fuer folgende Datentypen darstellen:

Version:
1.0
Author:
Martin Schmitz (University of Bonn/Germany)

Nested Class Summary
protected  class GTVisualisationTool.UpdateListener
          Dieser UpdateListener verknuepft ein Objekt mit einem oder mehreren Layern einer LayeredMapFrame-Instanz.
protected  class GTVisualisationTool.UpdateListenerProxy
          Dieser UpdateListener verknuepft ein Objekt mit einem oder mehreren anderen UpdateListenern und alle alle Funktionsaufrufe an diese weiter.
 
Field Summary
protected static int instanceCount
          Zaehlt die Instanzen (nur fuer den Titel)
protected  LayeredMapPane layeredMapPane
          Kartenbereich und Layer-Liste
protected  LayeredMapFrame mapFrame
          Fenster mit Kartenbereich und Layer-Liste
protected  Vector<VisualisationUpdateListener> updateListener
          Speichert die verteilten UpdateListener
 
Constructor Summary
  GTVisualisationTool()
          Erzeugt ein neues GTVisualisationTool-Fenster.
protected GTVisualisationTool(LayeredMapFrame frame, String title)
          Erzeugt ein neues GTVisualisationTool-Fenster.
 
Method Summary
 boolean add(Object obj, String desc)
          Visualisiert ein Objekt.
protected  MapLayer addLayer(Object obj, String desc, Style style)
          Fuegt ein Layer (als oberstes Layer) ein.
 void close()
          Verbirgt das GTVisualisationTool-Fenster, entfernt alle (durch UpdateListener) damit verbundenen Layer und "vernichtet" anschliessend das Fenster mit AbstractManager.dispose().
protected static Style determineStyleFromObject(Object obj)
           
 Object extractRealObject(Object obj)
          If the given Object is a is an instance of DataProxy then this method returns the real encapulated Object.
 LayeredMapFrame getLayeredMapFrame()
          Liefert das Visualisierungsfenster.
 String getTitle()
          Liefert den Titel des Fensters.
 void initialize(XuluModellingPlatform appl)
          Macht nichts, da die Xulu-Applikation nicht fuer die Visualisierung benoetigt wird.
 boolean isVisible()
          Prueft, ob das Fenster angezeigt wird.
 boolean isVisualisable(Class c)
          Prueft, ob Instanzen einer bestimmten Klasse visualisiert werden koennen.
 boolean isVisualisable(Object obj)
          Prueft, ob ein Objekt visualisiert werden kann.
 boolean remove(Object obj)
          Schliesst alle Visualisierungen eines Objekts.
 void setTitle(String title)
          Setzt den Titel des Fensters.
 void setVisible(boolean visible)
          Zeigt oder verbirgt das Fenster.
 boolean update(Object obj)
          Aktualisiert alle Visualisierungen eines Objekts.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

instanceCount

protected static int instanceCount
Zaehlt die Instanzen (nur fuer den Titel)


updateListener

protected Vector<VisualisationUpdateListener> updateListener
Speichert die verteilten UpdateListener


mapFrame

protected LayeredMapFrame mapFrame
Fenster mit Kartenbereich und Layer-Liste


layeredMapPane

protected LayeredMapPane layeredMapPane
Kartenbereich und Layer-Liste

Constructor Detail

GTVisualisationTool

protected GTVisualisationTool(LayeredMapFrame frame,
                              String title)
Erzeugt ein neues GTVisualisationTool-Fenster.


GTVisualisationTool

public GTVisualisationTool()
Erzeugt ein neues GTVisualisationTool-Fenster.

Method Detail

initialize

public void initialize(XuluModellingPlatform appl)
Macht nichts, da die Xulu-Applikation nicht fuer die Visualisierung benoetigt wird.

Specified by:
initialize in interface VisualisationTool
Parameters:
appl - Xulu-Instanz fuer die das Visualisierungstool erzeugt wurde

close

public void close()
Verbirgt das GTVisualisationTool-Fenster, entfernt alle (durch UpdateListener) damit verbundenen Layer und "vernichtet" anschliessend das Fenster mit AbstractManager.dispose().

Specified by:
close in interface AbstractManager.ContentType
Specified by:
close in interface VisualisationTool

setVisible

public void setVisible(boolean visible)
Zeigt oder verbirgt das Fenster.

Specified by:
setVisible in interface AbstractManager.ContentType
Specified by:
setVisible in interface VisualisationTool

isVisible

public boolean isVisible()
Prueft, ob das Fenster angezeigt wird.

Specified by:
isVisible in interface AbstractManager.ContentType
Specified by:
isVisible in interface VisualisationTool

setTitle

public void setTitle(String title)
Setzt den Titel des Fensters.

Specified by:
setTitle in interface AbstractManager.ContentType
Specified by:
setTitle in interface VisualisationTool

getTitle

public String getTitle()
Liefert den Titel des Fensters.

Specified by:
getTitle in interface AbstractManager.ContentType
Specified by:
getTitle in interface VisualisationTool

getLayeredMapFrame

public LayeredMapFrame getLayeredMapFrame()
Liefert das Visualisierungsfenster.


isVisualisable

public boolean isVisualisable(Class c)
Prueft, ob Instanzen einer bestimmten Klasse visualisiert werden koennen. Neben den direkt von der Oberklasse LayeredMapPane darstellbaren Klassen, kann das GTVisualisationTool Instanzen folgende Klassen visualisieren:

Specified by:
isVisualisable in interface VisualisationTool

isVisualisable

public boolean isVisualisable(Object obj)
Prueft, ob ein Objekt visualisiert werden kann. Dies ist der Fall, wenn es

Specified by:
isVisualisable in interface VisualisationTool
Parameters:
obj - ein Objekt

addLayer

protected MapLayer addLayer(Object obj,
                            String desc,
                            Style style)
Fuegt ein Layer (als oberstes Layer) ein. Instanzen, werden umgewandelt in ein Geotools-GridCoverage2D.

Parameters:
obj - ein (darstellbares) Objekt
desc - Beschreibung fuer das Objekt
style - Darstellungs-Style fuer das Layer
Throws:
UnsupportedOperationException - falls ein nicht-darstellbares Objekt uebergeben wird
See Also:
isVisualisable(Object), isVisualisable(Class)

add

public boolean add(Object obj,
                   String desc)
Visualisiert ein Objekt. Handelt es sich bei dem Objekt um ein darstellbares Xulu-Objekt mit mehreren darstellbaren Eigenschaften, wird der Beschreibung der Property-Name hinzugefuegt.

Specified by:
add in interface VisualisationTool
Parameters:
obj - Objekt
desc - Beschreibung zu dem Objekt, die in der Layer-Uebersicht angezeigt wird (kann null sein)
Returns:
false, falls das Objekt nicht dargestellt werden kann
Throws:
UnsupportedOperationException - falls das Objekt nicht visualisiert werden kann

remove

public boolean remove(Object obj)
Schliesst alle Visualisierungen eines Objekts.

Specified by:
remove in interface VisualisationTool
Parameters:
obj - zu entfernendes Objekt
Returns:
false falls das Objekt nicht (mehr) visualisiert wird

update

public boolean update(Object obj)
Aktualisiert alle Visualisierungen eines Objekts.

Specified by:
update in interface VisualisationTool
Parameters:
obj - zu aktualisierendes Objekt
Returns:
false falls das Objekt nicht (mehr) visualisiert wird

extractRealObject

public Object extractRealObject(Object obj)
If the given Object is a is an instance of DataProxy then this method returns the real encapulated Object. If the Object implements late loading functionality the Object is first loaded into memory.


determineStyleFromObject

protected static Style determineStyleFromObject(Object obj)