44 lines
1.3 KiB
C#
44 lines
1.3 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Drawing;
|
|
using DevComponents.UI.ContentManager;
|
|
|
|
namespace DevComponents.DotNetBar
|
|
{
|
|
/// <summary>
|
|
/// Represents class for default layout of the BubbleButton objects.
|
|
/// </summary>
|
|
public class BubbleButtonLayoutManager:BlockLayoutManager
|
|
{
|
|
/// <summary>
|
|
/// Creates new instance of the class.
|
|
/// </summary>
|
|
public BubbleButtonLayoutManager()
|
|
{
|
|
}
|
|
|
|
/// <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)
|
|
{
|
|
BubbleButton button=block as BubbleButton;
|
|
BubbleBar bar=button.GetBubbleBar();
|
|
if(bar==null)
|
|
{
|
|
if(button.Site!=null && button.Site.DesignMode)
|
|
return;
|
|
throw new InvalidOperationException("BubbleBar object could not be found for button named: '"+button.Name+"' in BubbleButtonLayoutManager.Layout");
|
|
}
|
|
Size defaultSize=Dpi.ImageSize(bar.ImageSizeNormal);
|
|
button.SetDisplayRectangle(new Rectangle(button.DisplayRectangle.Location,defaultSize));
|
|
}
|
|
|
|
public override Rectangle FinalizeLayout(Rectangle containerBounds, Rectangle blocksBounds, ArrayList lines)
|
|
{
|
|
return (blocksBounds);
|
|
}
|
|
}
|
|
}
|