/// <summary>
/// Initialize a new instance of the ViewDrawMenuMonthCalendar class.
/// </summary>
/// <param name="provider">Reference to provider.</param>
/// <param name="monthCalendar">Reference to owning month calendar entry.</param>
public ViewDrawMenuMonthCalendar(IContextMenuProvider provider,
KryptonContextMenuMonthCalendar monthCalendar)
{
_provider = provider;
_monthCalendar = monthCalendar;
_firstDayOfWeek = _monthCalendar.FirstDayOfWeek;
_minDate = _monthCalendar.MinDate;
_maxDate = _monthCalendar.MaxDate;
_todayDate = _monthCalendar.TodayDate;
_maxSelectionCount = _monthCalendar.MaxSelectionCount;
_scrollChange = _monthCalendar.ScrollChange;
_todayText = _monthCalendar.TodayText;
_todayFormat = _monthCalendar.TodayFormat;
_dimensions = _monthCalendar.CalendarDimensions;
// Decide on the enabled state of the display
_itemEnabled = provider.ProviderEnabled && _monthCalendar.Enabled;
// Give the item object the redirector to use when inheriting values
_monthCalendar.SetPaletteRedirect(provider.ProviderRedirector);
// Create view that is used by standalone control as well as this context menu element
_layoutMonths = new ViewLayoutMonths(provider, monthCalendar, provider.ProviderViewManager, this, provider.ProviderRedirector, provider.ProviderNeedPaintDelegate);
_layoutMonths.CloseOnTodayClick = _monthCalendar.CloseOnTodayClick;
_layoutMonths.ShowWeekNumbers = _monthCalendar.ShowWeekNumbers;
_layoutMonths.ShowTodayCircle = _monthCalendar.ShowTodayCircle;
_layoutMonths.ShowToday = _monthCalendar.ShowToday;
_layoutMonths.Enabled = _itemEnabled;
Add(_layoutMonths);
}