protected void SetFocusOnPrevControl() { ResetFocusedRectangleState(); if (m_iLastFocused < DEF_TODAY_TAB_INDEX && m_bDropDownTab == true) { m_iLastFocused = DEF_NONE_TAB_INDEX; } else if (m_iLastFocused == DEF_TODAY_TAB_INDEX && m_iDay != 0) { m_iLastFocused = m_iDay; ActRect rc = FindActiveRectByTag(m_iDay); if (rc != null) { rc.State |= TRectangleStatus.Focused | TRectangleStatus.Selected; } } else if (m_iLastFocused == DEF_NONE_TAB_INDEX) { m_iLastFocused = DEF_TODAY_TAB_INDEX; } else { Control ctrl = this.FindForm().GetNextControl(this, false); if (ctrl != null) { ctrl.Focus(); } } Invalidate(); }
protected override void OnClick(System.EventArgs e) { this.Focus(); Point pnt = MousePosition; pnt = PointToClient(pnt); ActRect rect = FindActiveRectByPoint(pnt); if (rect != null && rect.Action != TRectangleAction.WeekDay) { ResetActiveRectanglesState(); ResetFocusedRectangleState(); // if selection begin if ((ModifierKeys & (Keys.Control | Keys.Shift)) == 0) { ResetSelectedRectangleState(); OnRectangleClick(rect); } else { OnSelectionClick(rect); } } base.OnClick(e); }
protected override void OnDoubleClick(System.EventArgs e) { this.Focus(); Point pnt = MousePosition; pnt = PointToClient(pnt); ActRect rect = FindActiveRectByPoint(pnt); if (rect != null && rect.Action != TRectangleAction.WeekDay) { ResetActiveRectanglesState(); ResetSelectedRectangleState(); ResetFocusedRectangleState(); OnRectangleClick(rect); } // send double click event to user only when on day double click catched if (rect != null && rect.Action == TRectangleAction.MonthDay) { base.OnDoubleClick(e); } }
protected void OnSelectedCollectionChanged() { foreach (DateTime date in m_collSelected) { if (date.Month == m_dtSelected.Month && date.Year == m_dtSelected.Year) { ActRect rect = FindActiveRectByTag(date.Day); if (rect != null) { rect.State |= TRectangleStatus.Selected; } } } }
protected override void OnMouseMove(System.Windows.Forms.MouseEventArgs e) { Point pnt = MousePosition; pnt = PointToClient(pnt); ResetActiveRectanglesState(); ActRect rect = FindActiveRectByPoint(pnt); if (rect != null && rect.Action != TRectangleAction.WeekDay) { rect.State |= TRectangleStatus.Active; } }
protected virtual void OnValueChanged(DateTime value) { ResetAllRectangleStates(); if (value == DateTime.MinValue) { m_iDay = 0; m_dtSelected = value; Invalidate(); return; } bool bRecreate = (m_dtSelected.Month != value.Month || m_dtSelected.Year != value.Year); if (m_bRectsCreated == true && bRecreate == true) { m_bRectsCreated = false; } m_dtSelected = value; m_iYear = m_dtSelected.Year; m_iMonth = m_dtSelected.Month; m_iDay = m_dtSelected.Day; if (bRecreate == true) { Invalidate(); Update(); } ActRect rect = FindActiveRectByTag(m_iDay); if (m_iLastFocused < DEF_TODAY_TAB_INDEX) { m_iLastFocused = m_iDay; } if (rect != null) { rect.State |= TRectangleStatus.FocusSelect; } Invalidate(); Update(); }
protected void OnSelectionClick(ActRect rc) { if (rc.Action == TRectangleAction.WeekDay) { } else if (rc.Action == TRectangleAction.MonthDay) { if (rc.IsSelected == false) { rc.State |= TRectangleStatus.Selected; } else { rc.State = (TRectangleStatus)((int)rc.State & ~(int)TRectangleStatus.Selected); } m_iLastFocused = (int)rc.Tag; } }
protected void OnEnterPressed() { ResetSelectedRectangleState(); ActRect rect = FindActiveRectByTag(m_iLastFocused); if (rect != null) { switch (rect.Action) { case TRectangleAction.TodayBtn: SetTodayDay(); break; case TRectangleAction.NoneBtn: SetNoneDay(); break; } } }
protected override void OnDoubleClick(System.EventArgs e) { this.Focus(); Point pnt = MousePosition; pnt = PointToClient(pnt); ActRect rect = FindActiveRectByPoint(pnt); if (rect != null && rect.Action != TRectangleAction.WeekDay) { ResetActiveRectanglesState(); ResetSelectedRectangleState(); ResetFocusedRectangleState(); OnRectangleClick(rect); } base.OnDoubleClick(e); }
protected void OnRectangleClick(ActRect rc) { switch (rc.Action) { case TRectangleAction.MonthDown: ToPrevMonth(); break; case TRectangleAction.MonthUp: ToNextMonth(); break; case TRectangleAction.YearDown: ToPrevYear(); break; case TRectangleAction.YearUp: ToNextYear(); break; case TRectangleAction.TodayBtn: SetTodayDay(); break; case TRectangleAction.NoneBtn: SetNoneDay(); break; case TRectangleAction.MonthDay: if (m_iDay == 0) { return; } int index = (int)rc.Tag; DateTime newDate = new DateTime(m_iYear, m_iMonth, m_iDay, 0, 0, 0); if (index < 0 && index > -10) { newDate = m_dtSelected.AddMonths(1); index = -index; } else if (index < 0 && index < -20) { newDate = m_dtSelected.AddMonths(-1); index = -index; } Value = new DateTime(newDate.Year, newDate.Month, index, 0, 0, 0); break; } }
protected void OnSelectionClick( ActRect rc ) { if( rc.Action == TRectangleAction.WeekDay ) { } else if( rc.Action == TRectangleAction.MonthDay ) { if( rc.IsSelected == false ) rc.State |= TRectangleStatus.Selected; else rc.State = (TRectangleStatus)((int)rc.State & ~(int)TRectangleStatus.Selected); m_iLastFocused = (int)rc.Tag; } }
protected void OnRectangleClick( ActRect rc ) { switch( rc.Action ) { case TRectangleAction.MonthDown: ToPrevMonth(); break; case TRectangleAction.MonthUp: ToNextMonth(); break; case TRectangleAction.YearDown: ToPrevYear(); break; case TRectangleAction.YearUp: ToNextYear(); break; case TRectangleAction.TodayBtn: SetTodayDay(); break; case TRectangleAction.NoneBtn: SetNoneDay(); break; case TRectangleAction.MonthDay: if( m_iDay == 0 ) return; int index = (int)rc.Tag; DateTime newDate = new DateTime( m_iYear, m_iMonth, m_iDay, 0, 0, 0 ); if( index < 0 && index > -10 ) { newDate = m_dtSelected.AddMonths(1); index = -index; } else if( index < 0 && index < -20 ) { newDate = m_dtSelected.AddMonths(-1); index = -index; } Value = new DateTime( newDate.Year, newDate.Month, index, 0, 0, 0 ); break; } }
private void OnSelectionClick(ActRect rc) { if (rc.Action == FocusedPart.MonthDay) { if (rc.IsSelected == false) { rc.State |= TRectangleStatus.Selected; SelectedDateTime = new DateTime(ViewYear, ViewMonth, (int)rc.Tag, 0, 0, 0, DefaultCalendar); if (!IsNull && !SelectedDateRange.Contains(SelectedDateTime.Value)) { SelectedDateRange.Add(SelectedDateTime.Value); if (!selectedRects.Contains(rc.Tag)) selectedRects.Add(rc.Tag); } } else { rc.State = (TRectangleStatus)((int)rc.State & ~(int)TRectangleStatus.Selected); selectedRects.Remove(rc.Tag); } iLastFocused = (int)rc.Tag; } Invalidate(); }
private void OnRectangleClick(ActRect rc) { if (!Enabled) return; switch (rc.Action) { case FocusedPart.Hidden: break; case FocusedPart.MonthPrev: ToPrevMonth(); break; case FocusedPart.MonthNext: ToNextMonth(); break; case FocusedPart.YearPrev: ToPrevYear(); break; case FocusedPart.YearNext: ToNextYear(); break; case FocusedPart.TodayButton: iLastFocused = DEF_TODAY_TAB_INDEX; SetTodayDay(); OnButtonClicked(new CalendarButtonClickedEventArgs(FAMonthViewButtons.Today) { Rect = rc }); break; case FocusedPart.NoneButton: iLastFocused = DEF_NONE_TAB_INDEX; SetNoneDay(); OnButtonClicked(new CalendarButtonClickedEventArgs(FAMonthViewButtons.None) { Rect = rc }); break; case FocusedPart.MonthDay: if (SelectedDay == 0) return; var index = (int)rc.Tag; iLastFocused = index; SelectedDateTime = new DateTime(ViewYear, ViewMonth, index, 0, 0, 0, DefaultCalendar); if (IsMultiSelect) { if (!IsNull && !SelectedDateRange.Contains(SelectedDateTime.Value)) { SelectedDateRange.Add(SelectedDateTime.Value); if (!selectedRects.Contains(rc.Tag)) selectedRects.Add(rc.Tag); } } OnButtonClicked(new CalendarButtonClickedEventArgs(FAMonthViewButtons.MonthDay) { Rect = rc }); break; } Invalidate(); }