40 lines
1.1 KiB
C#
40 lines
1.1 KiB
C#
using System;
|
|
using System.Collections;
|
|
using DevComponents.UI.ContentManager;
|
|
using System.Drawing;
|
|
|
|
namespace DevComponents.DotNetBar
|
|
{
|
|
/// <summary>
|
|
/// Represents IBlock layout manager implementation
|
|
/// </summary>
|
|
public class ItemBlockLayoutManager:BlockLayoutManager
|
|
{
|
|
/// <summary>
|
|
/// Resizes the content block and sets it's Bounds property to reflect new size.
|
|
/// </summary>
|
|
/// <param name="block">Content block to resize.</param>
|
|
public override void Layout(IBlock block, Size availableSize)
|
|
{
|
|
if(block is BaseItem)
|
|
{
|
|
BaseItem item=block as BaseItem;
|
|
if (item is ItemContainer || item.IsContainer)
|
|
{
|
|
item.SuspendLayout = true;
|
|
item.WidthInternal = availableSize.Width;
|
|
item.HeightInternal = availableSize.Height;
|
|
item.SuspendLayout = false;
|
|
}
|
|
item.RecalcSize();
|
|
item.Displayed=item.Visible;
|
|
}
|
|
}
|
|
|
|
public override Rectangle FinalizeLayout(Rectangle containerBounds, Rectangle blocksBounds, ArrayList lines)
|
|
{
|
|
return (blocksBounds);
|
|
}
|
|
}
|
|
}
|