]> git.sesse.net Git - ccbs/blobdiff - bigscreen/ccbs_bigscreen.cpp
The auxilliary screen now also shows all finished groups.
[ccbs] / bigscreen / ccbs_bigscreen.cpp
index 8180724c33bbb8f20231048fce44046f9357baa2..0892c16a7f66d26d4a619f36fd78e63edf12647a 100644 (file)
@@ -8,10 +8,13 @@
 #include "widestring.h"
 #include "fetch_current_tournament.h"
 #include "fetch_list_of_active_groups.h"
+#include "fetch_list_of_finished_groups.h"
 #include "fetch_group.h"
 #include "fetch_auxilliary_screens.h"
 #include "fonts.h"
 #include "groupscreen.h"
+#include "top10scorescreen.h"
+#include "top5chosenscreen.h"
 #include "splitscreen.h"
 #include "rotatescreen.h"
 
@@ -54,9 +57,28 @@ void init(pqxx::connection &conn)
                }
        }
 
+       RotateScreen *aux_screen = new RotateScreen();
+       screens.push_back(aux_screen);
+       
        conn.perform(FetchAuxilliaryScreens(&aux_screens));
        for (std::vector<widestring>::const_iterator i = aux_screens.begin(); i != aux_screens.end(); ++i) {
-//             std::fprintf(stderr, "Auxilliary screen '%s'\n", i->c_str());
+               if (*i == widestring("top10scores")) {
+                       aux_screen->add_screen(new Top10ScoreScreen(conn, active_tournament.id));
+                       continue;
+               }
+               if (*i == widestring("top5chosen")) {
+                       aux_screen->add_screen(new Top5ChosenScreen(conn, active_tournament.id));
+                       continue;
+               }
+               std::fprintf(stderr, "Foobarbaz?\n");
+       }
+
+       // add all finished screens to the auxilliary screens
+       std::vector<SkeletonGroup> finished_groups;
+       conn.perform(FetchListOfFinishedGroups(active_tournament.id, &finished_groups));
+               
+       for (std::vector<SkeletonGroup>::const_iterator i = finished_groups.begin(); i != finished_groups.end(); ++i) {
+               aux_screen->add_screen(new GroupScreen(conn, i->tournament, i->round, i->parallel, 0, 1));
        }
        
        // hack