Example #1
0
        /// <summary>
        /// Loads the options from the XML node.
        /// </summary>
        public virtual void LoadFromXml(XmlElement xmlElem)
        {
            if (xmlElem == null)
            {
                throw new ArgumentNullException(nameof(xmlElem));
            }

            Active = xmlElem.GetAttrAsBool("active", true);
            Name   = xmlElem.GetAttrAsString("name");
            CnlNums.AddRange(RangeUtils.StrToRange(xmlElem.GetChildAsString("CnlNums"), true, true));
            DeviceNums.AddRange(RangeUtils.StrToRange(xmlElem.GetChildAsString("DeviceNums"), true, true));
            Query = xmlElem.GetChildAsString("Query");
        }
Example #2
0
        /// <summary>
        /// Сохранить конфигурацию компонента в XML-узле
        /// </summary>
        public override void SaveToXml(XmlElement xmlElem)
        {
            base.SaveToXml(xmlElem);

            xmlElem.AppendElem("BackColorOnHover", BackColorOnHover);
            xmlElem.AppendElem("BorderColorOnHover", BorderColorOnHover);
            xmlElem.AppendElem("ForeColorOnHover", ForeColorOnHover);
            xmlElem.AppendElem("UnderlineOnHover", UnderlineOnHover);
            xmlElem.AppendElem("CnlNums", CnlNums.ToLongString());
            PopupSize.AppendElem(xmlElem, "PopupSize", PopupSize);
            xmlElem.AppendElem("Target", Target);
            xmlElem.AppendElem("Url", Url);
            xmlElem.AppendElem("ViewID", ViewID);
        }
Example #3
0
        /// <summary>
        /// Загрузить конфигурацию компонента из XML-узла
        /// </summary>
        public override void LoadFromXml(XmlNode xmlNode)
        {
            base.LoadFromXml(xmlNode);

            BackColorOnHover   = xmlNode.GetChildAsString("BackColorOnHover");
            BorderColorOnHover = xmlNode.GetChildAsString("BorderColorOnHover");
            ForeColorOnHover   = xmlNode.GetChildAsString("ForeColorOnHover");
            UnderlineOnHover   = xmlNode.GetChildAsBool("UnderlineOnHover");
            CnlNums.Clear();
            CnlNums.AddRange(ScadaUtils.ParseIntArray(xmlNode.GetChildAsString("CnlNums")));
            PopupSize = PopupSize.GetChildAsSize(xmlNode, "PopupSize");
            Target    = xmlNode.GetChildAsEnum <LinkTarget>("Target");
            Url       = xmlNode.GetChildAsString("Url");
            ViewID    = xmlNode.GetChildAsInt("ViewID");
        }
Example #4
0
            /// <summary>
            /// Check that the event matches the filter.
            /// </summary>
            public bool Satisfied(Event ev)
            {
                // if filtering only by channel numbers is used, CnlNums should not be null
                if (Filters == EventFilters.Cnls)
                {
                    // quick check by channel numbers only
                    return(CnlNums.Contains(ev.CnlNum));
                }

                // complete filter condition check
                return
                    ((!Filters.HasFlag(EventFilters.Obj) || ObjNum == ev.ObjNum) &&
                     (!Filters.HasFlag(EventFilters.KP) || KPNum == ev.KPNum) &&
                     (!Filters.HasFlag(EventFilters.Param) || ParamID > 0 && ParamID == ev.ParamID ||
                      ParamIDs != null && ParamIDs.Contains(ev.ParamID)) &&
                     (!Filters.HasFlag(EventFilters.Cnls) || CnlNums != null && CnlNums.Contains(ev.CnlNum)) &&
                     (!Filters.HasFlag(EventFilters.Stat) || Statuses != null && Statuses.Contains(ev.NewCnlStat)) &&
                     (!Filters.HasFlag(EventFilters.Ack) || Checked == ev.Checked));
            }
Example #5
0
 /// <summary>
 /// Проверить, что событие удовлетворяет фильтру
 /// </summary>
 public bool Satisfied(Event ev)
 {
     // если используется фильтр только по номерам каналов, CnlNums должно быть не равно null
     if (Filters == EventFilters.Cnls)
     {
         // быстрая проверка только по номерам каналов
         return(CnlNums.Contains(ev.CnlNum));
     }
     else
     {
         // полная проверка условий фильтра
         return
             ((!Filters.HasFlag(EventFilters.Obj) || ObjNum == ev.ObjNum) &&
              (!Filters.HasFlag(EventFilters.KP) || KPNum == ev.KPNum) &&
              (!Filters.HasFlag(EventFilters.Param) || ParamID > 0 && ParamID == ev.ParamID ||
               ParamIDs != null && ParamIDs.Contains(ev.ParamID)) &&
              (!Filters.HasFlag(EventFilters.Cnls) || CnlNums != null && CnlNums.Contains(ev.CnlNum)) &&
              (!Filters.HasFlag(EventFilters.Stat) || Statuses != null && Statuses.Contains(ev.NewCnlStat)) &&
              (!Filters.HasFlag(EventFilters.Ack) || Checked == ev.Checked));
     }
 }