1 ///////////////////////////////////////////////////////////////////////////
3 // Author: Daniel Giritzer <daniel@giritzer.eu>
5 // Description: Diese Klasse stellt eine platformunabhängige Visualisierung
6 // des Models zur verfügung.
8 ///////////////////////////////////////////////////////////////////////////
12 #include "ViewFluid.h" //Generierte GUI Klasse
15 #include "ControllerIF.h"
16 /////////////////////////////////////////////////
17 /// \brief Diese Klasse stellt eine platformunabhängige
18 /// Visualisierung des Models zur verfügung
19 /// und erweitert ViewFluid um funktionalität.
20 /// View leitet von ViewFluid ab. ViewFluid
21 /// ist eine mit fluid generierte Klasse
22 /// und stellt die reine Visualisierung
23 /// ohne Funktionalität dar.
24 /////////////////////////////////////////////////
25 class View : public ViewFluid, public Observer
29 View(ControllerIF::SPtr contr, ModelIF::SPtr model);
31 /////////////////////////////////////////////////
32 /// \brief Destruktor. Beende überwachung von
33 /// Model, gebe ressourcen frei.
34 /////////////////////////////////////////////////
37 /////////////////////////////////////////////////
38 /// \brief Initialisiere GUI Callback funktionen
40 /// Danach wird die View angezeigt.
41 /////////////////////////////////////////////////
45 /////////////////////////////////////////////////
46 /// \brief Ein überwachtes Objekt (Model) benachrichtigt
47 /// bei änderungen diese Klasse über diese
49 /// \param s Objekt mit änderungen.
50 /////////////////////////////////////////////////
51 void updatedBySubject(Subject* s);
53 /////////////////////////////////////////////////
54 /// \brief Funktion zum darstellen von
56 /// \param message anzuzeigende Fehlermeldung
57 /////////////////////////////////////////////////
58 static void showErrorMsg(const std::string& message);
61 ControllerIF::SPtr mController;
64 // -------------------------------------------------
65 // ----------- FLTK Callback Funktionen ------------
66 // -------------------------------------------------
67 static void btn_exception_cb(Fl_Button* btn, void* view);