diff --git a/client/lobby/RandomMapTab.cpp b/client/lobby/RandomMapTab.cpp index 18c216f6d..213628fa9 100644 --- a/client/lobby/RandomMapTab.cpp +++ b/client/lobby/RandomMapTab.cpp @@ -105,8 +105,7 @@ RandomMapTab::RandomMapTab(): addCallback("teamAlignments", [&](int) { - //TODO: support team alignments - //GH.pushIntT(*this); + GH.pushIntT(*this); }); for(auto road : VLC->terrainTypeHandler->roads()) @@ -449,3 +448,24 @@ void TemplatesDropBox::setTemplate(const CRmgTemplate * tmpl) assert(GH.topInt().get() == this); GH.popInt(GH.topInt()); } + +TeamAlignmentsWidget::TeamAlignmentsWidget(RandomMapTab & randomMapTab): + CIntObject(), + randomMapTab(randomMapTab) +{ + OBJ_CONSTRUCTION; + + pos.w = 300; + pos.h = 300; + background = std::make_shared("Bl3DCvex", pos); + center(pos); + + buttonOk = std::make_shared(Point(43, 240), "MUBCHCK.DEF", CGI->generaltexth->zelp[560], [](){}); + buttonCancel = std::make_shared(Point(193, 240), "MUBCANC.DEF", CGI->generaltexth->zelp[561], [&]() + { + assert(GH.topInt().get() == this); + GH.popInt(GH.topInt()); + }, SDLK_ESCAPE); + + +} diff --git a/client/lobby/RandomMapTab.h b/client/lobby/RandomMapTab.h index 72eab43e3..effe2d66f 100644 --- a/client/lobby/RandomMapTab.h +++ b/client/lobby/RandomMapTab.h @@ -84,3 +84,18 @@ private: std::vector curItems; }; + +class TeamAlignmentsWidget: public CIntObject +{ +public: + TeamAlignmentsWidget(RandomMapTab & randomMapTab); + +private: + + RandomMapTab & randomMapTab; + + std::shared_ptr background; + std::shared_ptr labels; + std::shared_ptr buttonOk, buttonCancel; + std::vector> teams; +};