| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163 |
- #include "AddServerMenu.h"
- #include "Globals.h"
- #include "Initialization.h"
- #include "ServerSelection.h"
- AddServerMenu::AddServerMenu(Screen* zScreen)
- : Menu(zScreen)
- {
- Point center = zScreen->getBackBufferSize() / 2;
- TextField* nameLabel = initTextField(center.x - 150,
- center.y - 50,
- 100,
- 20,
- TextField::Style::Text | TextField::Style::VCenter,
- "Name:");
- elements.add(nameLabel);
- name = initTextField(nameLabel->getPosition().x + nameLabel->getWidth(),
- nameLabel->getPosition().y,
- 200,
- 20,
- TextField::Style::TextField,
- "");
- name->setKeyboardEvent([this](void* p, void* o, KeyboardEvent te) {
- if (te.id == TE_Release && te.virtualKey == T_Tab)
- {
- name->removeStyle(Drawable::Style::Focus);
- address->addStyle(Drawable::Style::Focus);
- }
- return te.virtualKey != T_Tab;
- });
- elements.add(name);
- TextField* addressLabel = initTextField(center.x - 150,
- center.y - 25,
- 100,
- 20,
- TextField::Style::Text | TextField::Style::VCenter,
- "Server Address:");
- elements.add(addressLabel);
- address = initTextField(
- addressLabel->getPosition().x + addressLabel->getWidth(),
- addressLabel->getPosition().y,
- 200,
- 20,
- TextField::Style::TextField,
- "");
- address->setKeyboardEvent([this](void* p, void* o, KeyboardEvent te) {
- if (te.id == TE_Release && te.virtualKey == T_Tab)
- {
- address->removeStyle(Drawable::Style::Focus);
- sslPort->addStyle(Drawable::Style::Focus);
- }
- return te.virtualKey != T_Tab;
- });
- elements.add(address);
- TextField* sslPortLabel = initTextField(center.x - 150,
- center.y,
- 100,
- 20,
- TextField::Style::Text | TextField::Style::VCenter,
- "SSL Server Port:");
- elements.add(sslPortLabel);
- sslPort = initTextField(
- sslPortLabel->getPosition().x + sslPortLabel->getWidth(),
- sslPortLabel->getPosition().y,
- 200,
- 20,
- TextField::Style::TextField,
- "");
- sslPort->setKeyboardEvent([this](void* p, void* o, KeyboardEvent te) {
- if (te.id == TE_Release && te.virtualKey == T_Tab)
- {
- sslPort->removeStyle(Drawable::Style::Focus);
- port->addStyle(Drawable::Style::Focus);
- }
- return te.virtualKey != T_Tab && _onlyNumbersTE(p, o, te);
- });
- elements.add(sslPort);
- TextField* portLabel = initTextField(center.x - 150,
- center.y + 25,
- 100,
- 20,
- TextField::Style::Text | TextField::Style::VCenter,
- "Server Port:");
- elements.add(portLabel);
- port = initTextField(portLabel->getPosition().x + portLabel->getWidth(),
- portLabel->getPosition().y,
- 200,
- 20,
- TextField::Style::TextField,
- "");
- port->setKeyboardEvent(_onlyNumbersTE);
- elements.add(port);
- add = initButton(
- center.x + 50, center.y + 50, 100, 20, Button::Style::Normal, "Add");
- add->setMouseEvent([this](void* p, void* o, MouseEvent me) {
- if (me.id == ME_RLeft)
- {
- if (name->zText()->getLength() && address->zText()->getLength()
- && port->zText()->getLength())
- {
- if (!((ServerSelectionMenu*)(Menu*)menuRegister->get(
- "serverSelection"))
- ->hasServer(name->zText()->getText()))
- {
- hide();
- menuRegister->get("serverSelection")->show();
- ((ServerSelectionMenu*)(Menu*)menuRegister->get(
- "serverSelection"))
- ->addServer(name->zText()->getText(),
- address->zText()->getText(),
- (unsigned short)(int)*sslPort->zText(),
- (unsigned short)(int)*port->zText());
- name->zText()->setText("");
- address->zText()->setText("");
- port->zText()->setText("");
- sslPort->zText()->setText("");
- name->setAlphaFieldColor(0xFF3d3d3d);
- address->setAlphaFieldColor(0xFF3d3d3d);
- port->setAlphaFieldColor(0xFF3d3d3d);
- sslPort->setAlphaFieldColor(0xFF3d3d3d);
- }
- else
- name->setAlphaFieldColor(0xFF3d0000);
- }
- else
- {
- if (!name->zText()->getLength())
- name->setAlphaFieldColor(0xFF3d0000);
- if (!address->zText()->getLength())
- address->setAlphaFieldColor(0xFF3d0000);
- if (!port->zText()->getLength())
- port->setAlphaFieldColor(0xFF3d0000);
- if (!sslPort->zText()->getLength())
- sslPort->setAlphaFieldColor(0xFF3d0000);
- }
- }
- return 1;
- });
- elements.add(add);
- abort = initButton(
- center.x - 150, center.y + 50, 100, 20, Button::Style::Normal, "Abort");
- abort->setMouseEvent([this](void* p, void* o, MouseEvent me) {
- if (me.id == ME_RLeft)
- {
- hide();
- menuRegister->get("serverSelection")->show();
- name->zText()->setText("");
- address->zText()->setText("");
- port->zText()->setText("");
- name->setAlphaFieldColor(0xFF3d3d3d);
- address->setAlphaFieldColor(0xFF3d3d3d);
- port->setAlphaFieldColor(0xFF3d3d3d);
- sslPort->setAlphaFieldColor(0xFF3d3d3d);
- }
- return 1;
- });
- elements.add(abort);
- }
|