Example #1
0
        protected override GuiSize DoArrange(GuiSize arrangeSize)
        {
            GuiMinMax mm = new GuiMinMax(this);

            arrangeSize.Width  = Math.Max(mm.minWidth, Math.Min(arrangeSize.Width, mm.maxWidth));
            arrangeSize.Height = Math.Max(mm.minHeight, Math.Min(arrangeSize.Height, mm.maxHeight));

            if (Childs != null && Childs.Count > 0)
            {
                int offsetY    = 0;
                int childLeft  = Childs.Count;
                int heightLeft = arrangeSize.Height;
                foreach (var child in Childs)
                {
                    int childHeight = child.DesiredSize.Height;
                    //if (childLeft > 1)
                    //{
                    //    childHeight = heightLeft / childLeft;
                    //}
                    //else
                    //{
                    //    childHeight = heightLeft;
                    //}
                    GuiRect childRect = new GuiRect(FinalRect.X + Margin.Left, FinalRect.Y + Margin.Top + offsetY, arrangeSize.Width, childHeight);
                    child.Arrange(childRect);
                    offsetY    += childHeight;
                    heightLeft -= childHeight;
                    childLeft--;
                }
            }

            return(arrangeSize);
        }
Example #2
0
        protected override GuiSize DoMeasure(GuiSize availableSize)
        {
            GuiSize frameworkAvailableSize = new GuiSize(availableSize.Width, availableSize.Height);

            GuiMinMax mm = new GuiMinMax(this);

            frameworkAvailableSize.Width  = Math.Max(mm.minWidth, Math.Min(frameworkAvailableSize.Width, mm.maxWidth));
            frameworkAvailableSize.Height = Math.Max(mm.minHeight, Math.Min(frameworkAvailableSize.Height, mm.maxHeight));

            GuiSize desiredSize = frameworkAvailableSize;// MeasureOverrideHelper(frameworkAvailableSize);

            if (Content != null)
            {
                Content.Measure(frameworkAvailableSize);
                desiredSize = Content.DesiredSize;
            }
            else
            {
                //desiredSize = new GuiSize(0, 0);
            }

            //  maximize desiredSize with user provided min size
            desiredSize = new GuiSize(
                Math.Max(desiredSize.Width, mm.minWidth),
                Math.Max(desiredSize.Height, mm.minHeight));

            return(desiredSize);
        }
Example #3
0
        protected override GuiSize DoArrange(GuiSize arrangeSize)
        {
            GuiMinMax mm = new GuiMinMax(this);

            arrangeSize.Width  = Math.Max(mm.minWidth, Math.Min(arrangeSize.Width, mm.maxWidth));
            arrangeSize.Height = Math.Max(mm.minHeight, Math.Min(arrangeSize.Height, mm.maxHeight));

            fDockPanel.Arrange(arrangeSize);

            return(arrangeSize);
        }
Example #4
0
        protected override GuiSize DoArrange(GuiSize arrangeSize)
        {
            GuiMinMax mm = new GuiMinMax(this);

            arrangeSize.Width  = Math.Max(mm.minWidth, Math.Min(arrangeSize.Width, mm.maxWidth));
            arrangeSize.Height = Math.Max(mm.minHeight, Math.Min(arrangeSize.Height, mm.maxHeight));

            if (Content != null)
            {
                Content.Arrange(arrangeSize);
            }

            return(arrangeSize);
        }
Example #5
0
        protected override GuiSize DoMeasure(GuiSize availableSize)
        {
            GuiSize   frameworkAvailableSize = new GuiSize(availableSize.Width, availableSize.Height);
            GuiMinMax mm = new GuiMinMax(this);

            frameworkAvailableSize.Width  = Math.Max(mm.minWidth, Math.Min(frameworkAvailableSize.Width, mm.maxWidth));
            frameworkAvailableSize.Height = Math.Max(mm.minHeight, Math.Min(frameworkAvailableSize.Height, mm.maxHeight));
            GuiSize desiredSize = new GuiSize(frameworkAvailableSize.Width, 0);;

            if (Childs != null && Childs.Count > 0)
            {
                int childLeft  = Childs.Count;
                int heightLeft = availableSize.Height;
                foreach (var child in Childs)
                {
                    int childHeight;
                    if (childLeft > 1)
                    {
                        childHeight = heightLeft / childLeft;
                    }
                    else
                    {
                        childHeight = heightLeft;
                    }
                    //GuiSize childSize = new GuiSize(frameworkAvailableSize.Width, 0);
                    GuiSize childSize = new GuiSize(availableSize.Width, childHeight);
                    child.Measure(childSize);
                    desiredSize.Height += child.DesiredSize.Height;
                    heightLeft         -= child.DesiredSize.Height;

                    childLeft--;
                }
            }


            //  maximize desiredSize with user provided min size
            desiredSize = new GuiSize(
                Math.Max(desiredSize.Width, mm.minWidth),
                Math.Max(desiredSize.Height, mm.minHeight));

            return(desiredSize);
        }
Example #6
0
        protected override GuiSize DoMeasure(GuiSize availableSize)
        {
            GuiSize frameworkAvailableSize = new GuiSize(availableSize.Width, availableSize.Height);

            GuiMinMax mm = new GuiMinMax(this);

            frameworkAvailableSize.Width  = Math.Max(mm.minWidth, Math.Min(frameworkAvailableSize.Width, mm.maxWidth));
            frameworkAvailableSize.Height = Math.Max(mm.minHeight, Math.Min(frameworkAvailableSize.Height, mm.maxHeight));

            GuiSize desiredSize = frameworkAvailableSize;// MeasureOverrideHelper(frameworkAvailableSize);


            fDockPanel.Measure(frameworkAvailableSize);

            //  maximize desiredSize with user provided min size
            desiredSize = new GuiSize(
                Math.Max(desiredSize.Width, mm.minWidth),
                Math.Max(desiredSize.Height, mm.minHeight));

            return(desiredSize);
        }