public void Merge(ConditionActionBase clone)
        {
            if (Name != clone.Name)
            {
                Name = clone.Name;
            }
            if (DataType != clone.DataType)
            {
                DataType = clone.DataType;
            }
            if (DefaultText != clone.DefaultText)
            {
                DefaultText = clone.DefaultText;
            }
            DefaultBool = clone.DefaultBool;
            Background  = clone.Background;
            TooltipText = clone.TooltipText;

            //EnumValues.Clear();
            while (EnumValues.Count != 0)
            {
                EnumValues.RemoveAt(0);
            }
            foreach (EnumValue value in clone.EnumValues)
            {
                EnumValues.Add(value);
            }
        }
Example #2
0
        int GetId(ConditionActionBase obj)
        {
            var result = ConditionActionIdDictionary.Where(val => val.Value.Equals(obj));

            if (result.Count() != 1)
            {
                throw new Exception("internal error");
            }
            return(result.First().Key);
        }
Example #3
0
 private void LoadEnumValues(XmlElement element, ConditionActionBase co)
 {
     if (co.DataType == ValueDataType.Enumeration)
     {
         var xmlEnumValuesColl = element.GetElementsByTagName(XmlNames.EnumValuesName);
         var xmlEnumValues     = xmlEnumValuesColl[0] as XmlElement;
         foreach (XmlElement xmlEnumValue in xmlEnumValues.GetElementsByTagName(XmlNames.EnumValueName))
         {
             EnumValue ev;
             Load(xmlEnumValue, out ev);
             co.EnumValues.Add(ev);
         }
     }
 }
        /// <summary>
        /// clone the object and all its content
        /// </summary>
        /// <param name="clone"></param>
        protected void Clone(IConditionAction clone)
        {
            ConditionActionBase co = (ConditionActionBase)clone;

            co.Name        = Name;
            co.DataType    = DataType;
            co.DefaultBool = DefaultBool;
            co.DefaultText = DefaultText;
            co.Background  = Background;
            co.TooltipText = TooltipText;
            co.EnumValues  = new ObservableCollection <EnumValue>();
            foreach (EnumValue value in EnumValues)
            {
                co.EnumValues.Add(value.Clone());
            }
        }