diff options
author | Stijn Buys <ingar@osirion.org> | 2011-08-04 21:09:45 +0000 |
---|---|---|
committer | Stijn Buys <ingar@osirion.org> | 2011-08-04 21:09:45 +0000 |
commit | 85dccc86bb76ff9e81d92e311da4110d223c7e23 (patch) | |
tree | a8e31170858c54fe849515e0ab6f6873afa2cf60 /src/client/mapwindow.cc | |
parent | c21cbc3f7b9ac6f9e04fb09fa04ee483dd71a82b (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/mapwindow.cc')
-rw-r--r-- | src/client/mapwindow.cc | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/src/client/mapwindow.cc b/src/client/mapwindow.cc index d6e45bc..9744062 100644 --- a/src/client/mapwindow.cc +++ b/src/client/mapwindow.cc @@ -34,6 +34,9 @@ MapWindow::MapWindow(ui::Widget *parent) : ui::Window(parent) mapwindow_titlelabel->set_alignment(ui::AlignCenter); mapwindow_titlelabel->set_text("STAR CHART"); + // close button + mapwindow_closebutton = new ui::IconButton(mapwindow_titlelabel, "bitmaps/icons/window_close"); + // map widget mapwindow_mapwidget = new MapWidget(this); mapwindow_mapwidget->set_background(false); @@ -104,6 +107,10 @@ void MapWindow::resize() // resize title label mapwindow_titlelabel->set_size(width() - padding * 2.0f, mapwindow_titlelabel->font()->height()); mapwindow_titlelabel->set_location(padding, padding); + + // resize close button + mapwindow_closebutton->set_size(mapwindow_titlelabel->font()->height(), mapwindow_titlelabel->font()->height()); + mapwindow_closebutton->set_location(mapwindow_titlelabel->width() - mapwindow_closebutton->width(), 0); // resize map widget mapwindow_mapwidget->set_size((width() - padding * 3.0f) * 0.5f, height() - mapwindow_titlelabel->bottom() - padding * 2.0f ); @@ -318,7 +325,7 @@ void MapWindow::set_target(const core::Entity *entity) { mapwindow_targetlabel->set_text(mapwindow_target->name()); if (mapwindow_target->info()) - mapwindow_inforecord = core::game()->request_info(mapwindow_target->info()->id()); + mapwindow_inforecord = core::game()->request_info(mapwindow_target->info()->id()); else mapwindow_inforecord = 0; @@ -371,4 +378,16 @@ bool MapWindow::on_keypress(const int key, const unsigned int modifier) return false; } +bool MapWindow::on_emit(Widget *sender, const Event event, void *data) +{ + if (sender == mapwindow_closebutton) { + if (event == ui::Widget::EventButtonClicked) { + hide(); + return true; + } + } + + return Window::on_emit(sender, event, data); +} + } |