DrawingPanelViewController
(Barbara)
An der Klasse DrawingPanelViewController haben wir einige Veränderungen vorgenommen: Sie hat nun keinen Matrizen-Stack mehr als Attribut, dafür jedoch einen String für den Dateinamen, einen XMLHandler, einen RoomListener, ein Level und eine LinkedList von Levels. Außerdem wird nun sowohl im Konstruktor als auch bei Benutzung des Clear-Buttons automatisch der Center-Room in die Mitte der Zeichenfläche gesetzt und dem Level sowie der XML-Anzeige hinzugefügt. Der ComboBox wird nun nicht mehr ein Array von Listenern sondern ein Array von Strings übergeben. Wird nun ein String in der ComboBox ausgewählt, wird zunächst mithilfe des XMLHandlers der entsprechende Raum erstellt und welcher dem neuen RoomListener übergeben wird. Der alte RoomListener wird gelöscht. Der „Hinzufügen”-Button wurde durch einen „Speichern und Beenden”-Button ersetzt, bei dessen Betätigung die wrilteXML-Methode des XMLHandlers mit dem Level und dem Dateinamen aufgerufen wird. Der „Leeren”-Button wurde durch einen „Rückgäng”-Button ersetzt. Da unsere Prioritäten gegen Ende der Praktikumszeit eher bei der Verbesserung der Level als bei der Verbesserung des Leveleditors lagen, wurde dessen Funktionalität nicht mehr vollständig implementiert. Durch die Level-Liste und den ActionListener undo wurde jedoch bereits der Grundstein für eine mögliche Implementierung gelegt. Außerdem wurde, neben Getter- und Setter- Methoden für die neuen Attribute, die Methode refreshXML hinzugefügt, welche die toXML-Methode des XML-Handlers aufruft und den zurückgegebenen String in das XMLPanel schreibt.