public class ViewEntry
extends java.lang.Object
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)
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()
public ViewEntry(Layer layer, int zoomIn, int zoomOut, boolean selectable, boolean visible)
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(@Nullable View view)
null
gesetzt.view
- die Ansichtpublic Layer getLayer()
public void setLayer(Layer layer)
layer
- neue Layerpublic int getZoomIn()
public void setZoomIn(int zoomIn)
zoomIn
- der neue Zoom-In-Wertpublic int getZoomOut()
public void setZoomOut(int zoomOut)
zoomOut
- der neue Zoom-Out-Wertpublic boolean isSelectable()
true
zurück, wenn die Objekte des Layers selektierbar sind.public void setSelectable(boolean selectable)
selectable
- der neue Wert der Selektierbarkeits-Eigenschaftpublic boolean isVisible()
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 void setVisible(boolean visible)
visible
- der neue Sichtbarkeitswertpublic boolean isVisible(int scale)
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 putPreferences(java.util.prefs.Preferences prefs)
prefs
- der Knoten, unter dem die Speicherung beginntpublic boolean initializeFromPreferences(java.util.prefs.Preferences prefs)
prefs
- der Knoten, unter dem die Initialisierung beginnttrue
, falls erfolgreich, false
sonstpublic java.lang.String toString()
toString
in class java.lang.Object
public javax.swing.JComponent getComponent()
null
public void setComponent(@Nullable javax.swing.JComponent component)
component
- die neue Swing-Komponentepublic ViewEntry getCopy()
public java.util.Set<java.lang.String> getUsedColors()