de.bsvrz.pat.sysbed.preselection.panel
Class PreselectionDialog

java.lang.Object
  extended by de.bsvrz.pat.sysbed.preselection.panel.PreselectionDialog

public class PreselectionDialog
extends Object

Klasse die einen modalen Dialog zur Objektauswahl anzeigt. Im Dialog wird neben einem Panel zur Objektauswahl und einem optionalem Baum mit Filtermöglichkeiten (wird im Konstruktor festgelegt) auch ein OK-Button und ein Cancel-Button angezeigt. Über entsprechende Methoden kann eingestellt werden, wieviele Objekte, Typen, Attributgruppen und Aspekte mindestens bzw. höchstens ausgewählt werden müssen respektive können. Außerdem kann durch die Vorgabe einer Liste von zu unterstützenden Aspekten die Wahl der Attributgruppen eingeschränkt werden. Der OK-Button wird nur aktiviert, wenn alle Einschränkungen erfüllt sind. Vorzuselektierende Objekte, Typen, Attributgruppen und Aspekte können mit ensprechenden Methoden übergeben werden. Mit der Methode show() wird der Dialog im Modalen Zustand angezeigt und danach können mit entsprechenden Abfragemethoden die selektierten Objekte, Typen, Attributgruppen und Aspekte abgefragt werden.

Author:
Kappich Systemberatung
See Also:
PreselectionPanel, PreselectionLists, PreselectionTree

Field Summary
private  JDialog _dialog
           
private  int _maximumSelectedAspects
           
private  int _maximumSelectedAttributeGroups
           
private  int _maximumSelectedObjects
           
private  int _maximumSelectedObjectTypes
           
private  int _minimumSelectedAspects
           
private  int _minimumSelectedAttributeGroups
           
private  int _minimumSelectedObjects
           
private  int _minimumSelectedObjectTypes
           
private  boolean _okButtonPressed
           
private  PreselectionLists _preselectionLists
           
private  PreselectionTree _preselectionTree
           
 
Constructor Summary
PreselectionDialog(String title, Component parentComponent, PreselectionListsFilter listsFilter, List filterTypes)
          Erzeugt einen neuen modalen Objektauswahldialog.
PreselectionDialog(String title, Component parentComponent, PreselectionListsFilter listsFilter, List filterTypes, Collection treeNodes, ClientDavInterface connection)
          Erzeugt einen neuen modalen Objektauswahldialog.
PreselectionDialog(String title, Component parentComponent, PreselectionListsFilter listsFilter, SystemObjectType filterType)
          Erzeugt einen neuen modalen Objektauswahldialog.
PreselectionDialog(String title, Component parentComponent, PreselectionListsFilter listsFilter, SystemObjectType[] filterTypes)
          Erzeugt einen neuen modalen Objektauswahldialog.
PreselectionDialog(String title, Component parentComponent, PreselectionListsFilter listsFilter, SystemObjectType[] filterTypes, Collection treeNodes, ClientDavInterface connection)
          Erzeugt einen neuen modalen Objektauswahldialog.
PreselectionDialog(String title, Component parentComponent, PreselectionListsFilter listsFilter, SystemObjectType filterType, Collection treeNodes, ClientDavInterface connection)
          Erzeugt einen neuen modalen Objektauswahldialog.
 
Method Summary
private  Box createButtonBox()
          Erzeugt eine Box mit OK-Button und Abbrechen-Button für den Dialog.
