diff options
Diffstat (limited to 'src/gui/guildwindow.cpp')
-rw-r--r-- | src/gui/guildwindow.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/gui/guildwindow.cpp b/src/gui/guildwindow.cpp index 7237a870..0e9a066a 100644 --- a/src/gui/guildwindow.cpp +++ b/src/gui/guildwindow.cpp @@ -170,13 +170,15 @@ void GuildWindow::action(const gcn::ActionEvent &event) void GuildWindow::newGuildTab(const std::string &guildName) { - // Create new tab GuildListBox *list = new GuildListBox(); list->setListModel(player_node->getGuild(guildName)); ScrollArea *sa = new ScrollArea(list); sa->setDimension(gcn::Rectangle(5, 5, 135, 250)); + // Add the listbox to the map + mGuildLists.insert(std::pair<std::string, GuildListBox*>(guildName, list)); + mGuildTabs->addTab(guildName, sa); mGuildTabs->setDimension(gcn::Rectangle(28,35,140,250)); @@ -257,9 +259,9 @@ void GuildWindow::removeTab(int guildId) void GuildWindow::setOnline(const std::string &guildName, const std::string &member, bool online) { - GuildListBox *box = dynamic_cast<GuildListBox*>(mGuildTabs->getWidget(guildName)); - if (box) + GuildListMap::iterator itr = mGuildLists.find(guildName); + if (itr != mGuildLists.end()) { - box->setOnlineStatus(member, online); + itr->second->setOnlineStatus(member, online); } } |