summaryrefslogtreecommitdiff
path: root/src/gui/options/OptionsModel.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/options/OptionsModel.h')
-rw-r--r--src/gui/options/OptionsModel.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/gui/options/OptionsModel.h b/src/gui/options/OptionsModel.h
new file mode 100644
index 0000000..1fdf372
--- /dev/null
+++ b/src/gui/options/OptionsModel.h
@@ -0,0 +1,43 @@
+#ifndef OPTIONSMODEL_H_
+#define OPTIONSMODEL_H_
+#include <vector>
+#include "OptionsView.h"
+#include "simulation/Simulation.h"
+
+class GameModel;
+class Simulation;
+class OptionsView;
+class OptionsModel {
+ GameModel * gModel;
+ Simulation * sim;
+ std::vector<OptionsView*> observers;
+ void notifySettingsChanged();
+public:
+ OptionsModel(GameModel * gModel);
+ void AddObserver(OptionsView* view);
+ bool GetHeatSimulation();
+ void SetHeatSimulation(bool state);
+ bool GetAmbientHeatSimulation();
+ void SetAmbientHeatSimulation(bool state);
+ bool GetNewtonianGravity();
+ void SetNewtonianGravity(bool state);
+ bool GetWaterEqualisation();
+ void SetWaterEqualisation(bool state);
+ bool GetShowAvatars();
+ void SetShowAvatars(bool state);
+ int GetAirMode();
+ void SetAirMode(int airMode);
+ int GetEdgeMode();
+ void SetEdgeMode(int edgeMode);
+ int GetGravityMode();
+ void SetGravityMode(int gravityMode);
+ bool GetFullscreen();
+ void SetFullscreen(bool fullscreen);
+ bool GetFastQuit();
+ void SetFastQuit(bool fastquit);
+ bool GetScale();
+ void SetScale(bool scale);
+ virtual ~OptionsModel();
+};
+
+#endif /* OPTIONSMODEL_H_ */