aboutsummaryrefslogtreecommitdiffstatsci
path: root/src
diff options
context:
space:
mode:
authorjpbruyere <jp.bruyere@hotmail.com>2016-02-06 07:41:10 +0100
committerjpbruyere <jp.bruyere@hotmail.com>2016-02-06 07:41:10 +0100
commitbf2a27565631b8eaf29fd781befce937c59b43e3 (patch)
tree0639a0b07e3f406377aaa84c8abd52218a7b8ad5 /src
parent8346912e89872501308e1526ca3ac04271153bb4 (diff)
Previous commit had changes from other branch, removed
Diffstat (limited to 'src')
-rw-r--r--src/GraphicObjects/GraphicObject.cs36
1 files changed, 34 insertions, 2 deletions
diff --git a/src/GraphicObjects/GraphicObject.cs b/src/GraphicObjects/GraphicObject.cs
index 635dba9a..6f565340 100644
--- a/src/GraphicObjects/GraphicObject.cs
+++ b/src/GraphicObjects/GraphicObject.cs
@@ -565,12 +565,44 @@ namespace Crow
switch (layoutType) {
case LayoutingType.Width:
- if (Width != 0 && Parent.getBounds().Width >=0) //update position in parent
+ if (Parent.getBounds ().Width < 0) {
+ Group gw = Parent as Group;
+ if (gw != null) {
+ if (Slot.Width > gw.maxChildrenWidth)
+ gw.maxChildrenWidth = Slot.Width;
+ }
+ this.Parent.RegisterForLayouting ((int)LayoutingType.Width);
+ }else if (Width != 0) //update position in parent
this.RegisterForLayouting ((int)LayoutingType.X);
+ GenericStack gsw = Parent as GenericStack;
+ if (gsw == null)
+ break;
+ if ((Parent as GenericStack).Orientation == Orientation.Horizontal) {
+// ulong idx = (ulong)gsw.Children.IndexOf (this);
+// if (idx < gsw.stackingUpdateStartIndex)
+// gsw.stackingUpdateStartIndex = idx;
+ this.Parent.RegisterForLayouting ((int)LayoutingType.PositionChildren);
+ }
break;
case LayoutingType.Height:
- if (Height != 0 && Parent.getBounds().Height >=0) //update position in parent
+ if (Parent.getBounds ().Height < 0) {
+ Group gh = Parent as Group;
+ if (gh != null) {
+ if (Slot.Width > gh.maxChildrenHeight)
+ gh.maxChildrenHeight = Slot.Height;
+ }
+ this.Parent.RegisterForLayouting ((int)LayoutingType.Height);
+ }else if (Height != 0) //update position in parent
this.RegisterForLayouting ((int)LayoutingType.Y);
+ GenericStack gsh = Parent as GenericStack;
+ if (gsh==null)
+ break;
+ if (gsh.Orientation == Orientation.Vertical) {
+// ulong idx = (ulong)gsh.Children.IndexOf (this);
+// if (idx < gsh.stackingUpdateStartIndex)
+// gsh.stackingUpdateStartIndex = idx;
+ this.Parent.RegisterForLayouting ((int)LayoutingType.PositionChildren);
+ }
break;
}
LayoutChanged.Raise (this, new LayoutChangeEventArgs (layoutType));