private static JDialog createDialog(String title, Component parentComponent)
          Erzeugt das JDialog-Objekt, das für den Dialog benutzt werden soll.
 int getMaximumSelectedAspects()
          Bestimmt die maximale Anzahl auszuwählender Aspekte.
 int getMaximumSelectedAttributeGroups()
          Bestimmt die maximale Anzahl auszuwählender Attributgruppen.
 int getMaximumSelectedObjects()
          Bestimmt die maximale Anzahl auszuwählender Objekte.
 int getMaximumSelectedObjectTypes()
          Bestimmt die maximale Anzahl auszuwählender Objekttypen.
 int getMinimumSelectedAspects()
          Bestimmt die minimale Anzahl auszuwählender Aspekte.
 int getMinimumSelectedAttributeGroups()
          Bestimmt die minimale Anzahl auszuwählender Attributgruppen.
 int getMinimumSelectedObjects()
          Bestimmt die minimale Anzahl auszuwählender Objekte.
 int getMinimumSelectedObjectTypes()
          Bestimmt die minimale Anzahl auszuwählender Objekttypen.
 List<Aspect> getSelectedAspects()
          Gibt die selektierten Aspekte zurück.
 List<AttributeGroup> getSelectedAttributeGroups()
          Gibt die selektierten Attributgruppen zurück.
 List<SystemObject> getSelectedObjects()
          Gibt die selektierten Objekte zurück.
 List<SystemObjectType> getSelectedObjectTypes()
          Gibt die selektierten Objekt-Typen zurück.
 String getSelectedTreePath()
          Gibt den selektierten Pfad des Baums als kommaseparierten String zurück.
 int getSimulationVariant()
          Gibt die Simulationsvariante zurück.
private static Window getWindowForComponent(Component component)
           
 boolean isOkButtonPressed()
           
 void setMaximumSelectedAspects(int maximumSelectedAspects)
          Setzt die maximale Anzahl auszuwählender Aspekte.
 void setMaximumSelectedAttributeGroups(int maximumSelectedAttributeGroups)
          Setzt die maximale Anzahl auszuwählender Attributgruppen.
 void setMaximumSelectedObjects(int maximumSelectedObjects)
          Setzt die maximale Anzahl auszuwählender Objekte.
 void setMaximumSelectedObjectTypes(int maximumSelectedObjectTypes)
          Setzt die maximale Anzahl auszuwählender Objekttypen.
 void setMinimumSelectedAspects(int minimumSelectedAspects)
          Setzt die minimale Anzahl auszuwählender Aspekte.
 void setMinimumSelectedAttributeGroups(int minimumSelectedAttributeGroups)
          Setzt die minimale Anzahl auszuwählender Attributgruppen.
 void setMinimumSelectedObjects(int minimumSelectedObjects)
          Setzt die minimale Anzahl auszuwählender Objekte.
 void setMinimumSelectedObjectTypes(int minimumSelectedObjectTypes)
          Setzt die minimale Anzahl auszuwählender Objekttypen.
private  void setOkButtonPressed(boolean ok)
           
 void setSelectedAspect(Aspect aspect)
          Mit dieser Methode kann ein Aspekt angegeben werden, welcher beim Füllen der Listen vorselektiert sein soll.
 void setSelectedAspects(List<Aspect> aspects)
          Mit dieser Methode können Aspekte angegeben werden, die beim Füllen der Listen vorselektiert sein sollen.
 void setSelectedAttributeGroup(AttributeGroup attributeGroup)
          Mit dieser Methode kann eine Attributgruppe angegeben werden, welche beim Füllen der Listen vorselektiert sein soll.
 void setSelectedAttributeGroups(List<AttributeGroup> attributeGroups)
          Mit dieser Methode können Attributgruppen angegeben werden, die beim Füllen der Listen vorselektiert sein sollen.
 void setSelectedObject(SystemObject object)
          Mit dieser Methode kann ein Objekt angegeben werden, welches beim Füllen der Listen vorselektiert sein soll.
 void setSelectedObjects(List<SystemObject> objects)
          Mit dieser Methode können Objekte angegeben werden, die beim Füllen der Listen vorselektiert sein sollen.
 void setSelectedObjectType(SystemObjectType type)
          Mit dieser Methode kann ein Objekt-Typ angegeben werden, welcher beim Füllen der Listen vorselektiert sein soll.
 void setSelectedObjectTypes(List<SystemObjectType> types)
          Mit dieser Methode können Objekte angegeben werden, die beim Füllen der Listen vorselektiert sein sollen.
 void setSelectedPath(String treePath)
          Kommaseparierte PIDs werden als String übergeben, die einen Pfad im Baum des PreselectionTrees darstellen.
 void setSimulationVariant(int value)
          Setzt den Wert der Simulationsvariante.
 boolean show()
           
 void showSimulationVariant()
          Mit dieser Methode kann bestimmt werden, ob die Simulationsvariante angezeigt werden soll.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_dialog

private final JDialog _dialog

_preselectionLists

private final PreselectionLists _preselectionLists

_preselectionTree

