summaryrefslogtreecommitdiff
path: root/src/ssave
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2012-08-01 21:29:22 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2012-08-01 21:29:22 (GMT)
commitcbefea85d717bd599fa0559f091b051e904d9e2f (patch)
treee11849927aa88b270470c55d8b0fc052d34851e4 /src/ssave
parent29ac6380ba649e30dc29771b2833a86f20c9dbfe (diff)
downloadpowder-cbefea85d717bd599fa0559f091b051e904d9e2f.zip
powder-cbefea85d717bd599fa0559f091b051e904d9e2f.tar.gz
Local Saving, Server Saving rewrite
Diffstat (limited to 'src/ssave')
-rw-r--r--src/ssave/SSaveController.cpp59
-rw-r--r--src/ssave/SSaveController.h34
-rw-r--r--src/ssave/SSaveModel.cpp85
-rw-r--r--src/ssave/SSaveModel.h36
-rw-r--r--src/ssave/SSaveView.cpp92
-rw-r--r--src/ssave/SSaveView.h39
6 files changed, 0 insertions, 345 deletions
diff --git a/src/ssave/SSaveController.cpp b/src/ssave/SSaveController.cpp
deleted file mode 100644
index 5f37933..0000000
--- a/src/ssave/SSaveController.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * SSaveController.cpp
- *
- * Created on: Jan 29, 2012
- * Author: Simon
- */
-
-#include "SSaveController.h"
-
-SSaveController::SSaveController(ControllerCallback * callback, SaveInfo save):
- HasExited(false)
-{
- ssaveView = new SSaveView();
- ssaveView->AttachController(this);
- ssaveModel = new SSaveModel();
- ssaveModel->AddObserver(ssaveView);
- ssaveModel->SetSave(new SaveInfo(save));
-
- this->callback = callback;
-}
-
-void SSaveController::UploadSave(std::string saveName, std::string saveDescription, bool publish)
-{
- ssaveModel->UploadSave(saveName, saveDescription, publish);
-}
-
-SaveInfo * 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();
- delete ssaveModel;
- delete ssaveView;
- if(callback)
- delete callback;
-}
-
diff --git a/src/ssave/SSaveController.h b/src/ssave/SSaveController.h
deleted file mode 100644
index b8010e0..0000000
--- a/src/ssave/SSaveController.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * SSaveController.h
- *
- * Created on: Jan 29, 2012
- * Author: Simon
- */
-
-#ifndef SSAVECONTROLLER_H_
-#define SSAVECONTROLLER_H_
-
-#include "SSaveModel.h"
-#include "SSaveView.h"
-#include "Controller.h"
-#include "client/SaveInfo.h"
-
-class SSaveView;
-class SSaveModel;
-class SSaveController {
- SSaveView * ssaveView;
- SSaveModel * ssaveModel;
- ControllerCallback * callback;
-public:
- bool HasExited;
- SSaveController(ControllerCallback * callback, SaveInfo save);
- SaveInfo * GetSave();
- bool GetSaveUploaded();
- void Exit();
- void Update();
- void UploadSave(std::string saveName, std::string saveDescription, bool publish);
- SSaveView * GetView() { return ssaveView; }
- virtual ~SSaveController();
-};
-
-#endif /* SSAVECONTROLLER_H_ */
diff --git a/src/ssave/SSaveModel.cpp b/src/ssave/SSaveModel.cpp
deleted file mode 100644
index 4933144..0000000
--- a/src/ssave/SSaveModel.cpp
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * SSaveModel.cpp
- *
- * Created on: Jan 29, 2012
- * Author: Simon
- */
-
-#include "SSaveModel.h"
-#include "client/Client.h"
-
-SSaveModel::SSaveModel():
- save(NULL),
- saveUploaded(false)
-{
- // TODO Auto-generated constructor stub
-
-}
-
-void SSaveModel::notifySaveChanged()
-{
- for(int i = 0; i < observers.size(); i++)
- {
- observers[i]->NotifySaveChanged(this);
- }
-}
-
-void SSaveModel::notifySaveUploadChanged()
-{
- for(int i = 0; i < observers.size(); i++)
- {
- observers[i]->NotifySaveUploadChanged(this);
- }
-}
-
-void SSaveModel::UploadSave(std::string saveName, std::string saveDescription, bool publish)
-{
- save->name = saveName;
- save->Description = saveDescription;
- save->Published = publish;
- saveUploaded = false;
- notifySaveUploadChanged();
-
- if(Client::Ref().UploadSave(save) == RequestOkay)
- {
- saveUploaded = true;
- }
- else
- {
- saveUploaded = false;
- }
- notifySaveUploadChanged();
-}
-
-void SSaveModel::SetSave(SaveInfo * save)
-{
- this->save = save;
- notifySaveChanged();
-}
-
-SaveInfo * SSaveModel::GetSave()
-{
- return this->save;
-}
-
-bool SSaveModel::GetSaveUploaded()
-{
- return saveUploaded;
-}
-
-void SSaveModel::AddObserver(SSaveView * observer)
-{
- observers.push_back(observer);
- observer->NotifySaveChanged(this);
- observer->NotifySaveUploadChanged(this);
-}
-
-void SSaveModel::Update()
-{
-
-}
-
-SSaveModel::~SSaveModel() {
- delete save;
-}
-
diff --git a/src/ssave/SSaveModel.h b/src/ssave/SSaveModel.h
deleted file mode 100644
index e83944b..0000000
--- a/src/ssave/SSaveModel.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * SSaveModel.h
- *
- * Created on: Jan 29, 2012
- * Author: Simon
- */
-
-#ifndef SSAVEMODEL_H_
-#define SSAVEMODEL_H_
-
-#include <vector>
-
-#include "SSaveView.h"
-#include "client/SaveInfo.h"
-
-using namespace std;
-
-class SSaveView;
-class SSaveModel {
- vector<SSaveView*> observers;
- SaveInfo * save;
- void notifySaveChanged();
- void notifySaveUploadChanged();
- bool saveUploaded;
-public:
- SSaveModel();
- void AddObserver(SSaveView * observer);
- void Update();
- SaveInfo * GetSave();
- void SetSave(SaveInfo * save);
- void UploadSave(std::string saveName, std::string saveDescription, bool publish);
- bool GetSaveUploaded();
- virtual ~SSaveModel();
-};
-
-#endif /* SSAVEMODEL_H_ */
diff --git a/src/ssave/SSaveView.cpp b/src/ssave/SSaveView.cpp
deleted file mode 100644
index e37564c..0000000
--- a/src/ssave/SSaveView.cpp
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * SSaveView.cpp
- *
- * Created on: Jan 29, 2012
- * Author: Simon
- */
-
-#include "SSaveView.h"
-
-SSaveView::SSaveView():
- ui::Window(ui::Point(-1, -1), ui::Point(200, 200)),
- publishCheckbox(NULL),
- saveButton(NULL),
- closeButton(NULL),
- nameField(NULL),
- titleLabel(NULL),
- descriptionField(NULL)
-{
- titleLabel = new ui::Label(ui::Point(2, 1), ui::Point(Size.X-4, 16), "Save to Server");
- titleLabel->Appearance.HorizontalAlign = ui::Appearance::AlignLeft; titleLabel->Appearance.VerticalAlign = ui::Appearance::AlignBottom;
- AddComponent(titleLabel);
-
- nameField = new ui::Textbox(ui::Point(4, 18), ui::Point(Size.X-8, 16), "");
- nameField->Appearance.HorizontalAlign = ui::Appearance::AlignLeft; nameField->Appearance.VerticalAlign = ui::Appearance::AlignBottom;
- AddComponent(nameField);
-
- descriptionField = new ui::Textarea(ui::Point(4, 54), ui::Point(Size.X-8, Size.Y-26-54), "");
- AddComponent(descriptionField);
-
- publishCheckbox = new ui::Checkbox(ui::Point(4, 36), ui::Point(Size.X-8, 16), "Publish");
- AddComponent(publishCheckbox);
-
- class CloseAction: public ui::ButtonAction
- {
- SSaveView * v;
- public:
- CloseAction(SSaveView * v_) { v = v_; };
- void ActionCallback(ui::Button * sender)
- {
- v->c->Exit();
- }
- };
- closeButton = new ui::Button(ui::Point(0, Size.Y-16), ui::Point(50, 16), "Cancel");
- closeButton->SetActionCallback(new CloseAction(this));
- AddComponent(closeButton);
-
- class SaveAction: public ui::ButtonAction
- {
- SSaveView * v;
- public:
- SaveAction(SSaveView * v_) { v = v_; };
- void ActionCallback(ui::Button * sender)
- {
- v->c->UploadSave(v->nameField->GetText(), "", v->publishCheckbox->GetChecked());
- }
- };
- saveButton = new ui::Button(ui::Point(Size.X-50, Size.Y-16), ui::Point(50, 16), "Save");
- saveButton->SetActionCallback(new SaveAction(this));
- AddComponent(saveButton);
-}
-
-void SSaveView::NotifySaveChanged(SSaveModel * sender)
-{
- if(sender->GetSave())
- {
- nameField->SetText(sender->GetSave()->GetName());
- publishCheckbox->SetChecked(sender->GetSave()->Published);
- }
- else
- {
- nameField->SetText("");
- //publishCheckbox->SetChecked(sender->GetSave()->GetPublished());
- }
-}
-
-void SSaveView::NotifySaveUploadChanged(SSaveModel * sender)
-{
- if(sender->GetSaveUploaded())
- c->Exit();
-}
-
-void SSaveView::OnDraw()
-{
- Graphics * g = ui::Engine::Ref().g;
-
- g->clearrect(Position.X, Position.Y, Size.X, Size.Y);
- g->drawrect(Position.X, Position.Y, Size.X, Size.Y, 200, 200, 200, 255);
-}
-
-SSaveView::~SSaveView() {
-}
-
diff --git a/src/ssave/SSaveView.h b/src/ssave/SSaveView.h
deleted file mode 100644
index f8e051d..0000000
--- a/src/ssave/SSaveView.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * SSaveView.h
- *
- * Created on: Jan 29, 2012
- * Author: Simon
- */
-
-#ifndef SSAVEVIEW_H_
-#define SSAVEVIEW_H_
-
-#include "interface/Window.h"
-#include "interface/Label.h"
-#include "interface/Button.h"
-#include "interface/Textbox.h"
-#include "interface/Textarea.h"
-#include "interface/Checkbox.h"
-#include "SSaveModel.h"
-#include "SSaveController.h"
-
-class SSaveController;
-class SSaveModel;
-class SSaveView: public ui::Window {
- SSaveController * c;
- ui::Checkbox * publishCheckbox;
- ui::Button * saveButton;
- ui::Button * closeButton;
- ui::Textbox * nameField;
- ui::Label * titleLabel;
- ui::Textarea * descriptionField;
-public:
- SSaveView();
- void AttachController(SSaveController * c_) { c = c_; };
- void NotifySaveChanged(SSaveModel * sender);
- void NotifySaveUploadChanged(SSaveModel * sender);
- virtual void OnDraw();
- virtual ~SSaveView();
-};
-
-#endif /* SSAVEVIEW_H_ */