From cc18095cded14f5e7e3f049e47fca2224134b647 Mon Sep 17 00:00:00 2001 From: Stijn Buys Date: Sun, 19 Sep 2010 19:44:13 +0000 Subject: text rendering cleanups, inventory capacity & cargo volume --- src/client/trademenu.cc | 67 ++++++++++++++++++++++++++----------------------- 1 file changed, 35 insertions(+), 32 deletions(-) (limited to 'src/client/trademenu.cc') diff --git a/src/client/trademenu.cc b/src/client/trademenu.cc index d93864d..7ac3e7c 100644 --- a/src/client/trademenu.cc +++ b/src/client/trademenu.cc @@ -4,6 +4,8 @@ the terms of the GNU General Public License version 2 */ +#include + #include "core/application.h" #include "core/info.h" #include "core/inventory.h" @@ -13,8 +15,7 @@ #include "ui/listitem.h" #include "client/trademenu.h" -namespace client -{ +namespace client { TradeMenu::TradeMenu(ui::Widget *parent, const char * label) : ui::Window(parent) { @@ -28,7 +29,12 @@ TradeMenu::TradeMenu(ui::Widget *parent, const char * label) : ui::Window(parent menu_tradewindow = new ui::Window(this); menu_tradewindow->set_label("tradewindow"); menu_tradewindow->set_border(true); - + + menu_modelview = new ui::ModelView(menu_tradewindow); + menu_modelview->set_label("modelview"); + menu_modelview->set_background(false); + menu_modelview->set_border(false); + menu_namelabel = new ui::Label(menu_tradewindow); menu_namelabel->set_label("label"); menu_namelabel->set_background(false); @@ -42,20 +48,12 @@ TradeMenu::TradeMenu(ui::Widget *parent, const char * label) : ui::Window(parent menu_inventorylistview->set_background(false); menu_inventorylistview->set_border(true); - menu_inventorylabel = new ui::Label(menu_tradewindow); - menu_inventorylabel->set_label("label"); - menu_inventorylabel->set_background(false); - menu_inventorylabel->set_border(false); - menu_inventorylabel->set_font(ui::root()->font_small()); - menu_inventorylabel->set_alignment(ui::AlignLeft); - + menu_inventorytext = new ui::PlainText(menu_tradewindow); + menu_inventorytext->set_label("inventorytext"); + menu_inventorytext->set_background(false); + menu_inventorytext->set_border(false); + menu_inventorytext->set_font(ui::root()->font_small()); - - menu_modelview = new ui::ModelView(menu_tradewindow); - menu_modelview->set_label("modelview"); - menu_modelview->set_background(false); - menu_modelview->set_border(false); - menu_scrollpane = new ui::ScrollPane(menu_tradewindow, menu_infotext); menu_scrollpane->set_background(false); menu_scrollpane->set_border(false); @@ -66,12 +64,11 @@ TradeMenu::TradeMenu(ui::Widget *parent, const char * label) : ui::Window(parent menu_traderlistview->set_background(false); menu_traderlistview->set_border(true); - menu_traderlabel = new ui::Label(menu_tradewindow); - menu_traderlabel->set_label("label"); - menu_traderlabel->set_background(false); - menu_traderlabel->set_border(false); - menu_traderlabel->set_font(ui::root()->font_small()); - menu_traderlabel->set_alignment(ui::AlignLeft); + menu_tradertext = new ui::PlainText(menu_tradewindow); + menu_tradertext->set_label("tradertext"); + menu_tradertext->set_background(false); + menu_tradertext->set_border(false); + menu_tradertext->set_font(ui::root()->font_small()); menu_closebutton = new ui::Button(menu_tradewindow, "Return", "view hide"); @@ -116,7 +113,7 @@ void TradeMenu::set_item(ui::ListItem *item) { menu_infotext.clear(); menu_namelabel->set_text("Trade"); - menu_traderlabel->clear(); + menu_tradertext->clear(); if (!item || !item->info()) { menu_traderlistview->deselect(); @@ -153,8 +150,8 @@ void TradeMenu::set_item(ui::ListItem *item) menu_buybutton->set_command("remote buy " + item->info()->type()->label() + " " + item->info()->label() + " 1; "); std::ostringstream str; - str << "Price: " << item->item()->price(); - menu_traderlabel->set_text(str.str()); + str << "Price: " << std::setw(8) << item->item()->price() << '\n' << "Volume: " << std::setw(7) << std::setprecision(2) << item->info()->volume(); + menu_tradertext->set_text(str.str()); menu_sellallbutton->hide(); menu_sellbutton->hide(); @@ -201,8 +198,8 @@ void TradeMenu::resize() menu_inventorylistview->set_size(ui::UI::elementsize.width(), menu_tradewindow->height() - smallmargin * 2.0f - fontmargin * 6.0f); menu_inventorylistview->set_location(fontmargin, fontmargin * 3.0f); - menu_inventorylabel->set_size(menu_inventorylistview->width(), fontmargin); - menu_inventorylabel->set_location(menu_inventorylistview->left(), menu_inventorylistview->bottom() + fontmargin); + menu_inventorytext->set_size(menu_inventorylistview->width(), fontmargin); + menu_inventorytext->set_location(menu_inventorylistview->left(), menu_inventorylistview->bottom() + fontmargin); // resize modelview menu_modelview->set_size(menu_tradewindow->width() - 2.0f * ui::UI::elementsize.width() - fontmargin * 4.0f, ui::UI::elementsize.width()); @@ -229,8 +226,8 @@ void TradeMenu::resize() menu_traderlistview->set_size(ui::UI::elementsize.width(), menu_tradewindow->height() - smallmargin * 2.0f - fontmargin * 6.0f); menu_traderlistview->set_location(menu_tradewindow->width() - menu_traderlistview->width() - fontmargin, fontmargin * 3.0f); - menu_traderlabel->set_size(menu_traderlistview->width(), fontmargin); - menu_traderlabel->set_location(menu_traderlistview->left(), menu_traderlistview->bottom() + fontmargin); + menu_tradertext->set_size(menu_traderlistview->width(), fontmargin); + menu_tradertext->set_location(menu_traderlistview->left(), menu_traderlistview->bottom() + fontmargin); // resize close button menu_closebutton->set_size(ui::UI::elementsize); @@ -250,10 +247,16 @@ bool TradeMenu::on_emit(Widget *sender, const Event event, void *data) void TradeMenu::draw() { std::stringstream str; - str << "Credits: " << core::localplayer()->credits(); - menu_inventorylabel->set_text(str.str()); + str << "Credit: " << std::setw(8) << core::localplayer()->credits(); + + if (core::localcontrol() && core::localcontrol()->inventory()) { + core::Inventory *inventory = core::localcontrol()->inventory(); + str << '\n'; + str << "Cargo: " << std::setprecision(2) << std::setw(6) << inventory->capacity_used() << " of " << inventory->capacity(); + } + menu_inventorytext->set_text(str.str()); Window::draw(); } -} +} // namespace client -- cgit v1.2.3