diff options
| author | Simon 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) |
| commit | cbefea85d717bd599fa0559f091b051e904d9e2f (patch) | |
| tree | e11849927aa88b270470c55d8b0fc052d34851e4 /src/ssave | |
| parent | 29ac6380ba649e30dc29771b2833a86f20c9dbfe (diff) | |
| download | powder-cbefea85d717bd599fa0559f091b051e904d9e2f.zip powder-cbefea85d717bd599fa0559f091b051e904d9e2f.tar.gz | |
Local Saving, Server Saving rewrite
Diffstat (limited to 'src/ssave')
| -rw-r--r-- | src/ssave/SSaveController.cpp | 59 | ||||
| -rw-r--r-- | src/ssave/SSaveController.h | 34 | ||||
| -rw-r--r-- | src/ssave/SSaveModel.cpp | 85 | ||||
| -rw-r--r-- | src/ssave/SSaveModel.h | 36 | ||||
| -rw-r--r-- | src/ssave/SSaveView.cpp | 92 | ||||
| -rw-r--r-- | src/ssave/SSaveView.h | 39 |
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_ */ |
