Class ViewManager

java.lang.Object
javax.swing.table.AbstractTableModel
de.kappich.pat.gnd.viewManagement.ViewManager
All Implemented Interfaces:
LayerManager.LayerManagerChangeListener, java.io.Serializable, javax.swing.table.TableModel

public final class ViewManager
extends javax.swing.table.AbstractTableModel
implements LayerManager.LayerManagerChangeListener
Die Ansichtsverwaltung ist ein Singleton, das unter anderem das Interface TableModel implementiert, damit es vom Ansichtsdialog angezeigt werden kann.

Diese Klasse ist wie auch die Darstellungstyp- und die Layerverwaltung als Singleton implementiert, um den Programmieraufwand für die Kommunikation verschiedener Objekte dieser Klasse untereinader, der andernfalls notwendig wäre, einzusparen.

See Also:
Serialized Form
  • Field Summary

    Fields
    Modifier and Type Field Description
    static ViewManager _instance  

    Fields inherited from class javax.swing.table.AbstractTableModel

    listenerList
  • Method Summary

    Modifier and Type Method Description
    void addView​(View view)
    Fügt die übergebene Ansicht hinzu, wenn noch keine Ansicht mit demselben Namen existiert.
    void clearViews()
    Leert die Ansichtsverwaltung komplett, also inklusive der im Programmkode definierten Ansichten.
    int getColumnCount()
    Gibt die Anzahl der Spalten der Tabellendarstellung zurück.
    java.lang.String getColumnName​(int columnIndex)
    Gibt den Spaltennamen der entsprechenden Spalte in der Tabellendarstellung zurück.
    int getIndexOfFirstView​(char c)
    Gibt den Index der ersten Ansicht, deren Name mit dem übergebenen Zeichen anfängt, zurück.
    int getIndexOfView​(java.lang.String viewName)
    Bestimmt den Index der Ansicht in der Ansichtsverwaltung.
    static ViewManager getInstance()
    Die übliche getInstance-Methode eines Singletons.
    static java.util.prefs.Preferences getPreferenceStartPath()
    Gibt den Ausgangspunkt der Präferenzen der Ansichtsverwaltung zurück.
    int getRowCount()
    Gibt die Anzahl der Zeilen der Tabellendarstellung zurück.
    void getStatistics()
    Schreibt eine kleine Statistik der Ansichtsverwaltung auf den Standardausgabekanal.
    java.util.Set<java.lang.String> getUsedColors()
    Gibt eine Menge mit allen Namen aller in den Ansichten verwendeten Farben zurück.
    java.lang.Object getValueAt​(int rowIndex, int columnIndex)
    Gibt den Wert des Feldes in der Tabellendarstellung zurück.
    View getView​(int i)
    Gibt die i-te Ansicht zurück (die Zählung beginnt bei 0).
    View getView​(java.lang.String viewName)
    Gibt die Ansicht der Ansichtsverwaltung zurück, falls die Ansichtsverwaltung eine Ansicht mit diesem Namen besitzt, und null sonst.
    java.util.Set<java.lang.String> getViewNames()
    Gibt eine Menge aller Ansichtsnamen zurück.
    boolean hasView​(java.lang.String viewName)
    Gibt true zurück, falls die Ansichtsverwaltung eine Ansicht mit diesem Namen besitzt, und false sonst.
    boolean hasViewToLowerCase​(java.lang.String viewName)
    Gibt true zurück, falls die Ansichtsverwaltung eine Ansicht mit esem Namen besitzt, der sich allenfalls bezüglich Klein-Groß-Schreibung unterscheidet.
    boolean isChangeable​(View view)
    Gibt true zurück, wenn die übergebene Ansicht eine benutzer-definierte Ansicht ist, und demzufolge verändert werden kann; andernfalls ist der Rückgabewert false, wenn nämlich die Ansicht im Programmkode festgelegt wurde, und deshalb unveränderbar ist.
    void layerAdded​(Layer layer)
    Diese Methode wird aufgerufen, wenn der Layer hinzugefügt wurde.
    void layerDefinitionChanged​(Layer layer)
    Diese Methode wird aufgerufen, wenn der Layer substanziell geändert wurde.
    void layerPropertyChanged​(Layer layer)
    Diese Methode wird aufgerufen, wenn der Layer marginal geändert wurde.
    void layerRemoved​(java.lang.String layerName)
    Diese Methode wird aufgerufen, wenn der Layer gelöscht wurde.
    static void refreshInstance()
    Mit Hilfe dieser Methode kann man den ViewManager dazu zwingen, sich erneut zu konstruieren, was etwa nach dem Importieren von Präferenzen sinnvoll ist.
    boolean removeView​(View view)
    Entfernt die übergebene Ansicht aus der Ansichtverwaltung, die den Namen von view besitzt, falls eine solche existiert und diese nicht im Programmkode definiert wurde.
    java.lang.String toString()  

    Methods inherited from class javax.swing.table.AbstractTableModel

    addTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getColumnClass, getListeners, getTableModelListeners, isCellEditable, removeTableModelListener, setValueAt

    Methods inherited from class java.lang.Object

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

    • _instance

      public static final ViewManager _instance
  • Method Details

    • getInstance

      public static ViewManager getInstance()
      Die übliche getInstance-Methode eines Singletons.
      Returns:
      die Instanz
    • refreshInstance

      public static void refreshInstance()
      Mit Hilfe dieser Methode kann man den ViewManager dazu zwingen, sich erneut zu konstruieren, was etwa nach dem Importieren von Präferenzen sinnvoll ist.
    • getPreferenceStartPath

      public static java.util.prefs.Preferences getPreferenceStartPath()
      Gibt den Ausgangspunkt der Präferenzen der Ansichtsverwaltung zurück.
      Returns:
      der Knoten, unter dem die Views gespeichert werden
    • isChangeable

      public boolean isChangeable​(View view)
      Gibt true zurück, wenn die übergebene Ansicht eine benutzer-definierte Ansicht ist, und demzufolge verändert werden kann; andernfalls ist der Rückgabewert false, wenn nämlich die Ansicht im Programmkode festgelegt wurde, und deshalb unveränderbar ist.

      Die aktuell eingeblendete Ansicht kann immer verändert werden, auch wenn sie im Programmkode festgelegt wurde; allerdings werden die Änderungen nicht gespeichert.

      Parameters:
      view - eine Ansicht
      Returns:
      ist die Ansicht änderbar?
    • addView

      public void addView​(View view)
      Fügt die übergebene Ansicht hinzu, wenn noch keine Ansicht mit demselben Namen existiert.
      Parameters:
      view - eine Ansicht
    • removeView

      public boolean removeView​(View view)
      Entfernt die übergebene Ansicht aus der Ansichtverwaltung, die den Namen von view besitzt, falls eine solche existiert und diese nicht im Programmkode definiert wurde.
      Parameters:
      view - eine Ansicht
      Returns:
      war das Löschen erfolgreich
    • clearViews

      public void clearViews()
      Leert die Ansichtsverwaltung komplett, also inklusive der im Programmkode definierten Ansichten.
    • hasView

      public boolean hasView​(java.lang.String viewName)
      Gibt true zurück, falls die Ansichtsverwaltung eine Ansicht mit diesem Namen besitzt, und false sonst.
      Parameters:
      viewName - ein Ansichtsname
      Returns:
      true genau dann, wenn ein View mit dem übergebenen Namen existiert
    • hasViewToLowerCase

      public boolean hasViewToLowerCase​(java.lang.String viewName)
      Gibt true zurück, falls die Ansichtsverwaltung eine Ansicht mit esem Namen besitzt, der sich allenfalls bezüglich Klein-Groß-Schreibung unterscheidet. Sonst false.
      Parameters:
      viewName - ein Ansichtsname
      Returns:
      true genau dann, wenn ein View mit dem übergebenen Namen existiert
    • getView

      public View getView​(java.lang.String viewName)
      Gibt die Ansicht der Ansichtsverwaltung zurück, falls die Ansichtsverwaltung eine Ansicht mit diesem Namen besitzt, und null sonst.
      Parameters:
      viewName - ein Ansichtsname
      Returns:
      die Ansicht oder null
    • getView

      public View getView​(int i)
      Gibt die i-te Ansicht zurück (die Zählung beginnt bei 0).
      Parameters:
      i - ein Index
      Returns:
      die i-te Ansicht
    • getIndexOfView

      public int getIndexOfView​(java.lang.String viewName)
      Bestimmt den Index der Ansicht in der Ansichtsverwaltung.
      Parameters:
      viewName - der Ansichtsname
      Returns:
      der Index der Ansicht
    • getViewNames

      public java.util.Set<java.lang.String> getViewNames()
      Gibt eine Menge aller Ansichtsnamen zurück.
      Returns:
      eine Menge aller Ansichtsnamen
    • getIndexOfFirstView

      public int getIndexOfFirstView​(char c)
      Gibt den Index der ersten Ansicht, deren Name mit dem übergebenen Zeichen anfängt, zurück. Gibt es eine solche Ansicht nicht, so wird -1 zurückgegeben.
      Parameters:
      c - ein Buchstabe
      Returns:
      ein gültiger Index oder -1
    • getColumnCount

      public int getColumnCount()
      Gibt die Anzahl der Spalten der Tabellendarstellung zurück.
      Specified by:
      getColumnCount in interface javax.swing.table.TableModel
    • getRowCount

      public int getRowCount()
      Gibt die Anzahl der Zeilen der Tabellendarstellung zurück.
      Specified by:
      getRowCount in interface javax.swing.table.TableModel
    • getColumnName

      public java.lang.String getColumnName​(int columnIndex)
      Gibt den Spaltennamen der entsprechenden Spalte in der Tabellendarstellung zurück.
      Specified by:
      getColumnName in interface javax.swing.table.TableModel
      Overrides:
      getColumnName in class javax.swing.table.AbstractTableModel
      Parameters:
      columnIndex - ein Spaltenindex
    • getValueAt

      public java.lang.Object getValueAt​(int rowIndex, int columnIndex)
      Gibt den Wert des Feldes in der Tabellendarstellung zurück.
      Specified by:
      getValueAt in interface javax.swing.table.TableModel
      Parameters:
      rowIndex - ein Zeilenindex
      columnIndex - ein Spaltenindex
    • toString

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

      public void getStatistics()
      Schreibt eine kleine Statistik der Ansichtsverwaltung auf den Standardausgabekanal.
    • getUsedColors

      public java.util.Set<java.lang.String> getUsedColors()
      Gibt eine Menge mit allen Namen aller in den Ansichten verwendeten Farben zurück.
      Returns:
      eine Menge mit allen benutzten Farben
    • layerAdded

      public void layerAdded​(Layer layer)
      Description copied from interface: LayerManager.LayerManagerChangeListener
      Diese Methode wird aufgerufen, wenn der Layer hinzugefügt wurde.
      Specified by:
      layerAdded in interface LayerManager.LayerManagerChangeListener
      Parameters:
      layer - ein Layer
    • layerDefinitionChanged

      public void layerDefinitionChanged​(Layer layer)
      Description copied from interface: LayerManager.LayerManagerChangeListener
      Diese Methode wird aufgerufen, wenn der Layer substanziell geändert wurde.
      Specified by:
      layerDefinitionChanged in interface LayerManager.LayerManagerChangeListener
      Parameters:
      layer - ein Layer
    • layerPropertyChanged

      public void layerPropertyChanged​(Layer layer)
      Description copied from interface: LayerManager.LayerManagerChangeListener
      Diese Methode wird aufgerufen, wenn der Layer marginal geändert wurde.
      Specified by:
      layerPropertyChanged in interface LayerManager.LayerManagerChangeListener
      Parameters:
      layer - ein Layer
    • layerRemoved

      public void layerRemoved​(java.lang.String layerName)
      Description copied from interface: LayerManager.LayerManagerChangeListener
      Diese Methode wird aufgerufen, wenn der Layer gelöscht wurde.
      Specified by:
      layerRemoved in interface LayerManager.LayerManagerChangeListener
      Parameters:
      layerName - ein Layername