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>2011-08-04 21:09:45 +0000
committerStijn Buys <ingar@osirion.org>2011-08-04 21:09:45 +0000
commit85dccc86bb76ff9e81d92e311da4110d223c7e23 (patch)
treea8e31170858c54fe849515e0ab6f6873afa2cf60 /src/client/trademenu.cc
parentc21cbc3f7b9ac6f9e04fb09fa04ee483dd71a82b (diff)
Added provisionary close button to map, inventory and trade window,
always show the trade window buy button, disable it if approriate.
Diffstat (limited to 'src/client/trademenu.cc')
-rw-r--r--src/client/trademenu.cc30
1 files changed, 17 insertions, 13 deletions
diff --git a/src/client/trademenu.cc b/src/client/trademenu.cc
index d86a04a..c762867 100644
--- a/src/client/trademenu.cc
+++ b/src/client/trademenu.cc
@@ -59,6 +59,9 @@ TradeMenu::TradeMenu(ui::Widget *parent, const char * label) : ui::Window(parent
menu_namelabel->set_alignment(ui::AlignCenter);
menu_namelabel->show();
+ // close button
+ menu_closebutton = new ui::IconButton(menu_namelabel, "bitmaps/icons/window_close");
+
menu_inventorylistview = new InventoryListView(menu_tradewindow);
menu_inventorylistview->set_label("inventorylistview");
//menu_inventorylistview->set_background(false);
@@ -87,8 +90,6 @@ TradeMenu::TradeMenu(ui::Widget *parent, const char * label) : ui::Window(parent
menu_tradertext->set_border(true);
menu_tradertext->set_font(ui::root()->font_small());
- menu_closebutton = new ui::Button(menu_tradewindow, "Return", "view hide");
- menu_closebutton->hide();
menu_buybutton = new ui::Button(menu_tradewindow, "Buy");
menu_listitem = 0;
@@ -144,7 +145,7 @@ void TradeMenu::set_item(ui::ListItem *item)
menu_slider->hide();
menu_buybutton->set_command("");
- menu_buybutton->hide(); // FIXME enable/disable button
+ menu_buybutton->disable();
if (item != menu_listitem) {
menu_slider->set_range(0, 2);
@@ -175,6 +176,8 @@ void TradeMenu::set_item(ui::ListItem *item)
if (item->parent() == menu_inventorylistview) {
+ menu_buybutton->set_text("Sell");
+
// item in ship inventory selected (SELL)
menu_traderlistview->deselect();
@@ -191,11 +194,7 @@ void TradeMenu::set_item(ui::ListItem *item)
std::ostringstream commandstr;
commandstr << "remote sell " << item->info()->type()->label() << " " << item->info()->label() << " " << amount;
menu_buybutton->set_command(commandstr.str());
-
- menu_buybutton->set_text("Sell");
-
menu_buybutton->enable();
- menu_buybutton->show();
}
if (amount < 1) {
@@ -217,6 +216,8 @@ void TradeMenu::set_item(ui::ListItem *item)
} else if (item->parent() == menu_traderlistview) {
+ menu_buybutton->set_text("Buy");
+
// item in trader inventory selected (BUY)
menu_inventorylistview->deselect();
@@ -239,10 +240,7 @@ void TradeMenu::set_item(ui::ListItem *item)
commandstr << "remote buy " << item->info()->type()->label() << " " << item->info()->label() << " " << amount;
menu_buybutton->set_command(commandstr.str());
- menu_buybutton->set_text("Buy");
-
menu_buybutton->enable();
- menu_buybutton->show();
}
if (amount < 1) {
@@ -291,6 +289,10 @@ void TradeMenu::resize()
menu_namelabel->set_size(menu_tradewindow->width() - fontmargin * 2.0f, menu_namelabel->font()->height());
menu_namelabel->set_location(fontmargin, fontmargin);
+ // resize close button
+ menu_closebutton->set_size(menu_namelabel->font()->height(), menu_namelabel->font()->height());
+ menu_closebutton->set_location(menu_namelabel->width() - menu_closebutton->width(), 0);
+
// resize player inventory text
menu_inventorytext->set_size(
ui::UI::elementsize.width(),
@@ -362,9 +364,6 @@ void TradeMenu::resize()
fontmargin * 2.0f + ui::UI::elementsize.width(),
menu_buybutton->bottom() + fontmargin
);
-
- //menu_closebutton->set_size(ui::UI::elementsize);
- //menu_closebutton->set_location(menu_tradewindow->width() * 0.5f + smallmargin * 2.0f, menu_tradewindow->height() - smallmargin * 1.5f);
}
bool TradeMenu::on_emit(Widget *sender, const Event event, void *data)
@@ -387,6 +386,11 @@ bool TradeMenu::on_emit(Widget *sender, const Event event, void *data)
set_item(menu_inventorylistview->selected());
}
return true;
+ } else if (event == ui::Widget::EventButtonClicked) {
+ if (sender == menu_closebutton) {
+ hide();
+ }
+ return true;
}
return ui::Window::on_emit(sender, event, data);