Class ViewEntry

java.lang.Object
de.kappich.pat.gnd.viewManagement.ViewEntry
Direct Known Subclasses:
NoticeViewEntry

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 Summary

    Constructors
    Constructor Description
    ViewEntry()
    Konstruiert ein leeres Objekt.
    ViewEntry​(Layer layer, int zoomIn, int zoomOut, boolean selectable, boolean visible)
    Konstruiert einen ViewEntry aus den übergebenen Informationen
  • Method Summary

    Modifier and Type Method 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()  

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • ViewEntry

      public ViewEntry()
      Konstruiert ein leeres Objekt.
    • ViewEntry

      public ViewEntry​(Layer layer, int zoomIn, int zoomOut, boolean selectable, boolean visible)
      Konstruiert einen ViewEntry aus den übergebenen Informationen
      Parameters:
      layer - Der Layer des ViewEntry's
      zoomIn - Der Maßstab, ab dem der Layer des ViewEntry's eingeblendet wird
      zoomOut - Der Maßstab, ab dem der Layer des ViewEntry's ausgeblendet wird
      selectable - Sind die Objekte des Layers selektierbar?
      visible - Wird der Layer aktuell angezeigt?
  • Method Details

    • setView

      public void setView​(@Nullable View view)
      Setzt die Ansicht, zu der der ViewEntry gehört. Beim Löschen aus der Ansicht wird der Wert null gesetzt.
      Parameters:
      view - die Ansicht
    • getLayer

      public Layer getLayer()
      Gibt den Layer zurück.
      Returns:
      den Layer
    • setLayer

      public void setLayer​(Layer layer)
      Setzt den Layer und informiert die ChangeListener.
      Parameters:
      layer - neue Layer
    • getZoomIn

      public int getZoomIn()
      Gibt den Wert des Maßstabs zurück, ab dem der Layer eingeblendet wird.
      Returns:
      den Zoom-In-Wert
    • setZoomIn

      public void setZoomIn​(int zoomIn)
      Setzt den Wert des Maßstabs, ab dem der Layer eingeblendet wird.
      Parameters:
      zoomIn - der neue Zoom-In-Wert
    • getZoomOut

      public int getZoomOut()
      Gibt den Wert des Maßstabs zurück, ab dem der Layer ausgeblendet wird.
      Returns:
      den Zoom-Out-wert
    • setZoomOut

      public void setZoomOut​(int zoomOut)
      Setzt den Wert des Maßstabs, ab dem der Layer eingeblendet wird.
      Parameters:
      zoomOut - der neue Zoom-Out-Wert
    • isSelectable

      public boolean isSelectable()
      Gibt true zurück, wenn die Objekte des Layers selektierbar sind.
      Returns:
      sind die Objekte selektierbar?
    • setSelectable

      public void setSelectable​(boolean selectable)
      Macht die Objekte des Layers selektierbar oder nicht. Nur Objekte selektierbarer Layer erscheinen auch im Kartentooltipp.
      Parameters:
      selectable - der neue Wert der Selektierbarkeits-Eigenschaft
    • isVisible

      public 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).
      Returns:
      ist der Layer sichtbar?
    • setVisible

      public void setVisible​(boolean visible)
      Setzt den Wert, der entscheidet, ob der Layer aktuell angezeigt werden soll.
      Parameters:
      visible - der neue Sichtbarkeitswert
    • isVisible

      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.
      Parameters:
      scale - ein Maßstab
      Returns:
      ist der Layer für den übergebenen Maßstab sichtbar?
    • putPreferences

      public void putPreferences​(java.util.prefs.Preferences prefs)
      Speichert den ViewEntry unter dem angebenen Knoten.
      Parameters:
      prefs - der Knoten, unter dem die Speicherung beginnt
    • initializeFromPreferences

      public boolean initializeFromPreferences​(java.util.prefs.Preferences prefs)
      Initialisiert einen ViewEntry aus dem angebenen Knoten.
      Parameters:
      prefs - der Knoten, unter dem die Initialisierung beginnt
      Returns:
      true, falls erfolgreich, false sonst
    • toString

      public java.lang.String toString()
      Overrides:
      toString in class java.lang.Object
    • getComponent

      public javax.swing.JComponent getComponent()
      Gibt die Swing-Komponente, die den ViewEntry aktuell visualisiert, zurück.
      Returns:
      eine Swing-Komponente oder null
    • setComponent

      public void setComponent​(@Nullable javax.swing.JComponent component)
      Setzt die Swing-Komponente, die den ViewEntry aktuell visualisiert.
      Parameters:
      component - die neue Swing-Komponente
    • getCopy

      public 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.
      Returns:
      die Kopie
    • getUsedColors

      public java.util.Set<java.lang.String> getUsedColors()
      Gibt die Menge aller von zugehörigen Layer verwendeten Farben zurück.
      Returns:
      die Menge der benutzten Farben