/// <summary> /// Initialize the dialog controls using the specified recurrence rule and recurrence date collections /// </summary> /// <param name="rr">The recurrence rules from which to get the settings</param> /// <param name="rd">The recurrence dates from which to get the settings</param> public void SetValues(RRulePropertyCollection rr, RDatePropertyCollection rd) { rRules.Clear(); rDates.Clear(); rRules.CloneRange(rr); rDates.CloneRange(rd); lbRRules.Items.Clear(); foreach (RRuleProperty r in rRules) { lbRRules.Items.Add(r.Recurrence.ToString()); } // We won't handle period RDate values lbRDates.Items.Clear(); foreach (RDateProperty rdt in rDates) { if (rdt.ValueLocation == ValLocValue.Date) { lbRDates.Items.Add(rdt.TimeZoneDateTime.ToString("d")); } else { lbRDates.Items.Add(rdt.TimeZoneDateTime.ToString("G")); } } this.SetButtonStates(); }
/// <summary> /// Update the recurrence rule and recurrence date collections with the dialog control values /// </summary> /// <param name="rr">The recurrence rules collection to update</param> /// <param name="rd">The recurrence dates collection to update</param> /// <remarks>Note that the time zone ID will need to be set in the returned RDATE property collection to /// make sure that it is consistent with the containing component.</remarks> public void GetValues(RRulePropertyCollection rr, RDatePropertyCollection rd) { rr.Clear(); rd.Clear(); rr.CloneRange(rRules); rd.CloneRange(rDates); }
//===================================================================== /// <summary> /// Constructor /// </summary> public RecurrenceControl() { InitializeComponent(); // Set the short date/long time pattern based on the current culture dtpRDate.CustomFormat = CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern + " " + CultureInfo.CurrentCulture.DateTimeFormat.LongTimePattern; dtpRDate.Value = DateTime.Today; rRules = new RRulePropertyCollection(); rDates = new RDatePropertyCollection(); this.SetButtonStates(); }
/// <summary> /// The method can be called to clear all current property values from the observance. The version and /// rule type are left unchanged. /// </summary> public override void ClearProperties() { startDate = null; offsetFrom = null; offsetTo = null; comment = null; rRules = null; rDates = null; tzNames = null; customProps = null; }
/// <summary> /// Initialize the dialog controls using the specified recurrence rule and recurrence date collections /// </summary> /// <param name="rr">The recurrence rules from which to get the settings</param> /// <param name="rd">The recurrence dates from which to get the settings</param> public void SetValues(RRulePropertyCollection rr, RDatePropertyCollection rd) { rRules.Clear(); rDates.Clear(); rRules.CloneRange(rr); rDates.CloneRange(rd); lbRRules.Items.Clear(); foreach(RRuleProperty r in rRules) lbRRules.Items.Add(r.Recurrence.ToString()); // We won't handle period RDate values lbRDates.Items.Clear(); foreach(RDateProperty rdt in rDates) if(rdt.ValueLocation == ValLocValue.Date) lbRDates.Items.Add(rdt.TimeZoneDateTime.ToString("d")); else lbRDates.Items.Add(rdt.TimeZoneDateTime.ToString("G")); this.SetButtonStates(); }