GameSidePanel < UIMiniWindowContainer image-source: images/sidepanel.png image-border: 4 padding: 4 GameBottomPanel < Panel image-source: images/bottompanel.png image-border: 4 GameMapPanel < UIGameMap padding: 4 image-source: images/mappanel.png image-border: 4 UIWidget id: gameRootPanel anchors.fill: parent anchors.top: topMenu.bottom GameMapPanel id: gameMapPanel anchors.left: gameLeftPanel.right anchors.right: gameRightPanel.left anchors.top: parent.top anchors.bottom: gameBottomPanel.top focusable: false GameBottomPanel id: gameBottomPanel anchors.left: gameLeftPanel.right anchors.right: gameRightPanel.left anchors.top: bottomSplitter.top anchors.bottom: parent.bottom GameSidePanel id: gameLeftPanel width: 190 layout: verticalBox anchors.left: parent.left anchors.top: parent.top anchors.bottom: parent.bottom focusable: false GameSidePanel id: gameRightPanel layout: verticalBox anchors.left: rightSplitter.left anchors.right: parent.right anchors.top: parent.top anchors.bottom: parent.bottom focusable: false Splitter id: bottomSplitter anchors.left: gameLeftPanel.right anchors.right: gameRightPanel.left anchors.bottom: parent.bottom relative-margin: bottom margin-bottom: 172 @canUpdateMargin: function(self, newMargin) return math.max(math.min(newMargin, self:getParent():getHeight() - 300), 100) end @onGeometryChange: function(self) self:setMarginBottom(math.min(math.max(self:getParent():getHeight() - 300, 100), self:getMarginBottom())) end Splitter id: rightSplitter anchors.right: parent.right anchors.top: parent.top anchors.bottom: parent.bottom relative-margin: right margin-right: 190 enabled: false @canUpdateMargin: function(self, newMargin) return math.max(math.min(newMargin, self:getParent():getWidth() - 300), 150) end @onGeometryChange: function(self) self:setMarginRight(math.min(math.max(self:getParent():getWidth() - 300, 150), self:getMarginRight())) end UIWidget id: mouseGrabber focusable: false visible: false