From 995a12fca267302d267ea59cf1c7c631b9e1075f Mon Sep 17 00:00:00 2001 From: Stijn Buys Date: Fri, 8 Nov 2013 17:53:54 +0000 Subject: Updated inventory, chat, map and reputation windows. --- src/client/reputationwindow.cc | 42 ++++++++++++++++++++++++++++-------------- 1 file changed, 28 insertions(+), 14 deletions(-) (limited to 'src/client/reputationwindow.cc') diff --git a/src/client/reputationwindow.cc b/src/client/reputationwindow.cc index 6e5a535..f110971 100644 --- a/src/client/reputationwindow.cc +++ b/src/client/reputationwindow.cc @@ -31,15 +31,20 @@ ReputationWindow::ReputationWindow(ui::Widget *parent) : ui::Window(parent) reputationwindow_listview = new ui::ListView(this); reputationwindow_listview->set_label("listview"); - // target label - reputationwindow_targetlabel = new ui::Label(this); + // ---- right pane + reputationwindow_pane_right = new ui::Widget(this); + reputationwindow_pane_right->set_background(true); + reputationwindow_pane_right->set_border(true); + + // ---- right pane: target label + reputationwindow_targetlabel = new ui::Label(reputationwindow_pane_right); reputationwindow_targetlabel->set_label("info"); reputationwindow_targetlabel->set_background(false); reputationwindow_targetlabel->set_border(false); reputationwindow_targetlabel->set_alignment(ui::AlignCenter); - // player statistics / faction description - reputationwindow_scrollpane = new ui::ScrollPane(this, reputationwindow_infotext); + // ---- right pane: target info + reputationwindow_scrollpane = new ui::ScrollPane(reputationwindow_pane_right, reputationwindow_infotext); reputationwindow_scrollpane->set_background(false); reputationwindow_scrollpane->set_border(false); reputationwindow_scrollpane->set_alignment(ui::AlignTop); @@ -167,7 +172,6 @@ void ReputationWindow::set_info(const core::Info *info) void ReputationWindow::resize() { const float padding = ui::root()->font_large()->height(); - //const float icon_size = 24.0f; // small icons // resize label reputationwindow_titlelabel->set_size(width() - padding * 2.0f, reputationwindow_titlelabel->font()->height()); @@ -175,19 +179,29 @@ void ReputationWindow::resize() // resize close button reputationwindow_closebutton->set_size(reputationwindow_titlelabel->font()->height(), reputationwindow_titlelabel->font()->height()); - reputationwindow_closebutton->set_location(reputationwindow_titlelabel->width() - reputationwindow_closebutton->width(), 0); + reputationwindow_closebutton->set_location(reputationwindow_titlelabel->width() - reputationwindow_closebutton->width(), 0); // resize reputation listview reputationwindow_listview->set_size(ui::UI::elementsize.width(), height() - reputationwindow_titlelabel->bottom() - padding * 2.0f); reputationwindow_listview->set_location(reputationwindow_titlelabel->left(), reputationwindow_titlelabel->bottom() + padding); - - // resize reputation info label - reputationwindow_targetlabel->set_size(width() - reputationwindow_listview->right() - padding * 2.0f, reputationwindow_targetlabel->font()->height()); - reputationwindow_targetlabel->set_location(reputationwindow_listview->right() + padding,reputationwindow_titlelabel->bottom() + padding); - - // resize infotext scrollpane - reputationwindow_scrollpane->set_size(width() - reputationwindow_listview->right() - padding * 2.0f, height() - reputationwindow_targetlabel->bottom() - padding * 2.0f); - reputationwindow_scrollpane->set_location(reputationwindow_listview->right() + padding, reputationwindow_targetlabel->bottom() + padding); + + // resize right pane + reputationwindow_pane_right->set_size(width() - reputationwindow_listview->right() - padding * 2.0f, reputationwindow_listview->height()); + reputationwindow_pane_right->set_location(reputationwindow_listview->right() + padding,reputationwindow_titlelabel->bottom() + padding); + + { + const ui::Widget *pane = reputationwindow_pane_right; + const float margin_horizontal = pane->font()->width(); + const float margin_vertical = pane->font()->height() * 0.5f; + + // resize reputation info label + reputationwindow_targetlabel->set_size(pane->width() - 2.0f * margin_horizontal, reputationwindow_targetlabel->font()->height()); + reputationwindow_targetlabel->set_location(margin_horizontal, margin_vertical); + + // resize infotext scrollpane + reputationwindow_scrollpane->set_size(pane->width()- 2.0f * margin_horizontal, pane->height() - reputationwindow_targetlabel->bottom() - 2.0f * margin_vertical); + reputationwindow_scrollpane->set_location(margin_horizontal, reputationwindow_targetlabel->bottom() + margin_vertical); + } } bool ReputationWindow::on_emit(ui::Widget *sender, const Event event, void *data) -- cgit v1.2.3