예제 #1
0
        //*************************************************************************
        //  Constructor: VertexShapeColumnAutoFillUserSettingsDialog()
        //
        /// <overloads>
        /// Initializes a new instance of the <see
        /// cref="VertexShapeColumnAutoFillUserSettingsDialog" /> class.
        /// </overloads>
        ///
        /// <summary>
        /// Initializes a new instance of the <see
        /// cref="NumericComparisonColumnAutoFillUserSettingsDialog" /> class with
        /// a <see cref="NumericComparisonColumnAutoFillUserSettings" /> object.
        /// </summary>
        ///
        /// <param name="numericComparisonColumnAutoFillUserSettings">
        /// Object to edit.
        /// </param>
        //*************************************************************************

        public VertexShapeColumnAutoFillUserSettingsDialog
        (
            NumericComparisonColumnAutoFillUserSettings
            numericComparisonColumnAutoFillUserSettings
        )
            : this()
        {
            Debug.Assert(numericComparisonColumnAutoFillUserSettings != null);

            m_oNumericComparisonColumnAutoFillUserSettings =
                numericComparisonColumnAutoFillUserSettings;

            // 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_oVertexShapeColumnAutoFillUserSettingsDialogUserSettings =
                new VertexShapeColumnAutoFillUserSettingsDialogUserSettings(this);

            cbxComparisonOperator.PopulateWithObjectsAndText(
                ComparisonOperator.LessThan, "Less than",
                ComparisonOperator.LessThanOrEqual, "Less than or equal to",
                ComparisonOperator.Equal, "Equal to",
                ComparisonOperator.NotEqual, "Not equal to",
                ComparisonOperator.GreaterThan, "Greater than",
                ComparisonOperator.GreaterThanOrEqual, "Greater than or equal to"
                );

            (new VertexShapeConverter()).PopulateComboBox(cbxVertexShape, false);

            DoDataExchange(false);

            AssertValid();
        }
