//************************************************************************* // Constructor: ColorColumnAutoFillUserSettingsDialog() // /// <overloads> /// Initializes a new instance of the <see /// cref="ColorColumnAutoFillUserSettingsDialog" /> class. /// </overloads> /// /// <summary> /// Initializes a new instance of the <see /// cref="ColorColumnAutoFillUserSettingsDialog" /> class with a <see /// cref="ColorColumnAutoFillUserSettings" /> object. /// </summary> /// /// <param name="colorColumnAutoFillUserSettings"> /// Object to edit. /// </param> /// /// <param name="dialogCaption"> /// Dialog caption. /// </param> //************************************************************************* public ColorColumnAutoFillUserSettingsDialog ( ColorColumnAutoFillUserSettings colorColumnAutoFillUserSettings, String dialogCaption ) : this() { Debug.Assert(colorColumnAutoFillUserSettings != null); Debug.Assert(!String.IsNullOrEmpty(dialogCaption)); m_oColorColumnAutoFillUserSettings = colorColumnAutoFillUserSettings; this.Text = dialogCaption; // Instantiate an object that saves and retrieves the position of this // dialog. Note that the object automatically saves the settings when // the form closes. m_oColorColumnAutoFillUserSettingsDialogUserSettings = new ColorColumnAutoFillUserSettingsDialogUserSettings(this); DoDataExchange(false); UpdateColorGradient(); AssertValid(); }
//************************************************************************* // Constructor: ColorColumnAutoFillUserSettingsDialog() // /// <overloads> /// Initializes a new instance of the <see /// cref="ColorColumnAutoFillUserSettingsDialog" /> class. /// </overloads> /// /// <summary> /// Initializes a new instance of the <see /// cref="ColorColumnAutoFillUserSettingsDialog" /> class with a <see /// cref="ColorColumnAutoFillUserSettings" /> object. /// </summary> /// /// <param name="colorColumnAutoFillUserSettings"> /// Object to edit. /// </param> /// /// <param name="dialogCaption"> /// Dialog caption. /// </param> //************************************************************************* public ColorColumnAutoFillUserSettingsDialog( ColorColumnAutoFillUserSettings colorColumnAutoFillUserSettings, String dialogCaption ) : this() { Debug.Assert(colorColumnAutoFillUserSettings != null); Debug.Assert( !String.IsNullOrEmpty(dialogCaption) ); m_oColorColumnAutoFillUserSettings = colorColumnAutoFillUserSettings; this.Text = dialogCaption; // Instantiate an object that saves and retrieves the position of this // dialog. Note that the object automatically saves the settings when // the form closes. m_oColorColumnAutoFillUserSettingsDialogUserSettings = new ColorColumnAutoFillUserSettingsDialogUserSettings(this); DoDataExchange(false); UpdateColorGradient(); AssertValid(); }
ConvertFrom ( ITypeDescriptorContext context, CultureInfo culture, Object value ) { Debug.Assert(value != null); Debug.Assert(value is String); AssertValid(); ColorColumnAutoFillUserSettings oColorColumnAutoFillUserSettings = new ColorColumnAutoFillUserSettings(); ColorConverter oColorConverter = new ColorConverter(); String [] asStrings = ((String)value).Split(new Char[] { '\t' }); Debug.Assert(asStrings.Length >= 7); oColorColumnAutoFillUserSettings.UseSourceNumber1 = Boolean.Parse(asStrings[0]); oColorColumnAutoFillUserSettings.UseSourceNumber2 = Boolean.Parse(asStrings[1]); oColorColumnAutoFillUserSettings.SourceNumber1 = MathUtil.ParseCultureInvariantDouble(asStrings[2]); oColorColumnAutoFillUserSettings.SourceNumber2 = MathUtil.ParseCultureInvariantDouble(asStrings[3]); oColorColumnAutoFillUserSettings.DestinationColor1 = (Color)oColorConverter.ConvertFromString(asStrings[4]); oColorColumnAutoFillUserSettings.DestinationColor2 = (Color)oColorConverter.ConvertFromString(asStrings[5]); oColorColumnAutoFillUserSettings.IgnoreOutliers = Boolean.Parse(asStrings[6]); // The UseLogs property wasn't added until NodeXL version 1.0.1.92. oColorColumnAutoFillUserSettings.UseLogs = (asStrings.Length > 7) ? Boolean.Parse(asStrings[7]) : false; return(oColorColumnAutoFillUserSettings); }
ConvertTo ( ITypeDescriptorContext context, CultureInfo culture, Object value, Type destinationType ) { Debug.Assert(value != null); Debug.Assert(value is ColorColumnAutoFillUserSettings); Debug.Assert(destinationType == typeof(String)); AssertValid(); ColorColumnAutoFillUserSettings oColorColumnAutoFillUserSettings = (ColorColumnAutoFillUserSettings)value; ColorConverter oColorConverter = new ColorConverter(); // Use a simple tab-delimited format. Sample string: // // "false\tfalse\t0\t10\tRed\tGreen\tfalse\tfalse" // // WARNING: If this format is changed, you must also change the // DefaultSettingValueAttribute for each property in the // AutoFillUserSettings class that is of type // ColorColumnAutoFillUserSettings. return(String.Format(CultureInfo.InvariantCulture, "{0}\t{1}\t{2}\t{3}\t{4}\t{5}\t{6}\t{7}" , oColorColumnAutoFillUserSettings.UseSourceNumber1, oColorColumnAutoFillUserSettings.UseSourceNumber2, oColorColumnAutoFillUserSettings.SourceNumber1, oColorColumnAutoFillUserSettings.SourceNumber2, oColorConverter.ConvertToString( oColorColumnAutoFillUserSettings.DestinationColor1), oColorConverter.ConvertToString( oColorColumnAutoFillUserSettings.DestinationColor2), oColorColumnAutoFillUserSettings.IgnoreOutliers, oColorColumnAutoFillUserSettings.UseLogs )); }
TryAutoFillColorColumn ( ListObject oTable, String sSourceColumnName, String sDestinationColumnName, ColorColumnAutoFillUserSettings oDetails, out Double dSourceCalculationNumber1, out Double dSourceCalculationNumber2, out Int32 iDecimalPlaces ) { Debug.Assert(oTable != null); Debug.Assert(!String.IsNullOrEmpty(sDestinationColumnName)); Debug.Assert(oDetails != null); dSourceCalculationNumber1 = dSourceCalculationNumber2 = Double.MinValue; iDecimalPlaces = Int32.MinValue; if (String.IsNullOrEmpty(sSourceColumnName)) { return(false); } return(TableColumnMapper.TryMapToColor( oTable, sSourceColumnName, sDestinationColumnName, oDetails.UseSourceNumber1, oDetails.UseSourceNumber2, oDetails.SourceNumber1, oDetails.SourceNumber2, oDetails.DestinationColor1, oDetails.DestinationColor2, oDetails.IgnoreOutliers, oDetails.UseLogs, out dSourceCalculationNumber1, out dSourceCalculationNumber2, out iDecimalPlaces )); }
//************************************************************************* // Method: TryAutoFillColorColumn() // /// <summary> /// Runs the application's AutoFill feature on a destination column that /// should contain colors. /// </summary> /// /// <param name="oTable"> /// The table containing the source and destination columns. /// </param> /// /// <param name="sSourceColumnName"> /// Name of the source column. If null or empty, this method does nothing. /// </param> /// /// <param name="sDestinationColumnName"> /// Name of the destination column. /// </param> /// /// <param name="oDetails"> /// User-specified details for the destination column. /// </param> /// /// <param name="dSourceCalculationNumber1"> /// Where the actual first source number used in the calculations gets /// stored if true is returned. /// </param> /// /// <param name="dSourceCalculationNumber2"> /// Where the actual second source number used in the calculations gets /// stored if true is returned. /// </param> /// /// <param name="iDecimalPlaces"> /// Where the number of decimal places displayed in the column gets stored. /// </param> /// /// <returns> /// true if the autofill was performed. /// </returns> //************************************************************************* private static Boolean TryAutoFillColorColumn( ListObject oTable, String sSourceColumnName, String sDestinationColumnName, ColorColumnAutoFillUserSettings oDetails, out Double dSourceCalculationNumber1, out Double dSourceCalculationNumber2, out Int32 iDecimalPlaces ) { Debug.Assert(oTable != null); Debug.Assert( !String.IsNullOrEmpty(sDestinationColumnName) ); Debug.Assert(oDetails != null); dSourceCalculationNumber1 = dSourceCalculationNumber2 = Double.MinValue; iDecimalPlaces = Int32.MinValue; if ( String.IsNullOrEmpty(sSourceColumnName) ) { return (false); } return ( TableColumnMapper.TryMapToColor( oTable, sSourceColumnName, sDestinationColumnName, oDetails.UseSourceNumber1, oDetails.UseSourceNumber2, oDetails.SourceNumber1, oDetails.SourceNumber2, oDetails.DestinationColor1, oDetails.DestinationColor2, oDetails.IgnoreOutliers, oDetails.UseLogs, out dSourceCalculationNumber1, out dSourceCalculationNumber2, out iDecimalPlaces ) ); }
//************************************************************************* // Method: ConvertFrom() // /// <summary> /// Converts the given object to the type of this converter, using the /// specified context and culture information. /// </summary> /// /// <param name="context"> /// An ITypeDescriptorContext that provides a format context. /// </param> /// /// <param name="culture"> /// A CultureInfo. If nullNothingnullptra null reference is passed, the /// current culture is assumed. /// </param> /// /// <param name="value"> /// The Object to convert. /// </param> /// /// <returns> /// An Object that represents the converted value. /// </returns> //************************************************************************* public override Object ConvertFrom( ITypeDescriptorContext context, CultureInfo culture, Object value ) { Debug.Assert(value != null); Debug.Assert(value is String); AssertValid(); ColorColumnAutoFillUserSettings oColorColumnAutoFillUserSettings = new ColorColumnAutoFillUserSettings(); ColorConverter oColorConverter = new ColorConverter(); String [] asStrings = ( (String)value ).Split( new Char[] {'\t'} ); Debug.Assert(asStrings.Length >= 7); oColorColumnAutoFillUserSettings.UseSourceNumber1 = Boolean.Parse( asStrings[0] ); oColorColumnAutoFillUserSettings.UseSourceNumber2 = Boolean.Parse( asStrings[1] ); oColorColumnAutoFillUserSettings.SourceNumber1 = MathUtil.ParseCultureInvariantDouble( asStrings[2] ); oColorColumnAutoFillUserSettings.SourceNumber2 = MathUtil.ParseCultureInvariantDouble(asStrings[3]); oColorColumnAutoFillUserSettings.DestinationColor1 = (Color)oColorConverter.ConvertFromString( asStrings[4] ); oColorColumnAutoFillUserSettings.DestinationColor2 = (Color)oColorConverter.ConvertFromString( asStrings[5] ); oColorColumnAutoFillUserSettings.IgnoreOutliers = Boolean.Parse( asStrings[6] ); // The UseLogs property wasn't added until NodeXL version 1.0.1.92. oColorColumnAutoFillUserSettings.UseLogs = (asStrings.Length > 7) ? Boolean.Parse( asStrings[7] ) : false; return (oColorColumnAutoFillUserSettings); }