public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { if (context != null && context.Instance != null && provider != null) { this.editorService = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService)); if (this.editorService != null) { RotationValueEditorForm frm = new RotationValueEditorForm(); RotationScale frmR = (RotationScale)value; frm.ValueAtMaxCCWTextBox.Text = Conversions.ToString(frmR.RotationMaxValueCCW); frm.ValueAtMaxCWTextBox.Text = Conversions.ToString(frmR.RotationMaxValueCW); frm.CCWRotationTextBox.Text = Conversions.ToString(frmR.RotationCCWAngle); frm.CWRotationTextBox.Text = Conversions.ToString(frmR.RotationCWAngle); frm.XPositionTextBox.Text = Conversions.ToString(frmR.XPosition); frm.YPositionTextBox.Text = Conversions.ToString(frmR.YPosition); if (this.editorService.ShowDialog(frm) == DialogResult.OK) { frmR.RotationMaxValueCCW = Conversions.ToSingle(frm.ValueAtMaxCCWTextBox.Text); frmR.RotationMaxValueCW = Conversions.ToSingle(frm.ValueAtMaxCWTextBox.Text); frmR.RotationCCWAngle = Conversions.ToSingle(frm.CCWRotationTextBox.Text); frmR.RotationCWAngle = Conversions.ToSingle(frm.CWRotationTextBox.Text); frmR.XPosition = Conversions.ToInteger(frm.XPositionTextBox.Text); frmR.YPosition = Conversions.ToInteger(frm.YPositionTextBox.Text); } } } return(value); }
public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType) { object obj = null; if (!destinationType.Equals(typeof(string))) { obj = base.ConvertTo(context, culture, RuntimeHelpers.GetObjectValue(value), destinationType); } else { RotationScale rotationScale = (RotationScale)value; string[] str = { Conversions.ToString(rotationScale.RotationCCWAngle), ",", Conversions.ToString(rotationScale.RotationCWAngle), ",", Conversions.ToString(rotationScale.RotationMaxValueCCW), ",", Conversions.ToString(rotationScale.RotationMaxValueCW), ",", Conversions.ToString(rotationScale.XPosition), ",", Conversions.ToString(rotationScale.YPosition) }; obj = string.Concat(str); } return(obj); }
public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value) { object rotationScale = null; if (!(value is string)) { rotationScale = base.ConvertFrom(context, culture, RuntimeHelpers.GetObjectValue(value)); } else { string str = Conversions.ToString(value); string[] strArrays = str.Split(new char[] { ',' }); try { rotationScale = new RotationScale(Conversions.ToSingle(strArrays[0]), Conversions.ToSingle(strArrays[1]), Conversions.ToSingle(strArrays[2]), Conversions.ToSingle(strArrays[3]), Conversions.ToInteger(strArrays[4]), Conversions.ToInteger(strArrays[5])); } catch (Exception exception) { ProjectData.SetProjectError(exception); throw new InvalidCastException(Conversions.ToString(value)); } } return(rotationScale); }
protected virtual void SetEditorProps(RotationScale editingInstance, RotationValueEditorForm editor) { editor.ValueAtMaxCCWTextBox.Text = Conversions.ToString(editingInstance.RotationMaxValueCCW); }