diff options
| author | Simon Robertshaw <simon@hardwired.org.uk> | 2012-05-15 17:13:17 (GMT) |
|---|---|---|
| committer | Simon Robertshaw <simon@hardwired.org.uk> | 2012-05-15 17:13:17 (GMT) |
| commit | 136675b56a8a1862afb41ccee5c14e93e483b964 (patch) | |
| tree | 8f679477c5e1c0984a5cb9c169e339c1ca0d6e0c /src/login/LoginView.cpp | |
| parent | 45563e97e813cfd21724ad1111e5de3e04679e1a (diff) | |
| download | powder-136675b56a8a1862afb41ccee5c14e93e483b964.zip powder-136675b56a8a1862afb41ccee5c14e93e483b964.tar.gz | |
Move style into Component
Diffstat (limited to 'src/login/LoginView.cpp')
| -rw-r--r-- | src/login/LoginView.cpp | 64 |
1 files changed, 51 insertions, 13 deletions
diff --git a/src/login/LoginView.cpp b/src/login/LoginView.cpp index 1ae9ef8..e9f8090 100644 --- a/src/login/LoginView.cpp +++ b/src/login/LoginView.cpp @@ -6,6 +6,7 @@ */ #include "LoginView.h" +#include "Style.h" class LoginView::LoginAction : public ui::ButtonAction { @@ -30,28 +31,35 @@ public: }; LoginView::LoginView(): - ui::Window(ui::Point(-1, -1), ui::Point(200, 100)), - loginButton(new ui::Button(ui::Point(200-50, 100-16), ui::Point(50, 16), "Login")), - cancelButton(new ui::Button(ui::Point(0, 100-16), ui::Point(50, 16), "Cancel")), - titleLabel(new ui::Label(ui::Point(4, 2), ui::Point(200-16, 16), "Server login")), - usernameField(new ui::Textbox(ui::Point(8, 20), ui::Point(200-16, 16), "")), - passwordField(new ui::Textbox(ui::Point(8, 40), ui::Point(200-16, 16), "")), - infoLabel(new ui::Label(ui::Point(8, 60), ui::Point(200-16, 16), "")) + 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), "Cancel")), + 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)), + passwordField(new ui::Textbox(ui::Point(8, 46), ui::Point(200-16, 17), "")), + infoLabel(new ui::Label(ui::Point(8, 67), ui::Point(200-16, 16), "")), + targetSize(0, 0) { + targetSize = Size; AddComponent(loginButton); - loginButton->SetAlignment(AlignCentre, AlignBottom); + 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->SetAlignment(AlignCentre, AlignBottom); + cancelButton->Appearance.HorizontalAlign = ui::Appearance::AlignLeft; + cancelButton->Appearance.VerticalAlign = ui::Appearance::AlignMiddle; cancelButton->SetActionCallback(new CancelAction(this)); AddComponent(titleLabel); - titleLabel->SetAlignment(AlignLeft, AlignBottom); + titleLabel->Appearance.HorizontalAlign = ui::Appearance::AlignLeft; titleLabel->Appearance.VerticalAlign = ui::Appearance::AlignBottom; + AddComponent(usernameField); - usernameField->SetAlignment(AlignLeft, AlignBottom); + usernameField->Appearance.HorizontalAlign = ui::Appearance::AlignLeft; usernameField->Appearance.VerticalAlign = ui::Appearance::AlignBottom; AddComponent(passwordField); - passwordField->SetAlignment(AlignLeft, AlignBottom); + passwordField->Appearance.HorizontalAlign = ui::Appearance::AlignLeft; passwordField->Appearance.VerticalAlign = ui::Appearance::AlignBottom; passwordField->SetHidden(true); - infoLabel->SetAlignment(AlignCentre, AlignBottom); + infoLabel->Appearance.HorizontalAlign = ui::Appearance::AlignCentre; infoLabel->Appearance.VerticalAlign = ui::Appearance::AlignBottom; + infoLabel->Visible = false; AddComponent(infoLabel); } @@ -75,6 +83,11 @@ void LoginView::OnKeyPress(int key, Uint16 character, bool shift, bool ctrl, boo 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()) { @@ -82,6 +95,31 @@ void LoginView::NotifyStatusChanged(LoginModel * sender) } } +void LoginView::OnTick(float dt) +{ + //if(targetSize != Size) + { + ui::Point difference = targetSize-Size; + if(difference.X!=0) + { + int xdiff = difference.X/100; + if(xdiff == 0) + xdiff = 1*isign(difference.X); + Size.X += xdiff; + } + if(difference.Y!=0) + { + int ydiff = difference.Y/100; + 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; |
