diff options
author | Stijn Buys <ingar@osirion.org> | 2013-11-05 19:07:50 +0000 |
---|---|---|
committer | Stijn Buys <ingar@osirion.org> | 2013-11-05 19:07:50 +0000 |
commit | 85c5f8e91fc69c55c138b00fdc505005b2b3e932 (patch) | |
tree | 41a270893508e09e82879e9ec7ede84ddc799e39 /src/client/mapwindow.cc | |
parent | 29c26acef59a342179fd21405867ff6fee58f58e (diff) |
Show both entity and info name on map target info and inventory ship info,
moved the modelview widgets to the top of the widget stack to make sure it gets rendered behind anything else.
Diffstat (limited to 'src/client/mapwindow.cc')
-rw-r--r-- | src/client/mapwindow.cc | 38 |
1 files changed, 28 insertions, 10 deletions
diff --git a/src/client/mapwindow.cc b/src/client/mapwindow.cc index 19cf687..925f938 100644 --- a/src/client/mapwindow.cc +++ b/src/client/mapwindow.cc @@ -27,6 +27,12 @@ MapWindow::MapWindow(ui::Widget *parent) : ui::Window(parent) set_background(true); set_font(ui::root()->font_small()); + // modelview, add it first so it gets rendered before anything else + mapwindow_modelview = new ui::ModelView(this); + mapwindow_modelview->set_label("modelview"); + mapwindow_modelview->set_background(false); + mapwindow_modelview->set_border(false); + // window title mapwindow_titlelabel = new ui::Label(this); mapwindow_titlelabel->set_label("title"); @@ -60,20 +66,24 @@ MapWindow::MapWindow(ui::Widget *parent) : ui::Window(parent) // map buttons mapwindow_zonebutton = new ui::IconButton(this, "bitmaps/icons/button_map"); mapwindow_galaxybutton = new ui::IconButton(this, "bitmaps/icons/button_galaxy"); + - // modelview - mapwindow_modelview = new ui::ModelView(this); - mapwindow_modelview->set_label("modelview"); - mapwindow_modelview->set_background(false); - mapwindow_modelview->set_border(false); - - // target title (modelview child) + // target title mapwindow_targetlabel = new ui::Label(this); mapwindow_targetlabel->set_label("targetlabel"); mapwindow_targetlabel->set_background(false); mapwindow_targetlabel->set_border(false); mapwindow_targetlabel->set_alignment(ui::AlignCenter); + + + // info label (modelview child) + mapwindow_infolabel = new ui::Label(mapwindow_modelview); + mapwindow_infolabel ->set_label("infolabel"); + mapwindow_infolabel->set_background(false); + mapwindow_infolabel->set_border(false); + mapwindow_infolabel->set_alignment(ui::AlignCenter); + // target text mapwindow_scrollpane = new ui::ScrollPane(this, mapwindow_infotext); mapwindow_scrollpane->set_background(false); @@ -168,6 +178,10 @@ void MapWindow::resize() // resize target modelview mapwindow_modelview->set_size(mapwindow_targetlabel->width(), (height() - mapwindow_targetlabel->bottom() - padding * 3.0f) * 0.5f); mapwindow_modelview->set_location(mapwindow_mapwidget->right() + padding, mapwindow_targetlabel->bottom() + padding); + + // resize info label (modelview child) + mapwindow_infolabel->set_size(mapwindow_modelview->width(), mapwindow_infolabel->font()->height()); + mapwindow_infolabel->set_location(0.0f, mapwindow_modelview->height() - mapwindow_infolabel->height()); // resize target infopane text mapwindow_scrollpane->set_size(mapwindow_modelview->size()); @@ -201,16 +215,18 @@ void MapWindow::set_info(const core::Info *info) mapwindow_inforecord = 0; mapwindow_infotimestamp = 0; mapwindow_infotext.clear(); + mapwindow_infolabel->clear(); if (info) { mapwindow_inforecord = core::game()->request_info(info->id()); } if (mapwindow_inforecord) { + mapwindow_infolabel->set_text(mapwindow_inforecord->name()); for (core::Info::Text::const_iterator it = mapwindow_inforecord->text().begin(); it != mapwindow_inforecord->text().end(); it++) { mapwindow_infotext.push_back((*it)); } - mapwindow_infotimestamp = mapwindow_inforecord->timestamp(); + mapwindow_infotimestamp = mapwindow_inforecord->timestamp(); } else { mapwindow_infotext.push_back("Information is not available"); mapwindow_infotimestamp = 0; @@ -260,9 +276,11 @@ void MapWindow::show_entity_info(const core::Entity *entity) } else { set_info(0); - mapwindow_infotext.clear(); - mapwindow_targetlabel->clear(); + mapwindow_infotext.clear(); mapwindow_modelview->clear(); + + mapwindow_targetlabel->clear(); + mapwindow_infolabel->clear(); } } |