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/inventorywindow.cc
parentbeefcbd30e5cb1b700c977090021cd4784989c1e (diff)
Updated inventory, chat, map and reputation windows.
Diffstat (limited to 'src/client/inventorywindow.cc')
-rw-r--r--src/client/inventorywindow.cc89
1 files changed, 53 insertions, 36 deletions
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(