summaryrefslogtreecommitdiff
path: root/src/login/LoginView.cpp
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2013-03-22 14:14:17 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2013-03-22 14:14:17 (GMT)
commit9abe51526cac2634af0541c3de69834dd30e9f78 (patch)
tree6ae4deadfe00a83094b9d288d8c11d8ce823577a /src/login/LoginView.cpp
parent2c311b9a36a88fadd96f3d39acb1ab2590835d81 (diff)
downloadpowder-9abe51526cac2634af0541c3de69834dd30e9f78.zip
powder-9abe51526cac2634af0541c3de69834dd30e9f78.tar.gz
Move all GUI source files into gui/
Diffstat (limited to 'src/login/LoginView.cpp')
-rw-r--r--src/login/LoginView.cpp148
1 files changed, 0 insertions, 148 deletions
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;
-}
-