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 class ViewManager extends javax.swing.table.AbstractTableModel implements LayerManager.LayerManagerChangeListener
Die Ansichtsverwaltung ist ein Singleton, das unter anderem das Interface TableModel implementiert, damit es vomAnsichtsdialog
angezeigt werden kann.Diese Klasse ist wie auch die
Darstellungstyp-
und dieLayerverwaltung
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
-
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, undnull
sonst.java.util.Set<java.lang.String>
getViewNames()
Gibt eine Menge aller Ansichtsnamen zurück.boolean
hasView(java.lang.String viewName)
Gibttrue
zurück, falls die Ansichtsverwaltung eine Ansicht mit diesem Namen besitzt, undfalse
sonst.boolean
hasViewToLowerCase(java.lang.String viewName)
Gibttrue
zurück, falls die Ansichtsverwaltung eine Ansicht mit esem Namen besitzt, der sich allenfalls bezüglich Klein-Groß-Schreibung unterscheidet.boolean
isChangeable(View view)
Gibttrue
zurück, wenn die übergebene Ansicht eine benutzer-definierte Ansicht ist, und demzufolge verändert werden kann; andernfalls ist der Rückgabewertfalse
, 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
-
-
-
-
Field Detail
-
_instance
public static final ViewManager _instance
-
-
Method Detail
-
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)
Gibttrue
zurück, wenn die übergebene Ansicht eine benutzer-definierte Ansicht ist, und demzufolge verändert werden kann; andernfalls ist der Rückgabewertfalse
, 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)
Gibttrue
zurück, falls die Ansichtsverwaltung eine Ansicht mit diesem Namen besitzt, undfalse
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)
Gibttrue
zurück, falls die Ansichtsverwaltung eine Ansicht mit esem Namen besitzt, der sich allenfalls bezüglich Klein-Groß-Schreibung unterscheidet. Sonstfalse
.- 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, undnull
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 interfacejavax.swing.table.TableModel
-
getRowCount
public int getRowCount()
Gibt die Anzahl der Zeilen der Tabellendarstellung zurück.- Specified by:
getRowCount
in interfacejavax.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 interfacejavax.swing.table.TableModel
- Overrides:
getColumnName
in classjavax.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 interfacejavax.swing.table.TableModel
- Parameters:
rowIndex
- ein ZeilenindexcolumnIndex
- ein Spaltenindex
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.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 interfaceLayerManager.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 interfaceLayerManager.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 interfaceLayerManager.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 interfaceLayerManager.LayerManagerChangeListener
- Parameters:
layerName
- ein Layername
-
-