public class ViewEntry
extends java.lang.Object
Eine Klasse für einen Layer einer Ansicht mit dessen ansicht-spezifischen Eigenschaften.
Ein ViewEntry ist ein Objekt, das einen Layer
und seine Einstellungen innerhalb einer Ansicht
beschreibt. Dementsprechend ergeben sich seine Bestandteile (der Layer, zwei Maßstabsgrenzen zum Ein- und Ausblenden, und zwei Flags, die anzeigen, ob die Objekte des Layers sichtbar sind und ob der Layer aktuell eingeblendet ist) und Methoden.
Zwei Implementationsdeteils: Obwohl ein ViewEntry ein Bestandteil seiner Ansicht ist, kennt er diese auch, um deren ChangeListener mit Hilfe der notify-Methoden über Änderungen zu benachrichtigen. Außerdem wird dem ViewEntry die Swing-Komponente, in der er visualisiert wird, mit einem Setter bekannt gemacht, wenn er visiualisiert wird.
Constructor and Description |
---|
ViewEntry()
Konstruiert ein leeres Objekt.
|
ViewEntry(Layer layer,
int zoomIn,
int zoomOut,
boolean selectable,
boolean visible)
Konstruiert einen ViewEntry aus den übergebenen Informationen
|
Modifier and Type | Method and Description |
---|---|
javax.swing.JComponent |
getComponent()
Gibt die Swing-Komponente, die den ViewEntry aktuell visualisiert, zurück.
|
ViewEntry |
getCopy()
Gibt einen neuen ViewEntry zurück, der dem aufrufenden Objekt gleicht, abgesehen davon, dass dieser noch nicht zu einer Ansicht gehört und keine Swing-Komponente, die ihn visualisiert, kennt.
|
Layer |
getLayer()
Gibt den Layer zurück.
|
java.util.Set<java.lang.String> |
getUsedColors()
Gibt die Menge aller von zugehörigen Layer verwendeten Farben zurück.
|
int |
getZoomIn()
Gibt den Wert des Maßstabs zurück, ab dem der Layer eingeblendet wird.
|
int |
getZoomOut()
Gibt den Wert des Maßstabs zurück, ab dem der Layer ausgeblendet wird.
|
boolean |
initializeFromPreferences(java.util.prefs.Preferences prefs,
LayerManager layerManager)
Initialisiert einen ViewEntry aus dem angebenen Knoten.
|
boolean |
isSelectable()
Gibt
true zurück, wenn die Objekte des Layers selektierbar sind. |
boolean |
isVisible()
Gibt
true zurück, wenn der Layer aktuell sichtbar ist. |
boolean |
isVisible(int scale)
Gibt
true zurück, wenn der Layer sichtbar ist und der übergebene Wert zwischen den Werten von getZoomOut und getZoomIn liegt, d.h. wenn der Layer in einer Karte mit dem entsprechenden Maßstab angezeigt werden soll. |
void |
putPreferences(java.util.prefs.Preferences prefs)
Speichert den ViewEntry unter dem angebenen Knoten.
|
void |
setComponent(javax.swing.JComponent component)
Setzt die Swing-Komponente, die den ViewEntry aktuell visualisiert.
|
void |
setLayer(Layer layer)
Setzt den Layer und informiert die ChangeListener.
|
void |
setSelectable(boolean selectable)
Macht die Objekte des Layers selektierbar oder nicht.
|
void |
setView(View view)
Setzt die Ansicht, zu der der ViewEntry gehört.
|
void |
setVisible(boolean visible)
Setzt den Wert, der entscheidet, ob der Layer aktuell angezeigt werden soll.
|
void |
setZoomIn(int zoomIn)
Setzt den Wert des Maßstabs, ab dem der Layer eingeblendet wird.
|
void |
setZoomOut(int zoomOut)
Setzt den Wert des Maßstabs, ab dem der Layer eingeblendet wird.
|
java.lang.String |
toString() |
public ViewEntry()
Konstruiert ein leeres Objekt.
public ViewEntry(Layer layer, int zoomIn, int zoomOut, boolean selectable, boolean visible)
Konstruiert einen ViewEntry aus den übergebenen Informationen
layer
- Der Layer des ViewEntry’szoomIn
- Der Maßstab, ab dem der Layer des ViewEntry’s eingeblendet wirdzoomOut
- Der Maßstab, ab dem der Layer des ViewEntry’s ausgeblendet wirdselectable
- Sind die Objekte des Layers selektierbar?visible
- Wird der Layer aktuell angezeigt?public void setView(View view)
Setzt die Ansicht, zu der der ViewEntry gehört.
view
- die Ansichtpublic Layer getLayer()
Gibt den Layer zurück.
public void setLayer(Layer layer)
Setzt den Layer und informiert die ChangeListener.
der
- neue Layerpublic int getZoomIn()
Gibt den Wert des Maßstabs zurück, ab dem der Layer eingeblendet wird.
public int getZoomOut()
Gibt den Wert des Maßstabs zurück, ab dem der Layer ausgeblendet wird.
public void setZoomIn(int zoomIn)
Setzt den Wert des Maßstabs, ab dem der Layer eingeblendet wird.
zoomIn
- der neue Zoom-In-Wertpublic void setZoomOut(int zoomOut)
Setzt den Wert des Maßstabs, ab dem der Layer eingeblendet wird.
zoomIn
- der neue Zoom-Out-Wertpublic boolean isSelectable()
Gibt true
zurück, wenn die Objekte des Layers selektierbar sind.
public void setSelectable(boolean selectable)
Macht die Objekte des Layers selektierbar oder nicht. Nur Objekte selektierbarer Layer erscheinen auch im Kartentooltipp.
selectable
- der neue Wert der Selektierbarkeits-Eigenschaftpublic boolean isVisible()
Gibt true
zurück, wenn der Layer aktuell sichtbar ist. Diese Methode überprüft nur das Sichtbarkeitsflag, nicht aber die Zoomstufe (die es möglicherweise nicht gibt, wenn nämlich die Ansicht nicht angezeigt wird).
public boolean isVisible(int scale)
Gibt true
zurück, wenn der Layer sichtbar ist und der übergebene Wert zwischen den Werten von getZoomOut und getZoomIn liegt, d.h. wenn der Layer in einer Karte mit dem entsprechenden Maßstab angezeigt werden soll.
scale
- ein Maßstabpublic void setVisible(boolean visible)
Setzt den Wert, der entscheidet, ob der Layer aktuell angezeigt werden soll.
visible
- der neue Sichtbarkeitswertpublic void putPreferences(java.util.prefs.Preferences prefs)
Speichert den ViewEntry unter dem angebenen Knoten.
prefs
- der Knoten, unter dem die Speicherung beginntpublic boolean initializeFromPreferences(java.util.prefs.Preferences prefs, LayerManager layerManager)
Initialisiert einen ViewEntry aus dem angebenen Knoten.
der
- Knoten, unter dem die Initialisierung beginntpublic java.lang.String toString()
toString
in class java.lang.Object
public javax.swing.JComponent getComponent()
Gibt die Swing-Komponente, die den ViewEntry aktuell visualisiert, zurück.
null
public void setComponent(javax.swing.JComponent component)
Setzt die Swing-Komponente, die den ViewEntry aktuell visualisiert.
die
- neue Swing-Komponentepublic ViewEntry getCopy()
Gibt einen neuen ViewEntry zurück, der dem aufrufenden Objekt gleicht, abgesehen davon, dass dieser noch nicht zu einer Ansicht gehört und keine Swing-Komponente, die ihn visualisiert, kennt.
public java.util.Set<java.lang.String> getUsedColors()
Gibt die Menge aller von zugehörigen Layer verwendeten Farben zurück.