summaryrefslogtreecommitdiff
path: root/src/ssave/SSaveController.cpp
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2012-01-30 00:40:28 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2012-01-30 00:40:28 (GMT)
commit259fc2bcf75d754af043a5d3fa39b6ee0c0b1dec (patch)
treef0fe2c14499345121371bba0ecc3fe21d17e0953 /src/ssave/SSaveController.cpp
parentfe329e9127ebcb8c89c505c4c120e175810d280c (diff)
downloadpowder-259fc2bcf75d754af043a5d3fa39b6ee0c0b1dec.zip
powder-259fc2bcf75d754af043a5d3fa39b6ee0c0b1dec.tar.gz
ASCII for key events, save and Textarea (no caret, yet)
Diffstat (limited to 'src/ssave/SSaveController.cpp')
-rw-r--r--src/ssave/SSaveController.cpp55
1 files changed, 55 insertions, 0 deletions
diff --git a/src/ssave/SSaveController.cpp b/src/ssave/SSaveController.cpp
new file mode 100644
index 0000000..191a18c
--- /dev/null
+++ b/src/ssave/SSaveController.cpp
@@ -0,0 +1,55 @@
+/*
+ * SSaveController.cpp
+ *
+ * Created on: Jan 29, 2012
+ * Author: Simon
+ */
+
+#include "SSaveController.h"
+
+SSaveController::SSaveController(ControllerCallback * callback, Save save):
+ HasExited(false)
+{
+ ssaveView = new SSaveView();
+ ssaveView->AttachController(this);
+ ssaveModel = new SSaveModel();
+ ssaveModel->AddObserver(ssaveView);
+ ssaveModel->SetSave(new Save(save));
+
+ this->callback = callback;
+}
+
+void SSaveController::UploadSave(std::string saveName, std::string saveDescription, bool publish)
+{
+ ssaveModel->UploadSave(saveName, saveDescription, publish);
+}
+
+Save * SSaveController::GetSave()
+{
+ return ssaveModel->GetSave();
+}
+
+bool SSaveController::GetSaveUploaded()
+{
+ return ssaveModel->GetSaveUploaded();
+}
+
+void SSaveController::Update()
+{
+ ssaveModel->Update();
+}
+
+void SSaveController::Exit()
+{
+ if(ui::Engine::Ref().GetWindow() == ssaveView)
+ ui::Engine::Ref().CloseWindow();
+ if(callback)
+ callback->ControllerExit();
+ HasExited = true;
+}
+
+SSaveController::~SSaveController() {
+ if(ui::Engine::Ref().GetWindow() == ssaveView)
+ ui::Engine::Ref().CloseWindow();
+}
+