}\r
\r
private void recalculateLayout() {\r
+\r
/* Calculate space for relative size components */\r
int spaceForExpansion = calculateLayoutDimensions();\r
\r
- /* Divide expansion space between component containers */\r
- expandComponentContainers(spaceForExpansion);\r
+ if (!widgetToComponentContainer.isEmpty()) {\r
+ /* Divide expansion space between component containers */\r
+ expandComponentContainers(spaceForExpansion);\r
\r
- /* Update container sizes */\r
- calculateContainerSize();\r
+ /* Update container sizes */\r
+ calculateContainerSize();\r
+ }\r
\r
}\r
\r
private void expandComponentContainers(int spaceForExpansion) {\r
-\r
int remaining = spaceForExpansion;\r
for (ChildComponentContainer childComponentContainer : widgetToComponentContainer\r
.values()) {\r
}
// correct possible rounding error
- expandRatioArray[0] -= realSum - 1000;
+ if (expandRatioArray.length > 0) {
+ expandRatioArray[0] -= realSum - 1000;
+ }
// Add child component alignment info to layout tag
target.addAttribute("alignments", alignmentsArray);