29 #ifndef Pt_Forms_GridLayout_H
30 #define Pt_Forms_GridLayout_H
32 #include <Pt/Forms/Api.h>
33 #include <Pt/Forms/Layout.h>
39 class PT_FORMS_API GridLayout :
public Layout
49 explicit GridLayout(Orientation o = Vertical, std::size_t span = 0);
51 virtual ~GridLayout();
53 void setOrientation(Orientation o, std::size_t span = 0);
55 void addItem(Control& control);
57 void removeItem(Control& control);
60 virtual Gfx::SizeF onMeasure(
const SizePolicy& policy);
62 virtual void onLayout(
const Gfx::RectF& rect);
65 Gfx::SizeF onMeasureVertical(
const SizePolicy& policy);
67 Gfx::SizeF onMeasureHorizontal(
const SizePolicy& policy);
69 void onLayoutVertical(
const Gfx::SizeF& itemSize,
const Gfx::RectF& rect);
71 void onLayoutHorizontal(
const Gfx::SizeF& itemSize,
const Gfx::RectF& rect);
74 Orientation _orientation;
82 #endif // include guard