2
* Copyright (C) 2003 by the Widelands Development Team
4
* This program is free software; you can redistribute it and/or
5
* modify it under the terms of the GNU General Public License
6
* as published by the Free Software Foundation; either version 2
7
* of the License, or (at your option) any later version.
9
* This program is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
* GNU General Public License for more details.
14
* You should have received a copy of the GNU General Public License
15
* along with this program; if not, write to the Free Software
16
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20
#ifndef included_ui_box_h
21
#define included_ui_box_h
27
A layouting panel that holds a number of child panels.
28
The UIPanels you add to the UIBox must be children of the UIBox.
29
The UIBox automatically resizes itself and positions the added children.
31
class UIBox : public UIPanel {
44
UIBox(UIPanel* parent, int x, int y, uint orientation);
48
int get_nritems() const { return m_items.size(); }
50
void add(UIPanel* panel, uint align);
51
void add_space(uint space);
54
void get_item_size(uint idx, int* depth, int* breadth);
55
void set_item_pos(uint idx, int pos);
77
std::vector<Item> m_items;
81
#endif // included_ui_box_h