private void                    updateV()
        {
            if (mHolder.Count > 0)
            {
                var lNames = mHolder.Names;
                for (int i = 0; i < lNames.Length; i++)
                {
                    if (ValuesCompare.isEqual(mHolder.getValue(lNames[i]), mObjectValue.ValueObject))
                    {
                        mNoUpdate = true;
                        try
                        {
                            comboBox.SelectedIndex = i;
                        }
                        finally
                        {
                            mNoUpdate = false;
                        }
                        return;
                    }
                }
            }

            comboBox.SelectedIndex = -1;
        }
Example #2
0
 private void                    updateV()
 {
     if (mHolder.Count > 0)
     {
         var lNames = mHolder.Names;
         mNoUpdate = true;
         try
         {
             for (int i = 0; i < lNames.Length; i++)
             {
                 mRB[i].Checked = ValuesCompare.isEqual(mHolder.getValue(lNames[i]), mObjectValue.ValueObject);
             }
         }
         finally
         {
             mNoUpdate = false;
         }
     }
 }
 private bool                toBool(object aValue)
 {
     if (ValuesCompare.isEqual(mTrueValue, MiscUtils.convertValue(mTrueValue.GetType(), aValue)))
     {
         return(true);
     }
     else if (ValuesCompare.isEqual(mFalseValue, MiscUtils.convertValue(mFalseValue.GetType(), aValue)))
     {
         return(false);
     }
     else
     {
         if (mTrueIfWrong)
         {
             return(true);
         }
         else
         {
             return(false);
         }
     }
 }
        public void                 checkValues(object aTrueValue, object aFalseValue)
        {
            Type lTrueType  = aTrueValue.GetType();
            Type lFalseType = aFalseValue.GetType();

            if (lTrueType.Equals(lFalseType) == false)
            {
                throw new ArgumentException("True and False Values should be the same type. ");
            }

            if (lTrueType.IsArray)
            {
                if (lTrueType.GetElementType().Equals(lFalseType.GetElementType()) == false)
                {
                    throw new ArgumentException("True and False Values should be the same type. ");
                }
            }

            if (ValuesCompare.isEqual(aTrueValue, aFalseValue))
            {
                throw new ArgumentException("True and False Values should not be equal. ");
            }
        }
        public void                         add(string aName, object aValue, bool mReplaceDefault)
        {
            #region Name

            if (String.IsNullOrWhiteSpace(aName))
            {
                throw new ArgumentException("Name is empty. ");
            }

            if (mReservedWords.Contains(aName))
            {
                throw new ArgumentException("Name is reserved. ");
            }

            mNameValidator?.Invoke(aName);

            if (mNameValue.ContainsKey(aName) == true)
            {
                if (mReplaceDefault && aName.Equals("Current value", StringComparison.Ordinal))
                {
                    mName.Remove("Current value");
                    mNameValue.Remove("Current value");
                }
                else
                {
                    throw new ArgumentException("Name '" + aName + "' already exists. ");
                }
            }

            #endregion

            #region Value

            if (aValue == null)
            {
                throw new ArgumentException("Null value is not allowed. ");
            }

            int lCount = mName.Count;
            for (int i = 0; i < lCount; i++)
            {
                if (ValuesCompare.isEqual(mNameValue[mName[i]], aValue))
                {
                    if (mReplaceDefault && mName[i].Equals("Current value", StringComparison.Ordinal))
                    {
                        mName.Remove("Current value");
                        mNameValue.Remove("Current value");
                        break;
                    }
                    else
                    {
                        if (mAllowSameValue == false)
                        {
                            throw new ArgumentException("Value '" + StringUtils.ObjectToString(aValue) + "' already exists. ");
                        }
                    }
                }
            }

            #endregion

            mName.Add(aName);
            mNameValue.Add(aName, aValue);

            raiseListChanged();
        }
        public void                         modify(string aOldName, string aNewName, object aValue)
        {
            #region Name

            if (mNameValue.ContainsKey(aOldName) == false)
            {
                throw new ArgumentException("Name '" + aOldName + "' does not exist. ");
            }

            if (String.IsNullOrWhiteSpace(aNewName))
            {
                throw new ArgumentException("New name is empty. ");
            }

            if (mReservedWords.Contains(aNewName))
            {
                throw new ArgumentException("Name is reserved. ");
            }

            mNameValidator?.Invoke(aNewName);

            if (aOldName.Equals(aNewName, StringComparison.Ordinal) == false)
            {
                if (mNameValue.ContainsKey(aNewName))
                {
                    throw new ArgumentException("Name '" + aNewName + "' already exists. ");
                }
            }

            #endregion

            #region Value

            if (aValue == null)
            {
                throw new ArgumentException("Null value is not allowed. ");
            }

            if (mAllowSameValue == false)
            {
                int lCount = mName.Count;
                for (int i = 0; i < lCount; i++)
                {
                    if (aOldName.Equals(mName[i], StringComparison.Ordinal) == false)
                    {
                        if (ValuesCompare.isEqual(mNameValue[mName[i]], aValue))
                        {
                            throw new ArgumentException("Value '" + StringUtils.ObjectToString(aValue) + "' already exists. ");
                        }
                    }
                }
            }

            #endregion

            mName[mName.IndexOf(aOldName)] = aNewName;
            mNameValue.Remove(aOldName);
            mNameValue.Add(aNewName, aValue);

            raiseListChanged();
        }