diff --git a/src/main/haxework/view/layout/DefaultLayout.hx b/src/main/haxework/view/layout/DefaultLayout.hx index 395366a..6c70af6 100755 --- a/src/main/haxework/view/layout/DefaultLayout.hx +++ b/src/main/haxework/view/layout/DefaultLayout.hx @@ -7,12 +7,17 @@ import haxework.view.core.HAlign; class DefaultLayout extends Layout { override public function place(group:IGroupView, views:Array>):Void { + var width:Float = 0; + var height:Float = 0; for (view in views) { setViewWidth(group, view); setViewHeight(group, view); placeViewHorizontal(group, view); placeViewVertical(group, view); + width = Math.max(width, view.width); + height = Math.max(height, view.height); } + if (!overflow) group.setContentSize(width, height, "group"); } private function filterViews(group:IGroupView, views:Array>):Array> { diff --git a/src/main/haxework/view/popup/PopupView.hx b/src/main/haxework/view/popup/PopupView.hx index 55936d2..1dab967 100755 --- a/src/main/haxework/view/popup/PopupView.hx +++ b/src/main/haxework/view/popup/PopupView.hx @@ -62,7 +62,8 @@ class PopupView extends GroupView { public function reject(reason:Dynamic):Void { manager.close(this); if (deferred != null) { - deferred.throwError(reason); + //deferred.throwError(reason); + deferred.resolve(null); deferred = null; } } diff --git a/src/main/haxework/view/skin/GeometrySkin.hx b/src/main/haxework/view/skin/GeometrySkin.hx index 807cb3e..3816b93 100644 --- a/src/main/haxework/view/skin/GeometrySkin.hx +++ b/src/main/haxework/view/skin/GeometrySkin.hx @@ -44,6 +44,7 @@ class GeometrySkin implements ISkin> { } if (updated) { view.toUpdate(); + view.toUpdateParent(); } } } diff --git a/src/main/haxework/view/skin/LayoutSkin.hx b/src/main/haxework/view/skin/LayoutSkin.hx index 6c2569e..165b3a1 100644 --- a/src/main/haxework/view/skin/LayoutSkin.hx +++ b/src/main/haxework/view/skin/LayoutSkin.hx @@ -18,16 +18,17 @@ class LayoutSkin implements ISkin { view.layout.margin = layout.margin; updated = true; } - if (layout.hAlign != NONE && layout.hAlign != view.geometry.hAlign) { + if (layout.hAlign != NONE && layout.hAlign != view.layout.hAlign) { view.layout.hAlign = layout.hAlign; updated = true; } - if (layout.vAlign != NONE && layout.vAlign != view.geometry.vAlign) { + if (layout.vAlign != NONE && layout.vAlign != view.layout.vAlign) { view.layout.vAlign = layout.vAlign; updated = true; } if (updated) { view.toUpdate(); + view.toUpdateParent(); } } }