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/mapwindow.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/mapwindow.cc')
-rw-r--r--src/client/mapwindow.cc21
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);
+}
+
}