예제 #2
0
        AutoFillNumericComparisonColumn
        (
            ListObject oTable,
            String sSourceColumnName,
            String sDestinationColumnName,
            NumericComparisonColumnAutoFillUserSettings oDetails
        )
        {
            Debug.Assert(oTable != null);
            Debug.Assert(!String.IsNullOrEmpty(sDestinationColumnName));
            Debug.Assert(oDetails != null);

            if (String.IsNullOrEmpty(sSourceColumnName))
            {
                return;
            }

            TableColumnMapper.MapToTwoStrings(
                oTable, sSourceColumnName, sDestinationColumnName,
                oDetails.ComparisonOperator,
                oDetails.SourceNumberToCompareTo,
                oDetails.DestinationString1,
                oDetails.DestinationString2
                );
        }
        //*************************************************************************
        //  Constructor: VertexShapeColumnAutoFillUserSettingsDialog()
        //
        /// <overloads>
        /// Initializes a new instance of the <see
        /// cref="VertexShapeColumnAutoFillUserSettingsDialog" /> class.
        /// </overloads>
        ///
        /// <summary>
        /// Initializes a new instance of the <see
        /// cref="NumericComparisonColumnAutoFillUserSettingsDialog" /> class with
        /// a <see cref="NumericComparisonColumnAutoFillUserSettings" /> object.
        /// </summary>
        ///
        /// <param name="numericComparisonColumnAutoFillUserSettings">
        /// Object to edit.
        /// </param>
        //*************************************************************************
        public VertexShapeColumnAutoFillUserSettingsDialog(
            NumericComparisonColumnAutoFillUserSettings
            numericComparisonColumnAutoFillUserSettings
            )
            : this()
        {
            Debug.Assert(numericComparisonColumnAutoFillUserSettings != null);

            m_oNumericComparisonColumnAutoFillUserSettings =
            numericComparisonColumnAutoFillUserSettings;

            // 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_oVertexShapeColumnAutoFillUserSettingsDialogUserSettings =
            new VertexShapeColumnAutoFillUserSettingsDialogUserSettings(this);

            cbxComparisonOperator.PopulateWithObjectsAndText(
            ComparisonOperator.LessThan, "Less than",
            ComparisonOperator.LessThanOrEqual, "Less than or equal to",
            ComparisonOperator.Equal, "Equal to",
            ComparisonOperator.NotEqual, "Not equal to",
            ComparisonOperator.GreaterThan, "Greater than",
            ComparisonOperator.GreaterThanOrEqual, "Greater than or equal to"
            );

            ( new VertexShapeConverter() ).PopulateComboBox(cbxVertexShape, false);

            DoDataExchange(false);

            AssertValid();
        }
        ConvertFrom
        (
            ITypeDescriptorContext context,
            CultureInfo culture,
            Object value
        )
        {
            Debug.Assert(value != null);
            Debug.Assert(value is String);
            AssertValid();

            NumericComparisonColumnAutoFillUserSettings
                oNumericComparisonColumnAutoFillUserSettings =
                new NumericComparisonColumnAutoFillUserSettings();

            String [] asStrings = ((String)value).Split(new Char[] { '\t' });

            Debug.Assert(asStrings.Length == 4);

            oNumericComparisonColumnAutoFillUserSettings.ComparisonOperator =
                (ComparisonOperator)Enum.Parse(
                    typeof(ComparisonOperator), asStrings[0]);

            oNumericComparisonColumnAutoFillUserSettings.SourceNumberToCompareTo =
                MathUtil.ParseCultureInvariantDouble(asStrings[1]);

            oNumericComparisonColumnAutoFillUserSettings.DestinationString1 =
                asStrings[2];

            oNumericComparisonColumnAutoFillUserSettings.DestinationString2 =
                asStrings[3];

            return(oNumericComparisonColumnAutoFillUserSettings);
        }
        ConvertTo
        (
            ITypeDescriptorContext context,
            CultureInfo culture,
            Object value,
            Type destinationType
        )
        {
            Debug.Assert(value != null);
            Debug.Assert(value is NumericComparisonColumnAutoFillUserSettings);
            Debug.Assert(destinationType == typeof(String));
            AssertValid();

            NumericComparisonColumnAutoFillUserSettings
                oNumericComparisonColumnAutoFillUserSettings =
                (NumericComparisonColumnAutoFillUserSettings)value;

            // Use a simple tab-delimited format.  Sample string:
            //
            // "GreaterThan\t0\tDV1\tDV2"

            return(String.Format(CultureInfo.InvariantCulture,

                                 "{0}\t{1}\t{2}\t{3}"
                                 ,
                                 oNumericComparisonColumnAutoFillUserSettings.ComparisonOperator,

                                 oNumericComparisonColumnAutoFillUserSettings.
                                 SourceNumberToCompareTo,

                                 oNumericComparisonColumnAutoFillUserSettings.DestinationString1,
                                 oNumericComparisonColumnAutoFillUserSettings.DestinationString2
                                 ));
        }
        //*************************************************************************
        //  Constructor: NumericComparisonColumnAutoFillUserSettingsDialog()
        //
        /// <overloads>
        /// Initializes a new instance of the <see
        /// cref="NumericComparisonColumnAutoFillUserSettingsDialog" /> class.
        /// </overloads>
        ///
        /// <summary>
        /// Initializes a new instance of the <see
        /// cref="NumericComparisonColumnAutoFillUserSettingsDialog" /> class with
        /// a <see cref="NumericComparisonColumnAutoFillUserSettings" /> object.
        /// </summary>
        ///
        /// <param name="numericComparisonColumnAutoFillUserSettings">
        /// Object to edit.
        /// </param>
        ///
        /// <param name="dialogCaption">
        /// Dialog caption.
        /// </param>
        ///
        /// <param name="label1Text">
        /// Text to display above the comparison controls.
        /// </param>
        ///
        /// <param name="label2Text">
        /// Text to display below the comparison controls.
        /// </param>
        //*************************************************************************

        public NumericComparisonColumnAutoFillUserSettingsDialog
        (
            NumericComparisonColumnAutoFillUserSettings
            numericComparisonColumnAutoFillUserSettings,

            String dialogCaption,
            String label1Text,
            String label2Text
        )
            : this()
        {
            Debug.Assert(numericComparisonColumnAutoFillUserSettings != null);
            Debug.Assert(!String.IsNullOrEmpty(dialogCaption));
            Debug.Assert(!String.IsNullOrEmpty(label1Text));
            Debug.Assert(!String.IsNullOrEmpty(label2Text));

            m_oNumericComparisonColumnAutoFillUserSettings =
                numericComparisonColumnAutoFillUserSettings;

            this.Text      = dialogCaption;
            lblLabel1.Text = label1Text;
            lblLabel2.Text = label2Text;

            cbxComparisonOperator.PopulateWithObjectsAndText(
                ComparisonOperator.LessThan, "Less than",
                ComparisonOperator.LessThanOrEqual, "Less than or equal to",
                ComparisonOperator.Equal, "Equal to",
                ComparisonOperator.NotEqual, "Not equal to",
                ComparisonOperator.GreaterThan, "Greater than",
                ComparisonOperator.GreaterThanOrEqual, "Greater than or equal to"
                );

            // 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_oNumericComparisonColumnAutoFillUserSettingsDialogUserSettings =
                new NumericComparisonColumnAutoFillUserSettingsDialogUserSettings(
                    this);

            DoDataExchange(false);

            AssertValid();
        }
        //*************************************************************************
        //  Constructor: NumericComparisonColumnAutoFillUserSettingsDialog()
        //
        /// <overloads>
        /// Initializes a new instance of the <see
        /// cref="NumericComparisonColumnAutoFillUserSettingsDialog" /> class.
        /// </overloads>
        ///
        /// <summary>
        /// Initializes a new instance of the <see
        /// cref="NumericComparisonColumnAutoFillUserSettingsDialog" /> class with
        /// a <see cref="NumericComparisonColumnAutoFillUserSettings" /> object.
        /// </summary>
        ///
        /// <param name="numericComparisonColumnAutoFillUserSettings">
        /// Object to edit.
        /// </param>
        ///
        /// <param name="dialogCaption">
        /// Dialog caption.
        /// </param>
        ///
        /// <param name="label1Text">
        /// Text to display above the comparison controls.
        /// </param>
        ///
        /// <param name="label2Text">
        /// Text to display below the comparison controls.
        /// </param>
        //*************************************************************************
        public NumericComparisonColumnAutoFillUserSettingsDialog(
            NumericComparisonColumnAutoFillUserSettings
            numericComparisonColumnAutoFillUserSettings,
            
            String dialogCaption,
            String label1Text,
            String label2Text
            )
            : this()
        {
            Debug.Assert(numericComparisonColumnAutoFillUserSettings != null);
            Debug.Assert( !String.IsNullOrEmpty(dialogCaption) );
            Debug.Assert( !String.IsNullOrEmpty(label1Text) );
            Debug.Assert( !String.IsNullOrEmpty(label2Text) );

            m_oNumericComparisonColumnAutoFillUserSettings =
            numericComparisonColumnAutoFillUserSettings;

            this.Text = dialogCaption;
            lblLabel1.Text = label1Text;
            lblLabel2.Text = label2Text;

            cbxComparisonOperator.PopulateWithObjectsAndText(
            ComparisonOperator.LessThan, "Less than",
            ComparisonOperator.LessThanOrEqual, "Less than or equal to",
            ComparisonOperator.Equal, "Equal to",
            ComparisonOperator.NotEqual, "Not equal to",
            ComparisonOperator.GreaterThan, "Greater than",
            ComparisonOperator.GreaterThanOrEqual, "Greater than or equal to"
            );

            // 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_oNumericComparisonColumnAutoFillUserSettingsDialogUserSettings =
            new NumericComparisonColumnAutoFillUserSettingsDialogUserSettings(
                this);

            DoDataExchange(false);

            AssertValid();
        }