private final PreselectionTree _preselectionTree

_minimumSelectedObjects

private int _minimumSelectedObjects

_maximumSelectedObjects

private int _maximumSelectedObjects

_minimumSelectedObjectTypes

private int _minimumSelectedObjectTypes

_maximumSelectedObjectTypes

private int _maximumSelectedObjectTypes

_minimumSelectedAttributeGroups

private int _minimumSelectedAttributeGroups

_maximumSelectedAttributeGroups

private int _maximumSelectedAttributeGroups

_minimumSelectedAspects

private int _minimumSelectedAspects

_maximumSelectedAspects

private int _maximumSelectedAspects

_okButtonPressed

private boolean _okButtonPressed
Constructor Detail

PreselectionDialog

public PreselectionDialog(String title,
                          Component parentComponent,
                          PreselectionListsFilter listsFilter,
                          SystemObjectType filterType)
Erzeugt einen neuen modalen Objektauswahldialog. Es werden nur Objekte eines vorgegebenen Typs zur Auswahl im Dialog angeboten.

Parameters:
title - Titel des Dialogfensters
parentComponent - Bezugskomponente in einem Fenster oder Dialog auf das sich dieser Dialog beziehen soll oder null, wenn er unabhängig von anderen Fenstern erzeugt und positioniert werden soll.
listsFilter - Objekt zum Filtern der Objektauswahlmenge
filterType - Typ der Objekte, die zur Auswahl angeboten werden sollen.

PreselectionDialog

public PreselectionDialog(String title,
                          Component parentComponent,
                          PreselectionListsFilter listsFilter,
                          SystemObjectType[] filterTypes)
Erzeugt einen neuen modalen Objektauswahldialog. Die Typen der im Dialog zur Auswahl angebotenen Objekte können vorgegeben werden.

Parameters:
title - Titel des Dialogfensters
parentComponent - Bezugskomponente in einem Fenster oder Dialog auf das sich dieser Dialog beziehen soll oder null, wenn er unabhängig von anderen Fenstern erzeugt und positioniert werden soll.
listsFilter - Objekt zum Filtern der Objektauswahlmenge
filterTypes - Typen der Objekte, die zur Auswahl angeboten werden sollen.

PreselectionDialog

public PreselectionDialog(String title,
                          Component parentComponent,
                          PreselectionListsFilter listsFilter,
                          List filterTypes)
Erzeugt einen neuen modalen Objektauswahldialog. Die Typen der im Dialog zur Auswahl angebotenen Objekte können vorgegeben werden.

Parameters:
title - Titel des Dialogfensters
parentComponent - Bezugskomponente in einem Fenster oder Dialog auf das sich dieser Dialog beziehen soll oder null, wenn er unabhängig von anderen Fenstern erzeugt und positioniert werden soll.
listsFilter - Objekt zum Filtern der Objektauswahlmenge
filterTypes - Typen der Objekte, die zur Auswahl angeboten werden sollen.

PreselectionDialog

public PreselectionDialog(String title,
                          Component parentComponent,
                          PreselectionListsFilter listsFilter,
                          SystemObjectType filterType,
                          Collection treeNodes,
                          ClientDavInterface connection)
Erzeugt einen neuen modalen Objektauswahldialog. Es werden nur Objekte eines vorgegebenen Typs zur Auswahl im Dialog angeboten. Es besteht die Möglichkeit einen Baum mit Filtermöglichkeiten anzuzeigen.

Parameters:
title - Titel des Dialogfensters
parentComponent - Bezugskomponente in einem Fenster oder Dialog auf das sich dieser Dialog beziehen soll oder null, wenn er unabhängig von anderen Fenstern erzeugt und positioniert werden soll.
listsFilter - Objekt zum Filtern der Objektauswahlmenge
filterType - Typ der Objekte, die zur Auswahl angeboten werden sollen.
treeNodes - ein Parameter zur Spezifizierung der Vorauswahl (Baum), bestehend aus Systemobjekten und Knotenobjekten
connection - Verbindung zum Datenverteiler

PreselectionDialog

public PreselectionDialog(String title,
                          Component parentComponent,
                          PreselectionListsFilter listsFilter,
                          SystemObjectType[] filterTypes,
                          Collection treeNodes,
                          ClientDavInterface connection)
