129 lines
2.9 KiB
C#
129 lines
2.9 KiB
C#
#if FRAMEWORK20
|
|
using System.Drawing;
|
|
using System.Windows.Forms;
|
|
|
|
namespace DevComponents.DotNetBar.Schedule
|
|
{
|
|
/// <summary>
|
|
/// DayRect array management class
|
|
/// </summary>
|
|
public class ItemRects
|
|
{
|
|
#region Private variables
|
|
|
|
private ItemRect[] _ItemRects;
|
|
|
|
#endregion
|
|
|
|
/// <summary>
|
|
/// Constructor
|
|
/// </summary>
|
|
/// <param name="baseItem"></param>
|
|
/// <param name="length">Rectangle array length</param>
|
|
public ItemRects(BaseItem baseItem, int length)
|
|
{
|
|
_ItemRects = new ItemRect[length];
|
|
|
|
for (int i = 0; i < length; i++)
|
|
_ItemRects[i] = new ItemRect(baseItem);
|
|
}
|
|
|
|
#region Public properties
|
|
|
|
/// <summary>
|
|
/// Gets the Rectangle array
|
|
/// </summary>
|
|
public ItemRect[] Rects
|
|
{
|
|
get { return (_ItemRects); }
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets and sets a specific array Rectangle
|
|
/// </summary>
|
|
/// <param name="index">Rectangle index to get</param>
|
|
/// <returns>Rectangle</returns>
|
|
public ItemRect this[int index]
|
|
{
|
|
get { return (_ItemRects[index]); }
|
|
set { _ItemRects[index] = value; }
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
|
|
/// <summary>
|
|
/// Simple DayRect class
|
|
/// </summary>
|
|
public class ItemRect
|
|
{
|
|
#region Private variables
|
|
|
|
private BaseItem _BaseItem; // BaseItem
|
|
private Rectangle _Bounds; // Bounds
|
|
private bool _IsSelected; // Rect selection
|
|
|
|
#endregion
|
|
|
|
/// <summary>
|
|
/// Constructor
|
|
/// </summary>
|
|
/// <param name="baseItem">BaseItem</param>
|
|
public ItemRect(BaseItem baseItem)
|
|
{
|
|
_BaseItem = baseItem;
|
|
}
|
|
|
|
#region Public properties
|
|
|
|
/// <summary>
|
|
/// Gets and sets the bounding rect
|
|
/// </summary>
|
|
public Rectangle Bounds
|
|
{
|
|
get { return (_Bounds); }
|
|
set { _Bounds = value; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets and sets the rect selection status
|
|
/// </summary>
|
|
public bool IsSelected
|
|
{
|
|
get { return (_IsSelected); }
|
|
|
|
set
|
|
{
|
|
if (_IsSelected != value)
|
|
{
|
|
_IsSelected = value;
|
|
|
|
Invalidate();
|
|
}
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Public methods
|
|
|
|
/// <summary>
|
|
/// Invalidates the given rectangle
|
|
/// </summary>
|
|
public void Invalidate()
|
|
{
|
|
if (_BaseItem != null)
|
|
{
|
|
Control c = (Control)_BaseItem.GetContainerControl(true);
|
|
|
|
if (c != null)
|
|
c.Invalidate(_Bounds);
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
}
|
|
#endif
|
|
|