//*************************************************************************
        //  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
                                 ));
        }
Exemplo n.º 5
0
        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
                       ));
        }
Exemplo n.º 6
0
        //*************************************************************************
        //  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);
        }