Erzeugt einen neuen modalen Objektauswahldialog. Die Typen der im Dialog zur Auswahl angebotenen Objekte können vorgegeben werden. Es besteht die Möglichkeit einen Baum mit Filtermöglichkeiten anzuzeigen.

Parameters:
title - Titel des Dialogfensters
parentComponent - Bezugskomponente in einem Fenster oder Dialog auf das sich dieser Dialog beziehen soll oder null, wenn er unabhängig von anderen Fenstern erzeugt und positioniert werden soll.
listsFilter - Objekt zum Filtern der Objektauswahlmenge
filterTypes - Typen der Objekte, die zur Auswahl angeboten werden sollen.
treeNodes - ein Parameter zur Spezifizierung der Vorauswahl (Baum), bestehend aus Systemobjekten und Knotenobjekten
connection - Verbindung zum Datenverteiler

PreselectionDialog

public PreselectionDialog(String title,
                          Component parentComponent,
                          PreselectionListsFilter listsFilter,
                          List filterTypes,
                          Collection treeNodes,
                          ClientDavInterface connection)
Erzeugt einen neuen modalen Objektauswahldialog. Die Typen der im Dialog zur Auswahl angebotenen Objekte können vorgegeben werden. Es besteht die Möglichkeit einen Baum mit Filtermöglichkeiten anzuzeigen.

Parameters:
title - Titel des Dialogfensters
parentComponent - Bezugskomponente in einem Fenster oder Dialog auf das sich dieser Dialog beziehen soll oder null, wenn er unabhängig von anderen Fenstern erzeugt und positioniert werden soll.
listsFilter - Objekt zum Filtern der Objektauswahlmenge
filterTypes - Typen der Objekte, die zur Auswahl angeboten werden sollen.
treeNodes - ein Parameter zur Spezifizierung der Vorauswahl (Baum), bestehend aus Systemobjekten und Knotenobjekten
connection - Verbindung zum Datenverteiler
Method Detail

createButtonBox

private Box createButtonBox()
Erzeugt eine Box mit OK-Button und Abbrechen-Button für den Dialog. Hier findet eine Anmeldung auf Änderungen der Auwahl in den Listen statt. Abhängig von der Auswahl und den eingestellten Einschränkungen wird der OK-Button enabled oder mit einer entsprechenden Begründung im Tooltip des Buttons disabled.

Returns:
Box mit OK-Button und Abbrechen-Button.

createDialog

private static JDialog createDialog(String title,
                                    Component parentComponent)
Erzeugt das JDialog-Objekt, das für den Dialog benutzt werden soll. Es erhält einen entsprechenden Titel und wird relativ zur Bezugskomponente aus einem anderen Fenster dargestellt.

Parameters:
title - Titel des Dialogfensters
parentComponent - Bezugskomponente im einem Fenster oder einem Dialog auf das sich dieser Dialog beziehen soll oder null, wenn der Dialog unabhängig von anderen Fenstern erzeugt und positioniert werden soll.
Returns:
Neu erzeugtes JDialog-Objekt, dass relativ zur Bezugskomponente positioniert ist.

getMinimumSelectedObjectTypes

public int getMinimumSelectedObjectTypes()
Bestimmt die minimale Anzahl auszuwählender Objekttypen.

Returns:
Minimale Anzahl auszuwählender Objekttypen.

setMinimumSelectedObjectTypes

public void setMinimumSelectedObjectTypes(int minimumSelectedObjectTypes)
Setzt die minimale Anzahl auszuwählender Objekttypen. Wenn die Methode nicht aufgerufen wird, dann wird als Defaultwert 0 benutzt.

Parameters:
minimumSelectedObjectTypes - Minimale Anzahl auszuwählender Objekttypen.

getMaximumSelectedObjectTypes

public int getMaximumSelectedObjectTypes()
Bestimmt die maximale Anzahl auszuwählender Objekttypen.

Returns:
Maximale Anzahl auszuwählender Objekttypen.

setMaximumSelectedObjectTypes

public void setMaximumSelectedObjectTypes(int maximumSelectedObjectTypes)
Setzt die maximale Anzahl auszuwählender Objekttypen. Wenn die Methode nicht aufgerufen wird, dann wird als Defaultwert Integer.MAX_VALUE benutzt.

