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>2013-11-08 17:53:54 +0000
committerStijn Buys <ingar@osirion.org>2013-11-08 17:53:54 +0000
commit995a12fca267302d267ea59cf1c7c631b9e1075f (patch)
tree41920a11a3963f0872eebb7b592259c8797c1bce /src/client/mapwindow.cc
parentbeefcbd30e5cb1b700c977090021cd4784989c1e (diff)
Updated inventory, chat, map and reputation windows.
Diffstat (limited to 'src/client/mapwindow.cc')
-rw-r--r--src/client/mapwindow.cc155
1 files changed, 91 insertions, 64 deletions
diff --git a/src/client/mapwindow.cc b/src/client/mapwindow.cc
index f12364d..6a5a6eb 100644
--- a/src/client/mapwindow.cc
+++ b/src/client/mapwindow.cc
@@ -27,68 +27,77 @@ MapWindow::MapWindow(ui::Widget *parent) : ui::Window(parent)
set_background(true);
set_font(ui::root()->font_small());
+ // ---- right pane
+ mapwindow_pane_right = new ui::Widget(this);
+ mapwindow_pane_right->set_background(true);
+ mapwindow_pane_right->set_border(true);
+
// modelview, add it first so it gets rendered before anything else
- mapwindow_modelview = new ui::ModelView(this);
+ mapwindow_modelview = new ui::ModelView(mapwindow_pane_right);
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");
- mapwindow_titlelabel->set_background(false);
- mapwindow_titlelabel->set_border(false);
- mapwindow_titlelabel->set_font(ui::root()->font_large());
- mapwindow_titlelabel->set_alignment(ui::AlignCenter);
- mapwindow_titlelabel->set_text("STAR CHART");
+ // target title
+ mapwindow_targetlabel = new ui::Label(mapwindow_pane_right);
+ mapwindow_targetlabel->set_label("targetlabel");
+ mapwindow_targetlabel->set_background(false);
+ mapwindow_targetlabel->set_border(false);
+ mapwindow_targetlabel->set_alignment(ui::AlignCenter);
- // close button
- mapwindow_closebutton = new ui::IconButton(mapwindow_titlelabel, "bitmaps/icons/window_close");
+ // info label (modelview child)
+ mapwindow_infolabel = new ui::Label(mapwindow_pane_right);
+ 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(mapwindow_pane_right, mapwindow_infotext);
+ mapwindow_scrollpane->set_background(false);
+ mapwindow_scrollpane->set_border(false);
+ mapwindow_scrollpane->set_alignment(ui::AlignTop);
+
+ // ---- left pane
+ mapwindow_pane_left = new ui::Widget(this);
+ mapwindow_pane_left->set_background(true);
+ mapwindow_pane_left->set_border(true);
// map widget
- mapwindow_mapwidget = new MapWidget(this);
+ mapwindow_mapwidget = new MapWidget(mapwindow_pane_left);
mapwindow_mapwidget->set_background(false);
mapwindow_mapwidget->set_border(false);
// galaxy map widget
- mapwindow_galaxymapwidget = new GalaxyMapWidget(this);
+ mapwindow_galaxymapwidget = new GalaxyMapWidget(mapwindow_pane_left);
mapwindow_galaxymapwidget->set_background(false);
mapwindow_galaxymapwidget->set_border(false);
mapwindow_galaxymapwidget->hide();
// map label
- mapwindow_maplabel = new ui::Label(this);
+ mapwindow_maplabel = new ui::Label(mapwindow_pane_left);
mapwindow_maplabel->set_label("maplabel");
mapwindow_maplabel->set_background(false);
mapwindow_maplabel->set_border(false);
mapwindow_maplabel->set_alignment(ui::AlignCenter);
// map buttons
- mapwindow_zonebutton = new ui::IconButton(this, "bitmaps/icons/button_map");
- mapwindow_galaxybutton = new ui::IconButton(this, "bitmaps/icons/button_galaxy");
-
-
- // 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);
+ mapwindow_zonebutton = new ui::IconButton(mapwindow_pane_left, "bitmaps/icons/button_map");
+ mapwindow_galaxybutton = new ui::IconButton(mapwindow_pane_left, "bitmaps/icons/button_galaxy");
-
+ // ---- window title
+ mapwindow_titlelabel = new ui::Label(this);
+ mapwindow_titlelabel->set_label("title");
+ mapwindow_titlelabel->set_background(false);
+ mapwindow_titlelabel->set_border(false);
+ mapwindow_titlelabel->set_font(ui::root()->font_large());
+ mapwindow_titlelabel->set_alignment(ui::AlignCenter);
+ mapwindow_titlelabel->set_text("STAR CHART");
- // 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);
+ // close button
+ mapwindow_closebutton = new ui::IconButton(mapwindow_titlelabel, "bitmaps/icons/window_close");
- // target text
- mapwindow_scrollpane = new ui::ScrollPane(this, mapwindow_infotext);
- mapwindow_scrollpane->set_background(false);
- mapwindow_scrollpane->set_border(false);
- mapwindow_scrollpane->set_alignment(ui::AlignTop);
+
hide();
}
@@ -149,43 +158,61 @@ void MapWindow::resize()
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 label
- mapwindow_maplabel->set_size((width() - padding * 3.0f) * 0.5f, font()->height() );
- mapwindow_maplabel->set_location(padding, mapwindow_titlelabel->bottom() + padding);
+ // resize left pane
+ mapwindow_pane_left->set_size((width() - padding * 3.0f) * 0.5f, height() - mapwindow_titlelabel->bottom() - 2.0f * padding);
+ mapwindow_pane_left->set_location(padding, mapwindow_titlelabel->bottom() + padding);
- // resize zone map widget
- mapwindow_mapwidget->set_size(mapwindow_maplabel->width(), mapwindow_zonebutton->top() - mapwindow_maplabel->bottom() - 2.0f * padding);
- mapwindow_mapwidget->set_location(mapwindow_maplabel->left(), mapwindow_maplabel->bottom() + padding);
+ {
+ const ui::Widget *pane = mapwindow_pane_left;
+ const float margin_horizontal = pane->font()->width();
+ const float margin_vertical = pane->font()->height() * 0.5f;
+
+ // resize map label
+ mapwindow_maplabel->set_size(pane->width() - 2.0f * margin_horizontal, mapwindow_maplabel->font()->height());
+ mapwindow_maplabel->set_location(margin_horizontal, margin_vertical);
+
+ // resize zone map widget
+ mapwindow_mapwidget->set_size(pane->width() - 2.0f * margin_horizontal, pane->height() - mapwindow_maplabel->bottom() - margin_vertical * 4.0f - icon_size);
+ mapwindow_mapwidget->set_location(margin_horizontal, mapwindow_maplabel->bottom() + margin_vertical);
- // set galaxy map size equal to zone map size
- mapwindow_galaxymapwidget->set_geometry(mapwindow_mapwidget->location(), mapwindow_mapwidget->size());
+ // set galaxy map size equal to zone map size
+ mapwindow_galaxymapwidget->set_geometry(mapwindow_mapwidget->location(), mapwindow_mapwidget->size());
- // resize map buttons
- float l = (mapwindow_mapwidget->width() - math::min(mapwindow_mapwidget->width(), mapwindow_mapwidget->height())) * 0.5f;
+ // resize map buttons
+ float l = (mapwindow_mapwidget->width() - math::min(mapwindow_mapwidget->width(), mapwindow_mapwidget->height())) * 0.5f;
- mapwindow_zonebutton->set_size(icon_size, icon_size);
- mapwindow_zonebutton->set_location(mapwindow_maplabel->left() + l, height() - padding - mapwindow_zonebutton->height());
+ mapwindow_zonebutton->set_size(icon_size, icon_size);
+ mapwindow_zonebutton->set_location(mapwindow_maplabel->left() + l, mapwindow_mapwidget->bottom() + margin_vertical);
- mapwindow_galaxybutton->set_size(icon_size, icon_size);
- mapwindow_galaxybutton->set_location(mapwindow_maplabel->right() - l - mapwindow_galaxybutton->width(),
- height() - padding - mapwindow_galaxybutton->height());
+ mapwindow_galaxybutton->set_size(icon_size, icon_size);
+ mapwindow_galaxybutton->set_location(mapwindow_maplabel->right() - l - icon_size, mapwindow_mapwidget->bottom() + margin_vertical);
+ }
+ // resize right pane
+ mapwindow_pane_right->set_size(mapwindow_pane_left->size());
+ mapwindow_pane_right->set_location(mapwindow_pane_left->right() + padding, mapwindow_titlelabel->bottom() + padding);
+
+ {
+ const ui::Widget *pane = mapwindow_pane_right;
+ const float margin_horizontal = pane->font()->width();
+ const float margin_vertical = pane->font()->height() * 0.5f;
- // resize target label
- mapwindow_targetlabel->set_size(width() - mapwindow_mapwidget->right() - padding * 2.0f, font()->height());
- mapwindow_targetlabel->set_location(mapwindow_maplabel->right() + padding, mapwindow_maplabel->top());
+ // resize target label
+ mapwindow_targetlabel->set_size(pane->width() - margin_horizontal * 2.0f, mapwindow_targetlabel->font()->height());
+ mapwindow_targetlabel->set_location(margin_horizontal, margin_vertical);
+
+ // resize info label
+ mapwindow_infolabel->set_size(pane->width() - margin_horizontal * 2.0f, mapwindow_infolabel->font()->height());
+ mapwindow_infolabel->set_location(margin_horizontal, pane->height() * 0.5f);
- // 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 target modelview
+ mapwindow_modelview->set_size(mapwindow_targetlabel->width(), mapwindow_infolabel->top() - mapwindow_targetlabel->bottom() - margin_vertical * 2.0f);
+ mapwindow_modelview->set_location(margin_horizontal, mapwindow_targetlabel->bottom() + margin_vertical);
- // 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());
- mapwindow_scrollpane->set_location(mapwindow_modelview->left(), mapwindow_modelview->bottom() + padding);
+ // resize target info text
+ mapwindow_scrollpane->set_size(mapwindow_infolabel->width(), pane->height() - mapwindow_infolabel->bottom() - margin_vertical * 2.0f);
+ mapwindow_scrollpane->set_location(mapwindow_modelview->left(), mapwindow_infolabel->bottom() + margin_vertical);
+ }
}
void MapWindow::draw()