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/inventorywindow.cc | 89 ++++++++++++++++++++++++++----------------- 1 file changed, 53 insertions(+), 36 deletions(-) (limited to 'src/client/inventorywindow.cc') diff --git a/src/client/inventorywindow.cc b/src/client/inventorywindow.cc index 2d8ac91..5ffee72 100644 --- a/src/client/inventorywindow.cc +++ b/src/client/inventorywindow.cc @@ -23,36 +23,34 @@ InventoryWindow::InventoryWindow(ui::Widget *parent) : ui::Window(parent) inventorywindow_inforecord = 0; inventorywindow_amount = 0; + // ---- right pane + inventorywindow_pane_right = new ui::Widget(this); + inventorywindow_pane_right->set_background(true); + inventorywindow_pane_right->set_border(true); + // modelview, add it first so it gets rendered before anything else - inventorywindow_modelview = new ui::ModelView(this); + inventorywindow_modelview = new ui::ModelView(inventorywindow_pane_right); inventorywindow_modelview->set_label("modelview"); inventorywindow_modelview->set_background(false); inventorywindow_modelview->set_border(false); - // window title - inventorywindow_titlelabel = new ui::Label(this); - inventorywindow_titlelabel->set_label("title"); - inventorywindow_titlelabel->set_background(false); - inventorywindow_titlelabel->set_border(false); - inventorywindow_titlelabel->set_font(ui::root()->font_large()); - inventorywindow_titlelabel->set_alignment(ui::AlignCenter); - inventorywindow_titlelabel->set_text("INVENTORY"); - - // close button - inventorywindow_closebutton = new ui::IconButton(inventorywindow_titlelabel, "bitmaps/icons/window_close"); - - inventorywindow_modeltitlelabel = new ui::Label(inventorywindow_modelview); + // title label + inventorywindow_modeltitlelabel = new ui::Label(inventorywindow_pane_right); inventorywindow_modeltitlelabel->set_background(false); inventorywindow_modeltitlelabel->set_border(false); - //inventorywindow_modeltitlelabel->set_font(ui::root()->font_large()); inventorywindow_modeltitlelabel->set_alignment(ui::AlignCenter); - inventorywindow_modelnamelabel = new ui::Label(inventorywindow_modelview); + // model label + inventorywindow_modelnamelabel = new ui::Label(inventorywindow_pane_right); inventorywindow_modelnamelabel->set_background(false); inventorywindow_modelnamelabel->set_border(false); - //inventorywindow_modelnamelabel->set_font(ui::root()->font_large()); inventorywindow_modelnamelabel->set_alignment(ui::AlignCenter); + inventorywindow_scrollpane = new ui::ScrollPane(inventorywindow_pane_right, inventorywindow_infotext); + inventorywindow_scrollpane->set_background(false); + inventorywindow_scrollpane->set_border(false); + inventorywindow_scrollpane->set_alignment(ui::AlignTop); + inventorywindow_listview = new ui::ListView(this); inventorywindow_listview->set_label("listview"); //inventorywindow_listview->set_background(true); @@ -64,20 +62,29 @@ InventoryWindow::InventoryWindow(ui::Widget *parent) : ui::Window(parent) inventorywindow_inventorytext->set_border(true); inventorywindow_inventorytext->set_font(ui::root()->font_small()); - inventorywindow_scrollpane = new ui::ScrollPane(this, inventorywindow_infotext); - inventorywindow_scrollpane->set_background(false); - inventorywindow_scrollpane->set_border(false); - inventorywindow_scrollpane->set_alignment(ui::AlignTop); - inventorywindow_shipbutton = new ui::IconButton(this, "bitmaps/icons/button_ship"); inventorywindow_ejectbutton = new ui::IconButton(this, "bitmaps/icons/button_eject"); //inventorywindow_mountbutton = new ui::IconButton(this, "bitmaps/icons/button_mount"); + // window title + inventorywindow_titlelabel = new ui::Label(this); + inventorywindow_titlelabel->set_label("title"); + inventorywindow_titlelabel->set_background(false); + inventorywindow_titlelabel->set_border(false); + inventorywindow_titlelabel->set_font(ui::root()->font_large()); + inventorywindow_titlelabel->set_alignment(ui::AlignCenter); + inventorywindow_titlelabel->set_text("INVENTORY"); + + // close button + inventorywindow_closebutton = new ui::IconButton(inventorywindow_titlelabel, "bitmaps/icons/window_close"); + // eject dialog inventorywindow_ejectconfirmbutton = new ui::Button(inventorywindow_scrollpane, "Eject"); inventorywindow_ejectcancelbutton = new ui::Button(inventorywindow_scrollpane, "Cancel"); inventorywindow_ejectslider = new ui::Slider(inventorywindow_scrollpane); + + hide(); } @@ -240,22 +247,32 @@ void InventoryWindow::resize() inventorywindow_ejectbutton->set_size(icon_size, icon_size); inventorywindow_ejectbutton->set_location(inventorywindow_inventorytext->right() - icon_size, height() - icon_size - padding); - // resize modelview - inventorywindow_modelview->set_size( width() - inventorywindow_inventorytext->right() - padding * 2.0f ,ui::UI::elementsize.width()); - inventorywindow_modelview->set_location(inventorywindow_inventorytext->right() + padding, inventorywindow_inventorytext->top()); + // resize right pane + inventorywindow_pane_right->set_size(width() - inventorywindow_listview->right() - 2.0f * padding, height() - inventorywindow_titlelabel->bottom() - padding * 2.0f); + inventorywindow_pane_right->set_location(inventorywindow_listview->right() + padding, inventorywindow_titlelabel->bottom() + padding); + + { + const ui::Widget *pane = inventorywindow_pane_right; + const float margin_horizontal = pane->font()->width(); + const float margin_vertical = pane->font()->height() * 0.5f; + + // resize target label + inventorywindow_modelnamelabel->set_size(pane->width() - margin_horizontal * 2.0f, inventorywindow_modelnamelabel->font()->height()); + inventorywindow_modelnamelabel->set_location(margin_horizontal, margin_vertical); + + // resize info label + inventorywindow_modeltitlelabel->set_size(pane->width() - margin_horizontal * 2.0f, inventorywindow_modeltitlelabel->font()->height()); + inventorywindow_modeltitlelabel->set_location(margin_horizontal, pane->height() * 0.5f); - // modelview title label - inventorywindow_modelnamelabel->set_location(0, 0); - inventorywindow_modelnamelabel->set_size(inventorywindow_modelview->width(), inventorywindow_modelnamelabel->font()->height()); + // resize target modelview + inventorywindow_modelview->set_size(inventorywindow_modelnamelabel->width(), inventorywindow_modeltitlelabel->top() - inventorywindow_modelnamelabel->bottom() - margin_vertical * 2.0f); + inventorywindow_modelview->set_location(margin_horizontal, inventorywindow_modelnamelabel->bottom() + margin_vertical); - // modelview name label - inventorywindow_modeltitlelabel->set_size(inventorywindow_modelview->width(), inventorywindow_modeltitlelabel->font()->height()); - inventorywindow_modeltitlelabel->set_location(0, inventorywindow_modelview->height() - inventorywindow_modeltitlelabel->height()); + // resize target info text + inventorywindow_scrollpane->set_size(inventorywindow_modeltitlelabel->width(), pane->height() - inventorywindow_modeltitlelabel->bottom() - margin_vertical * 2.0f); + inventorywindow_scrollpane->set_location(inventorywindow_modelview->left(), inventorywindow_modeltitlelabel->bottom() + margin_vertical); + } - // resize infotext - inventorywindow_scrollpane->set_size(inventorywindow_modelview->width(), height() - inventorywindow_modelview->bottom() - 2.0f * padding); - inventorywindow_scrollpane->set_location(inventorywindow_modelview->left(), inventorywindow_modelview->bottom() + padding); - // eject dialog buttons inventorywindow_ejectslider->set_size( inventorywindow_scrollpane->width() - ui::UI::elementsize.width(), @@ -263,7 +280,7 @@ void InventoryWindow::resize() ); inventorywindow_ejectslider->set_location( (inventorywindow_scrollpane->width() - inventorywindow_ejectslider->width()) * 0.5f, - 0 + 0.0f ); inventorywindow_ejectconfirmbutton->set_size(ui::UI::elementsize); inventorywindow_ejectconfirmbutton->set_location( -- cgit v1.2.3