Parameters:
maximumSelectedObjectTypes - Maximale Anzahl auszuwählender Objekttypen.

getMinimumSelectedObjects

public int getMinimumSelectedObjects()
Bestimmt die minimale Anzahl auszuwählender Objekte.

Returns:
Minimale Anzahl auszuwählender Objekte.

setMinimumSelectedObjects

public void setMinimumSelectedObjects(int minimumSelectedObjects)
Setzt die minimale Anzahl auszuwählender Objekte. Wenn die Methode nicht aufgerufen wird, dann wird als Defaultwert 1 benutzt.

Parameters:
minimumSelectedObjects - Minimale Anzahl auszuwählender Objekte.

getMaximumSelectedObjects

public int getMaximumSelectedObjects()
Bestimmt die maximale Anzahl auszuwählender Objekte.

Returns:
Maximale Anzahl auszuwählender Objekte.

setMaximumSelectedObjects

public void setMaximumSelectedObjects(int maximumSelectedObjects)
Setzt die maximale Anzahl auszuwählender Objekte. Wenn die Methode nicht aufgerufen wird, dann wird als Defaultwert Integer.MAX_VALUE benutzt.

Parameters:
maximumSelectedObjects - Maximale Anzahl auszuwählender Objekte.

getMinimumSelectedAttributeGroups

public int getMinimumSelectedAttributeGroups()
Bestimmt die minimale Anzahl auszuwählender Attributgruppen.

Returns:
Minimale Anzahl auszuwählender Attributgruppen.

setMinimumSelectedAttributeGroups

public void setMinimumSelectedAttributeGroups(int minimumSelectedAttributeGroups)
Setzt die minimale Anzahl auszuwählender Attributgruppen. Wenn die Methode nicht aufgerufen wird, dann wird als Defaultwert 0 benutzt.

Parameters:
minimumSelectedAttributeGroups - Minimale Anzahl auszuwählender Attributgruppen.

getMaximumSelectedAttributeGroups

public int getMaximumSelectedAttributeGroups()
Bestimmt die maximale Anzahl auszuwählender Attributgruppen.

Returns:
Maximale Anzahl auszuwählender Attributgruppen.

setMaximumSelectedAttributeGroups

public void setMaximumSelectedAttributeGroups(int maximumSelectedAttributeGroups)
Setzt die maximale Anzahl auszuwählender Attributgruppen. Wenn die Methode nicht aufgerufen wird, dann wird als Defaultwert Integer.MAX_VALUE benutzt.

Parameters:
maximumSelectedAttributeGroups - Maximale Anzahl auszuwählender Attributgruppen.

getMinimumSelectedAspects

public int getMinimumSelectedAspects()
Bestimmt die minimale Anzahl auszuwählender Aspekte.

Returns:
Minimale Anzahl auszuwählender Aspekte.

setMinimumSelectedAspects

public void setMinimumSelectedAspects(int minimumSelectedAspects)
Setzt die minimale Anzahl auszuwählender Aspekte. Wenn die Methode nicht aufgerufen wird, dann wird als Defaultwert 0 benutzt.

Parameters:
minimumSelectedAspects - Minimale Anzahl auszuwählender Aspekte.

getMaximumSelectedAspects

public int getMaximumSelectedAspects()
Bestimmt die maximale Anzahl auszuwählender Aspekte.

Returns:
Maximale Anzahl auszuwählender Aspekte.

setMaximumSelectedAspects

public void setMaximumSelectedAspects(int maximumSelectedAspects)
Setzt die maximale Anzahl auszuwählender Aspekte. Wenn die Methode nicht aufgerufen wird, dann wird als Defaultwert Integer.MAX_VALUE benutzt.

Parameters:
maximumSelectedAspects - Maximale Anzahl auszuwählender Aspekte.

getSelectedObjects

public List<SystemObject> getSelectedObjects()
Gibt die selektierten Objekte zurück.

Returns:
die selektierten Objekte

getSelectedObjectTypes

public List<SystemObjectType> getSelectedObjectTypes()
Gibt die selektierten Objekt-Typen zurück.

Returns:
die selektierten Objekt-Typen

getSelectedAttributeGroups

