5#ifndef INCLUDE_FIFECHAN_WIDGETS_ADJUSTINGCONTAINER_HPP_
6#define INCLUDE_FIFECHAN_WIDGETS_ADJUSTINGCONTAINER_HPP_
12#include "fifechan/widgets/container.hpp"
82 class FIFEGUI_API AdjustingContainer :
public Container
116 virtual void setNumberOfColumns(
unsigned int numberOfColumns);
125 virtual unsigned int getNumberOfColumns()
const;
133 virtual void setColumnAlignment(
unsigned int column, Alignment alignment);
141 Alignment getColumnAlignment(
unsigned int column)
const;
146 virtual void adjustContent();
156 void resizeToContent(
bool recursion =
true)
override;
158 void adjustSize()
override;
162 void expandContent(
bool recursion)
override;
168 void add(
Widget* widget)
override;
170 void add(
Widget* widget,
int x,
int y)
override;
172 void remove(
Widget* widget)
override;
174 void removeAllChildren()
override;
Self-adjusting Container class.
unsigned int mNumberOfRows
Number of rows in the layout (derived from children count).
std::vector< Alignment > mColumnAlignment
The alignment of each column.
unsigned int mWidth
Cached container width used during layout.
std::vector< unsigned int > mColumnWidths
Computed width for each column (in pixels).
unsigned int mHeight
Cached container height used during layout.
std::vector< Widget * > mContainedWidgets
The widgets contained in the adjusting container in layout order.
unsigned int mNumberOfColumns
Number of columns in the layout.
Alignment
Possible alignment values for each column.
std::vector< unsigned int > mRowHeights
Computed height for each row (in pixels).
void resizeToContent(bool recursion=true) override
Resize this container to fit its children.
void expandContent(bool recursion) override
Expand children to occupy available space in this container.
Represents a rectangular area (X, Y, Width, Height).
Used replacement tokens by configure_file():