5#ifndef INCLUDE_FIFECHAN_WIDGETS_ADJUSTINGCONTAINER_HPP_
6#define INCLUDE_FIFECHAN_WIDGETS_ADJUSTINGCONTAINER_HPP_
10#include "fifechan/widgets/container.hpp"
83 class FIFEGUI_API AdjustingContainer :
public Container
117 virtual void setNumberOfColumns(
unsigned int numberOfColumns);
126 virtual unsigned int getNumberOfColumns()
const;
134 virtual void setColumnAlignment(
unsigned int column, Alignment alignment);
142 Alignment getColumnAlignment(
unsigned int column)
const;
147 virtual void adjustContent();
157 void resizeToContent(
bool recursion)
override;
159 void adjustSize()
override;
163 void expandContent(
bool recursion)
override;
169 void add(
Widget* widget)
override;
171 void add(
Widget* widget,
int x,
int y)
override;
173 void remove(
Widget* widget)
override;
175 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 expandContent(bool recursion) override
Expand children to occupy available space in this container.
void resizeToContent(bool recursion) override
Resize this container to fit its children.
Represents a rectangular area (X, Y, Width, Height).