Author: ilor Date: Sun Jun 28 02:11:03 2009 New Revision: 36433 URL: http://svn.gna.org/viewcvs/wesnoth?rev=36433&view=rev Log: WIP gui2 lobby
Modified:
trunk/data/gui/default/window/lobby_main.cfg
trunk/src/gui/dialogs/lobby_main.cpp
trunk/src/gui/dialogs/lobby_main.hpp
Modified: trunk/data/gui/default/window/lobby_main.cfg
URL:
http://svn.gna.org/viewcvs/wesnoth/trunk/data/gui/default/window/lobby_main.cfg?rev=36433&r1=36432&r2=36433&view=diff
==============================================================================
--- trunk/data/gui/default/window/lobby_main.cfg (original)
+++ trunk/data/gui/default/window/lobby_main.cfg Sun Jun 28 02:11:03 2009
@@ -24,7 +24,7 @@
horizontal_alignment = "left"
[label]
definition = "title"
- label = _ "Lobby"
+ label = _ "Multiplayer Lobby"
[/label]
[/column]
[/row]
@@ -33,10 +33,315 @@
[column]
grow_factor = 1
horizontal_grow = "true"
- [label]
- definition = "default"
- label = _ "Lobby"
- [/label]
+ [grid]
+ [row]
+ grow_factor = 0
+ [column]
+ [grid]
+ [row]
+
[column]
+
grow_factor = 1
+
[listbox]
+
id = "game_list"
+
definition = "default"
+
[header]
+
[row]
+
[column]
+
grow_factor = 1
+
horizontal_grow = "true"
+
border = "all"
+
border_size = 5
+
[label]
+
id = "name"
+
definition = "default"
+
label = "Name"
+
[/label]
+
[/column]
+
[column]
+
grow_factor = 1
+
horizontal_grow = "true"
+
border = "all"
+
border_size = 5
+
[label]
+
id = "map"
+
definition = "default"
+
label = "Map"
+
[/label]
+
[/column]
+
[column]
+
grow_factor = 1
+
horizontal_grow = "true"
+
border = "all"
+
border_size = 5
+
[label]
+
id = "era"
+
definition = "default"
+
label = "Era"
+
[/label]
+
[/column]
+
[column]
+
grow_factor = 1
+
horizontal_grow = "true"
+
border = "all"
+
border_size = 5
+
[label]
+
id = "slots"
+
definition = "default"
+
label = "Slots"
+
[/label]
+
[/column]
+
[column]
+
grow_factor = 1
+
horizontal_grow = "true"
+
border = "all"
+
border_size = 5
+
[label]
+
id = "options"
+
definition = "default"
+
label = "Options"
+
[/label]
+
[/column]
+
[column]
+
grow_factor = 1
+
horizontal_grow = "true"
+
border = "all"
+
border_size = 5
+
[label]
+
id = "join"
+
definition = "default"
+
label = "Join"
+
[/label]
+
[/column]
+
[column]
+
grow_factor = 1
+
horizontal_grow = "true"
+
border = "all"
+
border_size = 5
+
[label]
+
id = "observe"
+
definition = "default"
+
label = "Observe"
+
[/label]
+
[/column]
+
[/row]
+
[/header]
+
[list_definition]
+
[row]
+
[column]
+
vertical_grow = "true"
+
horizontal_grow = "true"
+
[toggle_panel]
+
definition = "default"
+
return_value_id = "ok"
+
[grid]
+
[row]
+
[column]
+
grow_factor = 1
+
horizontal_grow = "true"
+
border
= "all"
+
border_size = 5
+
[label]
+
id = "name"
+
definition = "default"
+
[/label]
+
[/column]
+
[column]
+
grow_factor = 1
+
horizontal_grow = "true"
+
border
= "all"
+
border_size = 5
+
[label]
+
id = "map"
+
definition = "default"
+
[/label]
+
[/column]
+
[column]
+
grow_factor = 1
+
horizontal_grow = "true"
+
border
= "all"
+
border_size = 5
+
[label]
+
id = "era"
+
definition = "default"
+
[/label]
+
[/column]
+
[column]
+
grow_factor = 1
+
horizontal_grow = "true"
+
border
= "all"
+
border_size = 5
+
[label]
+
id = "slots"
+
definition = "default"
+
[/label]
+
[/column]
+
[column]
+
grow_factor = 1
+
horizontal_grow = "true"
+
border
= "all"
+
border_size = 5
+
[label]
+
id = "options"
+
definition = "default"
+
[/label]
+
[/column]
+
[column]
+
[button]
+
id =
"join"
+
definition = "default"
+
label =
_ "Join"
+
[/button]
+
[/column]
+
[column]
+
[button]
+
id =
"observe"
+
definition = "default"
+
label =
_ "Observe"
+
[/button]
+
[/column]
+
[/row]
+
[/grid]
+
[/toggle_panel]
+
[/column]
+
[/row]
+
[/list_definition]
+
[/listbox]
+
[/column]
+ [/row]
+ [row]
+
[column]
+
[grid]
+
[row]
+
[column]
+
[text_box]
+
id = "chat_log"
+
definition = "default"
+
label = ""
+
[/text_box]
+
[/column]
+
[/row]
+
[row]
+
[column]
+
[text_box]
+
id = "chat_input"
+
definition = "default"
+
label = ""
+
[/text_box]
+
[/column]
+
[/row]
+
[row]
+
[column]
+
[button]
+
id = "send_message"
+
definition = "default"
+
label = _ "Send"
+
[/button]
+
[/column]
+
[/row][/grid]
+
[/column]
+ [/row]
+ [/grid]
+ [/column]
+ [column]
+ [grid]
+ [row]
+
[column]
+
[button]
+
id = "quit"
+
definition = "default"
+
label = _ "Quit"
+
[/button]
+
[/column]
+ [/row]
+ [row]
+
[column]
+
[button]
+
id = "settings"
+
definition = "default"
+
label = _ "Settings"
+
[/button]
+
[/column]
+ [/row]
+ [row]
+
[column]
+
[button]
+
id = "refresh"
+
definition = "default"
+
label = _ "Refresh"
+
[/button]
+
[/column]
+ [/row]
+ [row]
+
[column]
+
[button]
+
id = "create"
+
definition = "default"
+
label = _ "Create Game"
+
[/button]
+
[/column]
+ [/row]
+ [row]
+
[column]
+
[button]
+
id = "help"
+
definition = "default"
+
label = _ "Help"
+
[/button]
+
[/column]
+ [/row]
+ [row]
+
[column]
+
[listbox]
+
id = "player_list"
+
definition = "default"
+
[header]
+
[row]
+
[column]
+
grow_factor = 1
+
horizontal_grow = "true"
+
border = "all"
+
border_size = 5
+
[label]
+
id = "player"
+
definition = "default"
+
label = "Player"
+
[/label]
+
[/column]
+
[/row]
+
[/header]
+
[list_definition]
+
[row]
+
[column]
+
vertical_grow = "true"
+
horizontal_grow = "true"
+
[toggle_panel]
+
definition = "default"
+
return_value_id = "ok"
+
[grid]
+
[row]
+
[column]
+
grow_factor = 1
+
horizontal_grow = "true"
+
border
= "all"
+
border_size = 5
+
[label]
+
id = "player"
+
definition = "default"
+
[/label]
+
[/column]
+
[/row]
+
[/grid]
+
[/toggle_panel]
+
[/column]
+
[/row]
+
[/list_definition]
+
[/listbox]
+
[/column]
+ [/row]
+ [/grid]
+ [/column]
+ [/row]
+ [/grid]
[/column]
[/row]
[/grid]
Modified: trunk/src/gui/dialogs/lobby_main.cpp
URL:
http://svn.gna.org/viewcvs/wesnoth/trunk/src/gui/dialogs/lobby_main.cpp?rev=36433&r1=36432&r2=36433&view=diff
==============================================================================
--- trunk/src/gui/dialogs/lobby_main.cpp (original)
+++ trunk/src/gui/dialogs/lobby_main.cpp Sun Jun 28 02:11:03 2009
@@ -16,6 +16,9 @@
#include "gui/dialogs/lobby_main.hpp"
#include "gui/dialogs/field.hpp"
+#include "gui/widgets/listbox.hpp"
+#include "foreach.hpp"
+
namespace gui2 {
tlobby_main::tlobby_main()
@@ -27,4 +30,33 @@
return build(video, get_id(LOBBY_MAIN));
}
+void tlobby_main::update_gamelist(const config& cfg)
+{
+ foreach (const config &game, cfg.child("gamelist").child_range("game"))
+ {
+ std::map<std::string, string_map> data;
+ string_map item;
+ std::string tmp;
+
+ tmp = game["name"];
+ utils::truncate_as_wstring(tmp, 20);
+ item["label"] = tmp;
+ data.insert(std::make_pair("name", item));
+
+ tmp = game["mp_era"];
+ utils::truncate_as_wstring(tmp, 20);
+ item["label"] = tmp;
+ data.insert(std::make_pair("name", item));
+
+ gamelist_->add_row(data);
+ }
+}
+
+void tlobby_main::pre_show(CVideo& /*video*/, twindow& window)
+{
+ gamelist_ =
+ dynamic_cast<tlistbox*>(window.find_widget("game_list", false));
+ VALIDATE(gamelist_, missing_widget("game_list"));
+}
+
} // namespace gui2
Modified: trunk/src/gui/dialogs/lobby_main.hpp
URL:
http://svn.gna.org/viewcvs/wesnoth/trunk/src/gui/dialogs/lobby_main.hpp?rev=36433&r1=36432&r2=36433&view=diff
==============================================================================
--- trunk/src/gui/dialogs/lobby_main.hpp (original)
+++ trunk/src/gui/dialogs/lobby_main.hpp Sun Jun 28 02:11:03 2009
@@ -17,17 +17,26 @@
#include "gui/dialogs/dialog.hpp"
+class config;
+
namespace gui2 {
+
+class tlistbox;
class tlobby_main : public tdialog
{
public:
tlobby_main();
+ void update_gamelist(const config& cfg);
private:
+ /** Inherited from tdialog. */
+ twindow* build_window(CVideo& video);
/** Inherited from tdialog. */
- twindow* build_window(CVideo& video);
+ void pre_show(CVideo& video, twindow& window);
+
+ tlistbox* gamelist_;
};
} // namespace gui2
_______________________________________________
Wesnoth-commits mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-commits
