41
41
GameSummaryScreen::GameSummaryScreen
42
42
(InteractiveGameBase * parent, UI::UniqueWindow::Registry * r)
43
43
: UI::UniqueWindow(parent, "game_summary", r, 0, 0, _("Game over")),
44
m_game(parent->game())
47
47
UI::Box * vbox = new UI::Box(this, 0, 0, UI::Box::Vertical, 0, 0, PADDING);
48
m_title_area = new UI::Textarea(vbox, "", UI::Align_HCenter);
49
vbox->add(m_title_area, UI::Box::AlignCenter);
48
title_area_ = new UI::Textarea(vbox, "", UI::Align_HCenter);
49
vbox->add(title_area_, UI::Box::AlignCenter);
50
50
vbox->add_space(PADDING);
52
52
UI::Box * hbox1 = new UI::Box(this, 0, 0, UI::Box::Horizontal);
53
m_players_table = new UI::Table<uintptr_t const>(hbox1, 0, 0, 0, 0);
54
m_players_table->fit_height(m_game.player_manager()->get_players_end_status().size());
53
players_table_ = new UI::Table<uintptr_t const>(hbox1, 0, 0, 0, 0);
54
players_table_->fit_height(game_.player_manager()->get_players_end_status().size());
55
55
hbox1->add_space(PADDING);
56
hbox1->add(m_players_table, UI::Box::AlignTop);
56
hbox1->add(players_table_, UI::Box::AlignTop);
57
57
hbox1->add_space(PADDING);
59
59
UI::Box * info_box = new UI::Box(hbox1, 0, 0, UI::Box::Vertical, 0, 0);
60
m_info_area_label = new UI::Textarea(info_box, _("Player info:"));
61
info_box->add(m_info_area_label, UI::Box::AlignLeft);
62
m_info_area = new UI::MultilineTextarea(
60
info_area_label_ = new UI::Textarea(info_box, _("Player info:"));
61
info_box->add(info_area_label_, UI::Box::AlignLeft);
62
info_area_ = new UI::MultilineTextarea(
63
63
info_box, 0, 0, 130,
64
std::max(130, m_players_table->get_h() - m_info_area_label->get_h() - PADDING),
64
std::max(130, players_table_->get_h() - info_area_label_->get_h() - PADDING),
66
info_box->add(m_info_area, UI::Box::AlignLeft, true);
66
info_box->add(info_area_, UI::Box::AlignLeft, true);
67
67
info_box->add_space(PADDING);
68
68
hbox1->add(info_box, UI::Box::AlignTop);
69
69
hbox1->add_space(PADDING);
70
70
vbox->add(hbox1, UI::Box::AlignLeft);
72
UI::Box * bottom_box = new UI::Box(this, 0, 0, UI::Box::Horizontal);
74
bottom_box->add_space(PADDING);
76
m_gametime_label = new UI::Textarea(bottom_box, _("Elapsed time:"));
77
bottom_box->add(m_gametime_label, UI::Box::AlignCenter);
78
bottom_box->add_space(PADDING);
79
m_gametime_value = new UI::Textarea(bottom_box, gametimestring(m_game.get_gametime()));
80
bottom_box->add(m_gametime_value, UI::Box::AlignCenter);
82
bottom_box->add_inf_space();
84
m_continue_button = new UI::Button
85
(bottom_box, "continue_button",
72
UI::Box * bottobox_ = new UI::Box(this, 0, 0, UI::Box::Horizontal);
74
bottobox_->add_space(PADDING);
76
gametime_label_ = new UI::Textarea(bottobox_, _("Elapsed time:"));
77
bottobox_->add(gametime_label_, UI::Box::AlignCenter);
78
bottobox_->add_space(PADDING);
79
gametime_value_ = new UI::Textarea(bottobox_, gametimestring(game_.get_gametime()));
80
bottobox_->add(gametime_value_, UI::Box::AlignCenter);
82
bottobox_->add_inf_space();
84
continue_button_ = new UI::Button
85
(bottobox_, "continue_button",
87
87
g_gr->images().get("pics/but4.png"),
88
88
g_gr->images().get("pics/continue.png"),
89
89
_("Continue playing"));
90
bottom_box->add(m_continue_button, UI::Box::AlignCenter);
91
bottom_box->add_space(PADDING);
92
m_stop_button = new UI::Button
93
(bottom_box, "stop_button",
90
bottobox_->add(continue_button_, UI::Box::AlignCenter);
91
bottobox_->add_space(PADDING);
92
stop_button_ = new UI::Button
93
(bottobox_, "stop_button",
95
95
g_gr->images().get("pics/but4.png"),
96
96
g_gr->images().get("pics/menu_exit_game.png"),
98
bottom_box->add(m_stop_button, UI::Box::AlignCenter);
99
bottom_box->add_space(PADDING);
98
bottobox_->add(stop_button_, UI::Box::AlignCenter);
99
bottobox_->add_space(PADDING);
101
vbox->add(bottom_box, UI::Box::AlignLeft, true);
101
vbox->add(bottobox_, UI::Box::AlignLeft, true);
102
102
vbox->add_space(PADDING);
103
103
set_center_panel(vbox);
106
m_players_table->add_column(150, _("Player"));
107
m_players_table->add_column(80, _("Team"), "", UI::Align_HCenter);
108
m_players_table->add_column(100, _("Status"), "", UI::Align_HCenter);
109
m_players_table->add_column(100, _("Time"));
106
players_table_->add_column(150, _("Player"));
107
players_table_->add_column(80, _("Team"), "", UI::Align_HCenter);
108
players_table_->add_column(100, _("Status"), "", UI::Align_HCenter);
109
players_table_->add_column(100, _("Time"));
111
111
// Prepare Elements
112
m_title_area->set_textstyle(UI::TextStyle::ui_big());
112
title_area_->set_textstyle(UI::TextStyle::ui_big());
115
m_continue_button->sigclicked.connect
115
continue_button_->sigclicked.connect
116
116
(boost::bind(&GameSummaryScreen::continue_clicked, this));
117
m_stop_button->sigclicked.connect
117
stop_button_->sigclicked.connect
118
118
(boost::bind(&GameSummaryScreen::stop_clicked, this));
119
m_players_table->selected.connect
119
players_table_->selected.connect
120
120
(boost::bind(&GameSummaryScreen::player_selected, this, _1));