7 template <
typename Derived>
13 Derived& this_ = *
static_cast<Derived*
>(
this);
21 Derived& this_ = *
static_cast<Derived*
>(
this);
22 this_.
widget().children.insert(this_.widget().children.begin(),
child);
35 Derived& this_ = *
static_cast<Derived*
>(
this);
36 this_.
widget().children.insert(
44 Derived& this_ = *
static_cast<Derived*
>(
this);
52 Derived& this_ = *
static_cast<Derived*
>(
this);
60 Derived& this_ = *
static_cast<Derived*
>(
this);
61 return this_.widget().children.at(i);
105 using NoValueMixin::NoValueMixin;
112 using NoValueMixin::NoValueMixin;
116 public NoValueMixin<SimpleGridLayout, SimpleGridLayoutBuilder>,
120 using NoValueMixin::NoValueMixin;
141 SimpleGridLayoutSpanningChildPtr
c =
new SimpleGridLayoutSpanningChild;
142 c->children.emplace_back(
child);
143 c->columns = colspan;
184 return addChild(
new HLine, colspan);
192 return addChild(
new VLine, colspan);
209 this->
widget().collapsed = isCollapsed;
217 using NoValueMixin::NoValueMixin;
220 addChild(WidgetPtr
const& child,
int row,
int col,
int spanRow = 1,
int spanCol = 1)
222 this->
widget().children.emplace_back(child);
223 this->
widget().childrenLayoutInfo.push_back({row, col, spanRow, spanCol});
228 addTextLabel(std::string
const& text,
int row,
int col,
int spanRow = 1,
int spanCol = 1)
234 addHSpacer(
int row,
int col,
int spanRow = 1,
int spanCol = 1)
240 addVSpacer(
int row,
int col,
int spanRow = 1,
int spanCol = 1)
252 addHLine(
int row,
int col,
int spanRow = 1,
int spanCol = 1)
254 return addChild(
new HLine, row, col, spanRow, spanCol);
258 addVLine(
int row,
int col,
int spanRow = 1,
int spanCol = 1)
260 return addChild(
new VLine, row, col, spanRow, spanCol);
267 inline detail::HBoxLayoutBuilder
273 inline detail::SimpleGridLayoutBuilder
279 inline detail::GridLayoutBuilder
285 inline detail::VBoxLayoutBuilder
291 inline detail::GroupBoxBuilder
int Label(int n[], int size, int *curLabel, MiscLib::Vector< std::pair< int, size_t > > *labels)
detail::VBoxLayoutBuilder makeVBoxLayout(std::string const &name="")
ValueVariant makeValue(bool value)
detail::HBoxLayoutBuilder makeHBoxLayout(std::string const &name="")
detail::GridLayoutBuilder makeGridLayout(std::string const &name="")
detail::SimpleGridLayoutBuilder makeSimpleGridLayout(std::string const &name="")
detail::GroupBoxBuilder makeGroupBox(std::string const &name="")
Derived & prependChild(WidgetPtr const &child)
Derived & addEmptyWidget()
Derived & addChildren(std::vector< WidgetPtr > const &children)
Derived & addChild(WidgetPtr const &child)
const WidgetPtr & child(std::size_t i)
Derived & addTextLabel(std::string const &text)
Derived & appendChild(WidgetPtr const &child)
SimpleGridLayoutBuilder & children(std::vector< WidgetPtr > const &children)
SimpleGridLayoutBuilder & child(WidgetPtr const &child)
GridLayoutBuilder & addHSpacer(int row, int col, int spanRow=1, int spanCol=1)
GridLayoutBuilder & addChild(WidgetPtr const &child, int row, int col, int spanRow=1, int spanCol=1)
GridLayoutBuilder & addTextLabel(std::string const &text, int row, int col, int spanRow=1, int spanCol=1)
GridLayoutBuilder & addHLine(int row, int col, int spanRow=1, int spanCol=1)
GridLayoutBuilder & addVSpacer(int row, int col, int spanRow=1, int spanCol=1)
GridLayoutBuilder & addVLine(int row, int col, int spanRow=1, int spanCol=1)
GridLayoutBuilder & addEmptyWidget(int row, int col, int spanRow=1, int spanCol=1)
GroupBoxBuilder & collapsed(bool isCollapsed=true)
GroupBoxBuilder(const std::string &name)
GroupBoxBuilder & label(std::string const &label)
SimpleGridLayoutBuilder & columns(int n)
SimpleGridLayoutBuilder & addTextLabel(std::string const &text, int colspan)
SimpleGridLayoutBuilder & cols(int n)
SimpleGridLayoutBuilder & addHSpacer(int colspan)
SimpleGridLayoutBuilder & addChild(WidgetPtr const &child, int colspan)
SimpleGridLayoutBuilder & addHLine(int colspan)
SimpleGridLayoutBuilder & addEmptyWidget(int colspan)
ChildrenMixin< SimpleGridLayoutBuilder > Base
SimpleGridLayoutBuilder & addVLine(int colspan)
SimpleGridLayoutBuilder & addVSpacer(int colspan)