fix bug in multi-level menu support

The size of framecontainer is not reset after content changed.
This commit is contained in:
Qingping Hou
2012-11-26 15:25:28 +08:00
parent 9a4d6d4a2e
commit cf3cc65c03
2 changed files with 27 additions and 6 deletions

View File

@@ -139,6 +139,7 @@ FrameContainer = WidgetContainer:new{
function FrameContainer:getSize()
local content_size = WidgetContainer.getSize(self)
return {
w = content_size.w + ( self.margin + self.bordersize + self.padding ) * 2,
h = content_size.h + ( self.margin + self.bordersize + self.padding ) * 2
@@ -393,9 +394,18 @@ function HorizontalGroup:paintTo(bb, x, y)
end
end
function HorizontalGroup:free()
function HorizontalGroup:clear()
self:free()
WidgetContainer.clear(self)
end
function HorizontalGroup:resetLayout()
self._size = nil
self._offsets = {}
end
function HorizontalGroup:free()
self:resetLayout()
WidgetContainer.free(self)
end
@@ -452,9 +462,18 @@ function VerticalGroup:paintTo(bb, x, y)
end
end
function VerticalGroup:free()
function VerticalGroup:clear()
self:free()
WidgetContainer.clear(self)
end
function VerticalGroup:resetLayout()
self._size = nil
self._offsets = {}
end
function VerticalGroup:free()
self:resetLayout()
WidgetContainer.free(self)
end