Class 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 Detail

      • 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 Detail

      • 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