42 GUITableRowNode::GUITableRowNode(
52 const string& backgroundImage,
54 const GUIColor& backgroundImageEffectColorMul,
55 const GUIColor& backgroundImageEffectColorAdd,
62 GUIParentNode(screenNode, parentNode, id, flow, overflowX, overflowY, alignments, requestedConstraints, backgroundColor, backgroundImage, backgroundImageScale9Grid, backgroundImageEffectColorMul, backgroundImageEffectColorAdd, border, padding, showOn, hideOn, tooltip)
79 for (
auto i = 0; i <
subNodes.size(); i++) {
81 if (guiSubNode->conditionsMet ==
false)
continue;
85 width += guiSubNode->getAutoWidth();
95 for (
auto i = 0; i <
subNodes.size(); i++) {
97 if (guiSubNode->conditionsMet ==
false)
continue;
101 auto contentHeight = guiSubNode->getAutoHeight();
102 if (contentHeight > height) {
103 height = contentHeight;
118 for (
auto guiTableNowChild: guiTableNode->
subNodes) {
119 if (
this == guiTableNowChild)
break;
128 auto finalNodesWidth = 0;
129 for (
auto i = 0; i <
subNodes.size(); i++) {
131 if (guiSubNode->conditionsMet ==
false)
continue;
138 nodesWidth += guiSubNode->computedConstraints.width;
139 finalNodesWidth += guiSubNode->computedConstraints.width;
143 auto horizontalStarPixelRest = 0.0f;
144 for (
auto i = 0; i <
subNodes.size(); i++) {
146 if (guiSubNode->conditionsMet ==
false)
continue;
151 guiSubNode->requestedConstraints.width = tableCellMaxWidth;
152 guiSubNode->computedConstraints.width = tableCellMaxWidth;
153 finalNodesWidth += guiSubNode->computedConstraints.width;
157 guiSubNode->requestedConstraints.height = tableCellMaxHeight;
158 guiSubNode->computedConstraints.height = tableCellMaxHeight;
162 required_dynamic_cast<GUIParentNode*>(guiSubNode)->layoutSubNodes();
167 for (
auto i = 0; i <
subNodes.size(); i++) {
169 if (guiSubNode->conditionsMet ==
false)
continue;
174 for (
auto i = 0; i <
subNodes.size(); i++) {
176 if (guiSubNode->conditionsMet ==
false)
continue;
177 guiSubNode->computedConstraints.alignmentLeft = Math::max(0,
border.
left +
padding.
left + ((width - finalNodesWidth) / 2));
181 for (
auto i = 0; i <
subNodes.size(); i++) {
183 if (guiSubNode->conditionsMet ==
false)
continue;
184 guiSubNode->computedConstraints.alignmentLeft = Math::max(0, (width - finalNodesWidth));
191 for (
auto i = 0; i <
subNodes.size(); i++) {
193 guiSubNode->computeContentAlignment();
204 for (
auto i = 0; i <
subNodes.size(); i++) {
206 if (guiSubNode->conditionsMet ==
false)
continue;
207 guiSubNode->setTop(top);
209 top += guiSubNode->computedConstraints.height;
218 for (
auto i = 0; i <
subNodes.size(); i++) {
220 if (guiSubNode->conditionsMet ==
false)
continue;
221 guiSubNode->setLeft(left);
225 left += guiSubNode->computedConstraints.width;
GUI element node conditions.
GUI node horizontal alignment enum.
static STATIC_DLL_IMPEXT GUINode_AlignmentHorizontal * RIGHT
static STATIC_DLL_IMPEXT GUINode_AlignmentHorizontal * CENTER
static STATIC_DLL_IMPEXT GUINode_AlignmentHorizontal * LEFT
GUI node vertical alignment enum.
static STATIC_DLL_IMPEXT GUINode_Flow * FLOATING
GUI node requested constraints requested constraints type enum.
static STATIC_DLL_IMPEXT GUINode_RequestedConstraints_RequestedConstraintsType * TABLECELL
static STATIC_DLL_IMPEXT GUINode_RequestedConstraints_RequestedConstraintsType * STAR
static STATIC_DLL_IMPEXT GUINode_RequestedConstraints_RequestedConstraintsType * NONE
static STATIC_DLL_IMPEXT GUINode_RequestedConstraints_RequestedConstraintsType * PIXEL
static STATIC_DLL_IMPEXT GUINode_RequestedConstraints_RequestedConstraintsType * AUTO
static GUINode_RequestedConstraints_RequestedConstraintsType * getRequestedConstraintsType(const string &constraint, GUINode_RequestedConstraints_RequestedConstraintsType *defaultConstraintsType)
Get requested constraints type.
virtual void setLeft(int left)
Set computed left.
GUIParentNode * parentNode
GUINode_ComputedConstraints computedConstraints
virtual void setTop(int top)
Set computed top.
GUINode_RequestedConstraints requestedConstraints
GUINode_Alignments alignments
static int getRequestedConstraintsValue(const string &constraint, int defaultConstraintsValue)
Get requested constraints value.
GUI parent node overflow enum.
GUI parent node base class thats supporting child nodes.
virtual void layoutSubNodes()
Layout sub nodes.
vector< GUINode * > subNodes
virtual void computeVerticalChildrenAlignment()
Compute vertical children alignment.
GUI screen node that represents a screen that can be rendered via GUI system.
int getTableCellMaxHeight(int y)
int getTableCellMaxWidth(int x)
const string getNodeType() override
int getContentWidth() override
int getContentHeight() override
void setTop(int top) override
Set computed top.
void setLeft(int left) override
Set computed left.
bool isContentNode() override
static GUINode_RequestedConstraints createRequestedConstraints(const string &left, const string &top, const string &width, const string &height, int factor)
Create requested constraints.
void layoutSubNodes() override
Layout sub nodes.
GUINode_AlignmentHorizontal * horizontal
GUI node computed constraints.
GUI node requested constraints entity.
GUINode_RequestedConstraints_RequestedConstraintsType * topType
GUINode_RequestedConstraints_RequestedConstraintsType * widthType
GUINode_RequestedConstraints_RequestedConstraintsType * leftType
GUINode_RequestedConstraints_RequestedConstraintsType * heightType
GUI node scale 9 grid entity.