예제 #8
0
        //*************************************************************************
        //  Method: AutoFillNumericComparisonColumn()
        //
        /// <summary>
        /// Runs the application's AutoFill feature on a destination column that
        /// should contain one of two strings.
        /// </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>
        //*************************************************************************
        private static void AutoFillNumericComparisonColumn(
            ListObject oTable,
            String sSourceColumnName,
            String sDestinationColumnName,
            NumericComparisonColumnAutoFillUserSettings oDetails
            )
        {
            Debug.Assert(oTable != null);
            Debug.Assert( !String.IsNullOrEmpty(sDestinationColumnName) );
            Debug.Assert(oDetails != null);

            if ( String.IsNullOrEmpty(sSourceColumnName) )
            {
            return;
            }

            TableColumnMapper.MapToTwoStrings(
            oTable, sSourceColumnName, sDestinationColumnName,
            oDetails.ComparisonOperator,
            oDetails.SourceNumberToCompareTo,
            oDetails.DestinationString1,
            oDetails.DestinationString2
            );
        }
        //*************************************************************************
        //  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();

            NumericComparisonColumnAutoFillUserSettings
            oNumericComparisonColumnAutoFillUserSettings =
            new NumericComparisonColumnAutoFillUserSettings();

            String [] asStrings = ( (String)value ).Split( new Char[] {'\t'} );

            Debug.Assert(asStrings.Length == 4);

            oNumericComparisonColumnAutoFillUserSettings.ComparisonOperator =
            (ComparisonOperator)Enum.Parse(
                typeof(ComparisonOperator), asStrings[0] );

            oNumericComparisonColumnAutoFillUserSettings.SourceNumberToCompareTo =
            MathUtil.ParseCultureInvariantDouble( asStrings[1] );

            oNumericComparisonColumnAutoFillUserSettings.DestinationString1 =
            asStrings[2];

            oNumericComparisonColumnAutoFillUserSettings.DestinationString2 =
            asStrings[3];

            return (oNumericComparisonColumnAutoFillUserSettings);
        }