public List<AttributeGroup> getSelectedAttributeGroups()
Gibt die selektierten Attributgruppen zurück.

Returns:
die selektierten Attributgruppen

getSelectedAspects

public List<Aspect> getSelectedAspects()
Gibt die selektierten Aspekte zurück.

Returns:
die selektierten Aspekte

getSelectedTreePath

public String getSelectedTreePath()
Gibt den selektierten Pfad des Baums als kommaseparierten String zurück. Jedes Objekt wird durch eine PID repräsentiert.

Returns:
Pfad des Baums als kommaseparierten String

setSelectedObjects

public void setSelectedObjects(List<SystemObject> objects)
Mit dieser Methode können Objekte angegeben werden, die beim Füllen der Listen vorselektiert sein sollen.

Parameters:
objects - Objekte, die vorselektiert sein sollen. Wird null übergeben, wird die Selektion gelöscht.

setSelectedObjectTypes

public void setSelectedObjectTypes(List<SystemObjectType> types)
Mit dieser Methode können Objekte angegeben werden, die beim Füllen der Listen vorselektiert sein sollen.

Parameters:
types - Objekte, die vorselektiert sein sollen. Wird null übergeben, wird die Selektion gelöscht.

setSelectedAttributeGroups

public void setSelectedAttributeGroups(List<AttributeGroup> attributeGroups)
Mit dieser Methode können Attributgruppen angegeben werden, die beim Füllen der Listen vorselektiert sein sollen.

Parameters:
attributeGroups - Attributgruppen, die vorselektiert sein sollen. Wird null übergeben, wird die Selektion gelöscht.

setSelectedAspects

public void setSelectedAspects(List<Aspect> aspects)
Mit dieser Methode können Aspekte angegeben werden, die beim Füllen der Listen vorselektiert sein sollen.

Parameters:
aspects - Aspekte, die vorselektiert sein sollen. Wird null übergeben, wird die Selektion gelöscht.

setSelectedObject

public void setSelectedObject(SystemObject object)
Mit dieser Methode kann ein Objekt angegeben werden, welches beim Füllen der Listen vorselektiert sein soll.

Parameters:
object - Objekt, welches vorselektiert sein soll. Wird null übergeben, wird die Selektion gelöscht.

setSelectedObjectType

public void setSelectedObjectType(SystemObjectType type)
Mit dieser Methode kann ein Objekt-Typ angegeben werden, welcher beim Füllen der Listen vorselektiert sein soll.

Parameters:
type - Objekt-Typ, welcher vorselektiert sein soll. Wird null übergeben, wird die Selektion gelöscht.

setSelectedAttributeGroup

public void setSelectedAttributeGroup(AttributeGroup attributeGroup)
Mit dieser Methode kann eine Attributgruppe angegeben werden, welche beim Füllen der Listen vorselektiert sein soll.

Parameters:
attributeGroup - Attributgruppe, welche vorselektiert sein soll. Wird null übergeben, wird die Selektion gelöscht.

setSelectedAspect

public void setSelectedAspect(Aspect aspect)
Mit dieser Methode kann ein Aspekt angegeben werden, welcher beim Füllen der Listen vorselektiert sein soll.

Parameters:
aspect - Aspekt, welcher vorselektiert sein soll. Wird null übergeben, wird die Selektion gelöscht.

setSelectedPath

public void setSelectedPath(String treePath)
Kommaseparierte PIDs werden als String übergeben, die einen Pfad im Baum des PreselectionTrees darstellen. Ist der Pfad vorhanden, dann wird er selektiert.

Parameters:
treePath - Pfad des Baums als kommaseparierten String

showSimulationVariant

public void showSimulationVariant()
Mit dieser Methode kann bestimmt werden, ob die Simulationsvariante angezeigt werden soll.


getSimulationVariant

public int getSimulationVariant()
Gibt die Simulationsvariante zurück.

Returns:
die Simulationsvariante

setSimulationVariant

public void setSimulationVariant(int value)
Setzt den Wert der Simulationsvariante.

Parameters:
value - neuer Wert der Simulationsvariante

show

public boolean show()

isOkButtonPressed

public boolean isOkButtonPressed()

setOkButtonPressed

private void setOkButtonPressed(boolean ok)

getWindowForComponent

private static Window getWindowForComponent(Component component)