summaryrefslogtreecommitdiff
path: root/src/options/OptionsController.cpp
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2012-04-15 21:16:57 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2012-04-15 21:16:57 (GMT)
commita0506495ad71a18ba2976d31d437dfd6bd8241f8 (patch)
tree9a48cf745af2379fcd2a922b75807f34f6971bfe /src/options/OptionsController.cpp
parent900e23128a16bd49d8929a232ac57fc7e30ad3f9 (diff)
downloadpowder-a0506495ad71a18ba2976d31d437dfd6bd8241f8.zip
powder-a0506495ad71a18ba2976d31d437dfd6bd8241f8.tar.gz
Simulation options
Diffstat (limited to 'src/options/OptionsController.cpp')
-rw-r--r--src/options/OptionsController.cpp54
1 files changed, 51 insertions, 3 deletions
diff --git a/src/options/OptionsController.cpp b/src/options/OptionsController.cpp
index ca9a332..b39509c 100644
--- a/src/options/OptionsController.cpp
+++ b/src/options/OptionsController.cpp
@@ -7,12 +7,60 @@
#include "OptionsController.h"
-OptionsController::OptionsController() {
- // TODO Auto-generated constructor stub
+OptionsController::OptionsController(Simulation * sim, ControllerCallback * callback_):
+ callback(callback_),
+ HasExited(false)
+{
+ view = new OptionsView();
+ model = new OptionsModel(sim);
+ model->AddObserver(view);
+ view->AttachController(this);
+
+}
+
+void OptionsController::SetHeatSimulation(bool state)
+{
+ model->SetHeatSimulation(state);
+}
+
+void OptionsController::SetAmbientHeatSimulation(bool state)
+{
+ model->SetAmbientHeatSimulation(state);
+}
+
+void OptionsController::SetNewtonianGravity(bool state)
+{
+ model->SetNewtonianGravity(state);
}
+void OptionsController::SetWaterEqualisation(bool state)
+{
+ model->SetWaterEqualisation(state);
+}
+
+OptionsView * OptionsController::GetView()
+{
+ return view;
+}
+
+void OptionsController::Exit()
+{
+ if(ui::Engine::Ref().GetWindow() == view)
+ {
+ ui::Engine::Ref().CloseWindow();
+ }
+ if(callback)
+ callback->ControllerExit();
+ HasExited = true;
+}
+
+
OptionsController::~OptionsController() {
- // TODO Auto-generated destructor stub
+ if(ui::Engine::Ref().GetWindow() == view)
+ {
+ ui::Engine::Ref().CloseWindow();
+ }
+ delete model;
}