summaryrefslogtreecommitdiff
path: root/src/login
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2013-03-24 12:24:17 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2013-03-24 12:24:17 (GMT)
commit9b5b85f9b01cbda7ef9a7ec2a15b2a35630a5b9d (patch)
treeac7d040253b459ce102e476cb19ab59e3cfa90d7 /src/login
parent6bf98ccdca39936a3c51367862eed7c49f8786ec (diff)
parentbdc69f31c0be94191015838886bdcc2bc67f1acb (diff)
downloadpowder-9b5b85f9b01cbda7ef9a7ec2a15b2a35630a5b9d.zip
powder-9b5b85f9b01cbda7ef9a7ec2a15b2a35630a5b9d.tar.gz
Merge branch 'reorganisation' of github.com:FacialTurd/The-Powder-Toy
Diffstat (limited to 'src/login')
-rw-r--r--src/login/LoginController.cpp51
-rw-r--r--src/login/LoginController.h28
-rw-r--r--src/login/LoginModel.cpp58
-rw-r--r--src/login/LoginModel.h28
-rw-r--r--src/login/LoginView.cpp148
-rw-r--r--src/login/LoginView.h39
6 files changed, 0 insertions, 352 deletions
diff --git a/src/login/LoginController.cpp b/src/login/LoginController.cpp
deleted file mode 100644
index fd8e576..0000000
--- a/src/login/LoginController.cpp
+++ /dev/null
@@ -1,51 +0,0 @@
-#include "LoginController.h"
-#include "client/User.h"
-#include "client/Client.h"
-
-LoginController::LoginController(ControllerCallback * callback):
- HasExited(false)
-{
- loginView = new LoginView();
- loginModel = new LoginModel();
-
- loginView->AttachController(this);
- loginModel->AddObserver(loginView);
-
- this->callback = callback;
-
-}
-
-void LoginController::Login(string username, string password)
-{
- loginModel->Login(username, password);
-}
-
-User LoginController::GetUser()
-{
- return loginModel->GetUser();
-}
-
-void LoginController::Exit()
-{
- if(ui::Engine::Ref().GetWindow() == loginView)
- {
- ui::Engine::Ref().CloseWindow();
- }
- if(callback)
- callback->ControllerExit();
- else
- {
- Client::Ref().SetAuthUser(loginModel->GetUser());
- }
- HasExited = true;
-}
-
-LoginController::~LoginController() {
- if(ui::Engine::Ref().GetWindow() == loginView)
- {
- ui::Engine::Ref().CloseWindow();
- }
- delete loginModel;
- delete loginView;
-}
-
diff --git a/src/login/LoginController.h b/src/login/LoginController.h
deleted file mode 100644
index b723cb9..0000000
--- a/src/login/LoginController.h
+++ /dev/null
@@ -1,28 +0,0 @@
-#ifndef LOGINCONTROLLER_H_
-#define LOGINCONTROLLER_H_
-
-#include <string>
-#include "LoginView.h"
-#include "LoginModel.h"
-#include "Controller.h"
-#include "client/User.h"
-
-using namespace std;
-
-class LoginView;
-class LoginModel;
-class LoginController {
- LoginView * loginView;
- LoginModel * loginModel;
- ControllerCallback * callback;
-public:
- bool HasExited;
- LoginController(ControllerCallback * callback = NULL);
- void Login(string username, string password);
- void Exit();
- LoginView * GetView() { return loginView; }
- User GetUser();
- virtual ~LoginController();
-};
-
-#endif /* LOGINCONTROLLER_H_ */
diff --git a/src/login/LoginModel.cpp b/src/login/LoginModel.cpp
deleted file mode 100644
index 5b70c2c..0000000
--- a/src/login/LoginModel.cpp
+++ /dev/null
@@ -1,58 +0,0 @@
-#include "LoginModel.h"
-
-LoginModel::LoginModel():
- currentUser(0, "")
-{
-
-}
-
-void LoginModel::Login(string username, string password)
-{
- statusText = "Logging in...";
- loginStatus = false;
- notifyStatusChanged();
- LoginStatus status = Client::Ref().Login(username, password, currentUser);
- switch(status)
- {
- case LoginOkay:
- statusText = "Logged in";
- loginStatus = true;
- break;
- case LoginError:
- statusText = "Error: " + Client::Ref().GetLastError();
- break;
- }
- notifyStatusChanged();
-}
-
-void LoginModel::AddObserver(LoginView * observer)
-{
- observers.push_back(observer);
-}
-
-string LoginModel::GetStatusText()
-{
- return statusText;
-}
-
-User LoginModel::GetUser()
-{
- return currentUser;
-}
-
-bool LoginModel::GetStatus()
-{
- return loginStatus;
-}
-
-void LoginModel::notifyStatusChanged()
-{
- for(int i = 0; i < observers.size(); i++)
- {
- observers[i]->NotifyStatusChanged(this);
- }
-}
-
-LoginModel::~LoginModel() {
-}
-
diff --git a/src/login/LoginModel.h b/src/login/LoginModel.h
deleted file mode 100644
index 8149797..0000000
--- a/src/login/LoginModel.h
+++ /dev/null
@@ -1,28 +0,0 @@
-#ifndef LOGINMODEL_H_
-#define LOGINMODEL_H_
-
-#include <vector>
-#include <string>
-#include "LoginView.h"
-#include "client/Client.h"
-
-using namespace std;
-
-class LoginView;
-class LoginModel {
- vector<LoginView*> observers;
- string statusText;
- bool loginStatus;
- void notifyStatusChanged();
- User currentUser;
-public:
- LoginModel();
- void Login(string username, string password);
- void AddObserver(LoginView * observer);
- string GetStatusText();
- bool GetStatus();
- User GetUser();
- virtual ~LoginModel();
-};
-
-#endif /* LOGINMODEL_H_ */
diff --git a/src/login/LoginView.cpp b/src/login/LoginView.cpp
deleted file mode 100644
index a660887..0000000
--- a/src/login/LoginView.cpp
+++ /dev/null
@@ -1,148 +0,0 @@
-#include "LoginView.h"
-
-#include "interface/Button.h"
-#include "interface/Label.h"
-#include "interface/Textbox.h"
-#include "interface/Keys.h"
-#include "Style.h"
-
-class LoginView::LoginAction : public ui::ButtonAction
-{
- LoginView * v;
-public:
- LoginAction(LoginView * _v) { v = _v; }
- void ActionCallback(ui::Button * sender)
- {
- v->c->Login(v->usernameField->GetText(), v->passwordField->GetText());
- }
-};
-
-class LoginView::CancelAction : public ui::ButtonAction
-{
- LoginView * v;
-public:
- CancelAction(LoginView * _v) { v = _v; }
- void ActionCallback(ui::Button * sender)
- {
- v->c->Exit();
- }
-};
-
-LoginView::LoginView():
- ui::Window(ui::Point(-1, -1), ui::Point(200, 87)),
- loginButton(new ui::Button(ui::Point(200-100, 87-17), ui::Point(100, 17), "Sign in")),
- cancelButton(new ui::Button(ui::Point(0, 87-17), ui::Point(101, 17), "Sign Out")),
- titleLabel(new ui::Label(ui::Point(4, 5), ui::Point(200-16, 16), "Server login")),
- usernameField(new ui::Textbox(ui::Point(8, 25), ui::Point(200-16, 17), Client::Ref().GetAuthUser().Username, "[username]")),
- passwordField(new ui::Textbox(ui::Point(8, 46), ui::Point(200-16, 17), "", "[password]")),
- infoLabel(new ui::Label(ui::Point(8, 67), ui::Point(200-16, 16), "")),
- targetSize(0, 0)
-{
- targetSize = Size;
- FocusComponent(usernameField);
-
- infoLabel->Appearance.HorizontalAlign = ui::Appearance::AlignCentre; infoLabel->Appearance.VerticalAlign = ui::Appearance::AlignMiddle;
- infoLabel->Visible = false;
- AddComponent(infoLabel);
-
- AddComponent(loginButton);
- SetOkayButton(loginButton);
- loginButton->Appearance.HorizontalAlign = ui::Appearance::AlignRight;
- loginButton->Appearance.VerticalAlign = ui::Appearance::AlignMiddle;
- loginButton->Appearance.TextInactive = style::Colour::ConfirmButton;
- loginButton->SetActionCallback(new LoginAction(this));
- AddComponent(cancelButton);
- cancelButton->Appearance.HorizontalAlign = ui::Appearance::AlignLeft;
- cancelButton->Appearance.VerticalAlign = ui::Appearance::AlignMiddle;
- cancelButton->SetActionCallback(new CancelAction(this));
- AddComponent(titleLabel);
- titleLabel->Appearance.HorizontalAlign = ui::Appearance::AlignLeft; titleLabel->Appearance.VerticalAlign = ui::Appearance::AlignMiddle;
-
- AddComponent(usernameField);
- usernameField->Appearance.icon = IconUsername;
- usernameField->Appearance.HorizontalAlign = ui::Appearance::AlignLeft; usernameField->Appearance.VerticalAlign = ui::Appearance::AlignMiddle;
- AddComponent(passwordField);
- passwordField->Appearance.icon = IconPassword;
- passwordField->Appearance.HorizontalAlign = ui::Appearance::AlignLeft; passwordField->Appearance.VerticalAlign = ui::Appearance::AlignMiddle;
- passwordField->SetHidden(true);
-}
-
-void LoginView::OnKeyPress(int key, Uint16 character, bool shift, bool ctrl, bool alt)
-{
- switch(key)
- {
- case KEY_TAB:
- if(IsFocused(usernameField))
- FocusComponent(passwordField);
- else
- FocusComponent(usernameField);
- break;
- }
-}
-
-void LoginView::OnTryExit(ExitMethod method)
-{
- ui::Engine::Ref().CloseWindow();
-}
-
-void LoginView::NotifyStatusChanged(LoginModel * sender)
-{
- if(!infoLabel->GetText().length() && sender->GetStatusText().length())
- {
- targetSize = Size+ui::Point(0, 18);
- infoLabel->Visible = true;
- }
- infoLabel->SetText(sender->GetStatusText());
- if(sender->GetStatus())
- {
- c->Exit();
- }
-}
-
-void LoginView::OnTick(float dt)
-{
- //if(targetSize != Size)
- {
- ui::Point difference = targetSize-Size;
- if(difference.X!=0)
- {
- int xdiff = difference.X/5;
- if(xdiff == 0)
- xdiff = 1*isign(difference.X);
- Size.X += xdiff;
- }
- if(difference.Y!=0)
- {
- int ydiff = difference.Y/5;
- if(ydiff == 0)
- ydiff = 1*isign(difference.Y);
- Size.Y += ydiff;
- }
-
- loginButton->Position.Y = Size.Y-17;
- cancelButton->Position.Y = Size.Y-17;
- }
-}
-
-void LoginView::OnDraw()
-{
- Graphics * g = ui::Engine::Ref().g;
- g->clearrect(Position.X-2, Position.Y-2, Size.X+3, Size.Y+3);
- g->drawrect(Position.X, Position.Y, Size.X, Size.Y, 255, 255, 255, 255);
-}
-
-LoginView::~LoginView() {
- RemoveComponent(titleLabel);
- RemoveComponent(loginButton);
- RemoveComponent(cancelButton);
- RemoveComponent(usernameField);
- RemoveComponent(passwordField);
- RemoveComponent(infoLabel);
- delete cancelButton;
- delete loginButton;
- delete titleLabel;
- delete usernameField;
- delete passwordField;
- delete infoLabel;
-}
-
diff --git a/src/login/LoginView.h b/src/login/LoginView.h
deleted file mode 100644
index a492b75..0000000
--- a/src/login/LoginView.h
+++ /dev/null
@@ -1,39 +0,0 @@
-#ifndef LOGINVIEW_H_
-#define LOGINVIEW_H_
-
-#include "interface/Window.h"
-#include "LoginController.h"
-#include "LoginModel.h"
-
-namespace ui
-{
- class Textbox;
- class Button;
- class Label;
-}
-
-class LoginController;
-class LoginMode;
-class LoginView: public ui::Window {
- LoginController * c;
- ui::Point targetSize;
- ui::Button * loginButton;
- ui::Button * cancelButton;
- ui::Label * titleLabel;
- ui::Label * infoLabel;
- ui::Textbox * usernameField;
- ui::Textbox * passwordField;
-public:
- class LoginAction;
- class CancelAction;
- LoginView();
- virtual void OnKeyPress(int key, Uint16 character, bool shift, bool ctrl, bool alt);
- virtual void OnTryExit(ExitMethod method);
- void AttachController(LoginController * c_) { c = c_; }
- void NotifyStatusChanged(LoginModel * sender);
- virtual void OnDraw();
- virtual void OnTick(float dt);
- virtual ~LoginView();
-};
-
-#endif /* LOGINVIEW_H_ */