public KryptonContextMenuMonthCalendar()
{
// Default fields
_autoClose = true;
_enabled = true;
_showToday = true;
_showTodayCircle = true;
_closeOnTodayClick = false;
_dimensions = new Size(1, 1);
_firstDayOfWeek = Day.Default;
_headerStyle = HeaderStyle.Calendar;
_dayStyle = ButtonStyle.CalendarDay;
_dayOfWeekStyle = ButtonStyle.CalendarDay;
_selectionStart = DateTime.Now.Date;
_selectionEnd = _selectionStart;
_todayDate = _selectionStart;
_minDate = DateTimePicker.MinimumDateTime;
_maxDate = DateTimePicker.MaximumDateTime;
_maxSelectionCount = 7;
_annualDays = new int[12];
_annualDates = new DateTimeList();
_monthlyDates = new DateTimeList();
_dates = new DateTimeList();
_today = _defaultToday;
_todayFormat = "d";
// Create the common/override state storage
_stateCommon = new PaletteMonthCalendarRedirect();
_stateFocus = new PaletteMonthCalendarStateRedirect();
_stateBolded = new PaletteMonthCalendarStateRedirect();
_stateToday = new PaletteMonthCalendarStateRedirect();
// Basic state storage
_stateDisabled = new PaletteMonthCalendarDoubleState(_stateCommon);
_stateNormal = new PaletteMonthCalendarDoubleState(_stateCommon);
_stateTracking = new PaletteMonthCalendarState(_stateCommon);
_statePressed = new PaletteMonthCalendarState(_stateCommon);
_stateCheckedNormal = new PaletteMonthCalendarState(_stateCommon);
_stateCheckedTracking = new PaletteMonthCalendarState(_stateCommon);
_stateCheckedPressed = new PaletteMonthCalendarState(_stateCommon);
// Bold overrides
_boldedDisabled = new PaletteTripleOverride(_stateBolded.Day, _stateDisabled.Day, PaletteState.BoldedOverride);
_boldedNormal = new PaletteTripleOverride(_stateBolded.Day, _stateNormal.Day, PaletteState.BoldedOverride);
_boldedTracking = new PaletteTripleOverride(_stateBolded.Day, _stateTracking.Day, PaletteState.BoldedOverride);
_boldedPressed = new PaletteTripleOverride(_stateBolded.Day, _statePressed.Day, PaletteState.BoldedOverride);
_boldedCheckedNormal = new PaletteTripleOverride(_stateBolded.Day, _stateCheckedNormal.Day, PaletteState.BoldedOverride);
_boldedCheckedTracking = new PaletteTripleOverride(_stateBolded.Day, _stateCheckedTracking.Day, PaletteState.BoldedOverride);
_boldedCheckedPressed = new PaletteTripleOverride(_stateBolded.Day, _stateCheckedPressed.Day, PaletteState.BoldedOverride);
// Today overrides
_todayDisabled = new PaletteTripleOverride(_stateToday.Day, _boldedDisabled, PaletteState.TodayOverride);
_todayNormal = new PaletteTripleOverride(_stateToday.Day, _boldedNormal, PaletteState.TodayOverride);
_todayTracking = new PaletteTripleOverride(_stateToday.Day, _boldedTracking, PaletteState.TodayOverride);
_todayPressed = new PaletteTripleOverride(_stateToday.Day, _boldedPressed, PaletteState.TodayOverride);
_todayCheckedNormal = new PaletteTripleOverride(_stateToday.Day, _boldedCheckedNormal, PaletteState.TodayOverride);
_todayCheckedTracking = new PaletteTripleOverride(_stateToday.Day, _boldedCheckedTracking, PaletteState.TodayOverride);
_todayCheckedPressed = new PaletteTripleOverride(_stateToday.Day, _boldedCheckedPressed, PaletteState.TodayOverride);
// Focus overrides added to bold overrides
_overrideDisabled = new PaletteTripleOverride(_stateFocus.Day, _todayDisabled, PaletteState.FocusOverride);
_overrideNormal = new PaletteTripleOverride(_stateFocus.Day, _todayNormal, PaletteState.FocusOverride);
_overrideTracking = new PaletteTripleOverride(_stateFocus.Day, _todayTracking, PaletteState.FocusOverride);
_overridePressed = new PaletteTripleOverride(_stateFocus.Day, _todayPressed, PaletteState.FocusOverride);
_overrideCheckedNormal = new PaletteTripleOverride(_stateFocus.Day, _todayCheckedNormal, PaletteState.FocusOverride);
_overrideCheckedTracking = new PaletteTripleOverride(_stateFocus.Day, _todayCheckedTracking, PaletteState.FocusOverride);
_overrideCheckedPressed = new PaletteTripleOverride(_stateFocus.Day, _todayCheckedPressed, PaletteState.FocusOverride);
}