public void SetEditor(EditorType type) { ControlPanel.Controls.Clear(); Control editor = null; switch (type) { case EditorType.Int: editor = new NumericEditor(); ((NumericUpDown)editor.Controls[0]).DecimalPlaces = 0; break; case EditorType.Decimal: editor = new NumericEditor(); ((NumericUpDown)editor.Controls[0]).DecimalPlaces = 2; break; case EditorType.Date: editor = new DateValueEditor(); break; case EditorType.Text: default: editor = new TextValueEditor(); break; } editor.Dock = DockStyle.Fill; ControlPanel.Controls.Add(editor /*new TextValueEditor() { Dock = DockStyle.Fill }*/); this.ResumeLayout(); }
//private bool _availableRangesChanged = false; ///// <summary> ///// ///// </summary> //[RestoreInclude] //[ConfigurationActivity_Category] //[AvailableDateRanges_DisplayName] //public List<DateRangeData> DateRanges //{ // get { return _dateRanges ?? AvailableDateRanges.GetRanges(); } // set { _dateRanges = value; } //} //private List<DateRangeData> _dateRanges; #region Overrides /// <summary> Opens the date range editor. </summary> protected override IQOpResult <IQDateTimeElement> OpenEditor(IQDateTimeElement defaultValue, IQVarElementTarget target) { //var dateRanges = DateRanges.Where(item => item.Selected).ToList(); //if (dateRanges.Count == 0) // return new IQOpResult<IQDateTimeElement> {Result = OpResultEnum.Cancelled}; var editor = new DateValueEditor { Value = defaultValue.Value, Type = defaultValue.Type }; return((editor.ShowDialog() == DialogResult.OK) ? new IQOpResult <IQDateTimeElement> { Result = OpResultEnum.Completed, Value = new IQDateTimeElement { ElementType = IQVarElementType.Standard, Type = editor.Type, Value = editor.Value } } : new IQOpResult <IQDateTimeElement> { Result = OpResultEnum.Cancelled }); }