diff options
| author | Stijn Buys <ingar@osirion.org> | 2010-09-19 19:44:13 +0000 | 
|---|---|---|
| committer | Stijn Buys <ingar@osirion.org> | 2010-09-19 19:44:13 +0000 | 
| commit | cc18095cded14f5e7e3f049e47fca2224134b647 (patch) | |
| tree | 2a057f4836925083a19988d571dc0664925c9e48 /src/client/trademenu.cc | |
| parent | badfb31888a6bd62e0a019b3f3dec517df4121ec (diff) | |
text rendering cleanups, inventory capacity & cargo volume
Diffstat (limited to 'src/client/trademenu.cc')
| -rw-r--r-- | src/client/trademenu.cc | 67 | 
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 | 
