Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStijn Buys <ingar@osirion.org>2010-09-15 21:29:18 +0000
committerStijn Buys <ingar@osirion.org>2010-09-15 21:29:18 +0000
commite55638d081e2e1ff6fbc06e0e8ac0381a04308e7 (patch)
tree511ccb478adf2acd3cc93f66d217b09f3e3a06dc /src/client/chat.cc
parentf612f19e095b8d0ba49f5bcdec6a582824315d69 (diff)
updated comments, updated buy menu, info support for map window, added const to target selection
Diffstat (limited to 'src/client/chat.cc')
-rw-r--r--src/client/chat.cc30
1 files changed, 29 insertions, 1 deletions
diff --git a/src/client/chat.cc b/src/client/chat.cc
index 5eb1922..c1fc78f 100644
--- a/src/client/chat.cc
+++ b/src/client/chat.cc
@@ -8,6 +8,7 @@
#include "client/chat.h"
#include "client/client.h"
#include "core/core.h"
+#include "core/gameinterface.h"
#include "sys/sys.h"
#include "ui/ui.h"
@@ -26,6 +27,12 @@ Chat::Chat(ui::Widget *parent) : ui::Window(parent)
chat_scrollpane = new ui::ScrollPane(this, chat_log);
chat_scrollpane->set_border(false);
+ chat_scrollpane->set_label("text");
+
+ chat_playerpane = new ui::ScrollPane(this, chat_players);
+ chat_playerpane->set_border(false);
+ chat_playerpane->set_label("players");
+ chat_playerpane->set_alignment(ui::AlignLeft | ui::AlignTop);
chat_input = new ui::InputBox(this);
chat_input->set_border(false);
@@ -46,6 +53,7 @@ Chat::~Chat()
void Chat::clear()
{
+ chat_players.clear();
chat_log.clear();
chat_input->clear();
}
@@ -172,10 +180,24 @@ void Chat::event_draw()
}
if (chat_small) {
+ chat_playerpane->hide();
chat_scrollpane->hide();
} else {
+ chat_playerpane->show();
chat_scrollpane->show();
+
+ chat_players.clear();
+ std::ostringstream ostr;
+
+ ostr << "^B" << core::game()->players().size() << " " << aux::plural("player", core::game()->players().size());
+ chat_players.push_back(ostr.str());
+
+ for (core::GameInterface::Players::iterator it = core::game()->players().begin(); it != core::game()->players().end(); it++) {
+ core::Player *player = (*it);
+ chat_players.push_back(player->name() + "^N");
+ }
}
+
Widget::event_draw();
}
@@ -187,9 +209,15 @@ void Chat::resize()
s[0] -= margin * 2;
s[1] -= margin * 2;
+ // player names
+ chat_playerpane->set_size(ui::UI::elementsize.width() , s.height() - font()->height() * 2.5f);
+ chat_playerpane->set_location(s.width() - chat_playerpane->width() + 2.0f * margin, margin + font()->height());
+
+ // chat text
+ chat_scrollpane->set_size(s.width() - chat_playerpane->width() - margin, s.height() - font()->height() * 1.5f);
chat_scrollpane->set_location(margin, margin);
- chat_scrollpane->set_size(s.width(), s.height() - font()->height() *1.5f);
+ // input bar
chat_input->set_location(margin, height() - font()->height() - margin);
chat_input->set_size(s.width(), font()->height());
}