Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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);
+}
+
}