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-19 19:44:13 +0000
committerStijn Buys <ingar@osirion.org>2010-09-19 19:44:13 +0000
commitcc18095cded14f5e7e3f049e47fca2224134b647 (patch)
tree2a057f4836925083a19988d571dc0664925c9e48 /src/client/trademenu.cc
parentbadfb31888a6bd62e0a019b3f3dec517df4121ec (diff)
text rendering cleanups, inventory capacity & cargo volume
Diffstat (limited to 'src/client/trademenu.cc')
-rw-r--r--src/client/trademenu.cc67
1 files changed, 35 insertions, 32 deletions
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 <iomanip>
+
#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