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-18 18:50:55 +0000
committerStijn Buys <ingar@osirion.org>2010-09-18 18:50:55 +0000
commit9c91a9767b570fdc3c3e19e1f452f9a8257f9999 (patch)
tree9ac10114a3378134ea19dac3d7f7639532c3bf5a /src/client/trademenu.cc
parentfc4809e41bc5694231046eb2fd4c324c4daba13f (diff)
trade updates
Diffstat (limited to 'src/client/trademenu.cc')
-rw-r--r--src/client/trademenu.cc54
1 files changed, 53 insertions, 1 deletions
diff --git a/src/client/trademenu.cc b/src/client/trademenu.cc
index e96f1a6..837ee87 100644
--- a/src/client/trademenu.cc
+++ b/src/client/trademenu.cc
@@ -59,6 +59,12 @@ TradeMenu::TradeMenu(ui::Widget *parent, const char * label) : ui::Window(parent
menu_closebutton = new ui::Button(menu_tradewindow, "Return", "view hide");
+ menu_buyallbutton = new ui::Button(menu_modelview, "<<");
+ menu_buybutton = new ui::Button(menu_modelview, "<");
+ menu_sellallbutton = new ui::Button(menu_modelview, ">");
+ menu_sellbutton = new ui::Button(menu_modelview, ">>");
+
+
std::string test("test");
set_item_type(0);
@@ -74,7 +80,6 @@ void TradeMenu::set_item_type(core::InfoType *item_type)
{
// reset
menu_namelabel->set_text(0);
- menu_infotext.clear();
core::Inventory *inventory_player = 0;
core::Inventory *inventory_view = 0;
@@ -93,21 +98,55 @@ void TradeMenu::set_item_type(core::InfoType *item_type)
void TradeMenu::set_item(ui::ListItem *item)
{
+ menu_infotext.clear();
menu_namelabel->clear();
if (!item || !item->info()) {
+ menu_traderlistview->deselect();
+ menu_inventorylistview->deselect();
+
menu_scrollpane->hide();
menu_modelview->hide();
return;
}
if (item->parent() == menu_inventorylistview) {
+ menu_traderlistview->deselect();
// item in ship inventory selected (SELL)
menu_namelabel->set_text("Sell " + item->text());
+ menu_buyallbutton->hide();
+ menu_buybutton->hide();
+
+ menu_sellallbutton->show();
+ menu_sellallbutton->set_command("remote sell " + item->info()->type()->label() + " " + item->info()->label() + " -1");
+
+ menu_sellbutton->show();
+ menu_sellbutton->set_command("remote sell " + item->info()->type()->label() + " " + item->info()->label() + " 1");
+
} else if (item->parent() == menu_traderlistview) {
+ menu_inventorylistview->deselect();
// item in trader inventory selected (BUY)
menu_namelabel->set_text("Buy " + item->text());
+
+ menu_buyallbutton->show();
+ menu_buyallbutton->set_command("remote buy " + item->info()->type()->label() + " " + item->info()->label() + " -1");
+
+ menu_buybutton->show();
+ menu_buybutton->set_command("remote buy " + item->info()->type()->label() + " " + item->info()->label() + " 1; ");
+
+ menu_sellallbutton->hide();
+ menu_sellbutton->hide();
+
+ } else {
+ menu_traderlistview->deselect();
+ menu_inventorylistview->deselect();
+
+ menu_buyallbutton->hide();
+ menu_buybutton->hide();
+
+ menu_sellallbutton->hide();
+ menu_sellbutton->hide();
}
if (item->info()) {
@@ -145,6 +184,19 @@ void TradeMenu::resize()
menu_modelview->set_size(menu_tradewindow->width() - 2.0f * ui::UI::elementsize.width() - fontmargin * 4.0f, ui::UI::elementsize.width());
menu_modelview->set_location(fontmargin * 2.0f + ui::UI::elementsize.width(), fontmargin * 3.0f);
+ // resize buttons
+ menu_buyallbutton->set_size(fontmargin, fontmargin);
+ menu_buyallbutton->set_location(0, menu_modelview->height() - fontmargin);
+
+ menu_buybutton->set_size(fontmargin, fontmargin);
+ menu_buybutton->set_location(2.0f * fontmargin, menu_modelview->height() - fontmargin);
+
+ menu_sellallbutton->set_size(fontmargin, fontmargin);
+ menu_sellallbutton->set_location(menu_modelview->width() - fontmargin, menu_modelview->height() - fontmargin);
+
+ menu_sellbutton->set_size(fontmargin, fontmargin);
+ menu_sellbutton->set_location(menu_modelview->width() - 3.0f * fontmargin, menu_modelview->height() - fontmargin);
+
// resize scrollpane
menu_scrollpane->set_size(menu_tradewindow->width() - 2.0f * ui::UI::elementsize.width() - fontmargin * 4.0f, menu_inventorylistview->height() - fontmargin - ui::UI::elementsize.width());
menu_scrollpane->set_location(fontmargin * 2.0f + ui::UI::elementsize.width(), fontmargin * 4.0f + ui::UI::elementsize.width());