public ContainerFilterControl(AggregatedVirtualItemFilter filter)
 {
     this.components = null;
     if (filter == null)
     {
         throw new ArgumentNullException("filter");
     }
     this.InitializeComponent();
     this.InitializeToolStripItems();
     this.InitializeContainerFilterControl(filter);
 }
 private void Write108_AggregatedVirtualItemFilter(string n, string ns, AggregatedVirtualItemFilter o, bool isNullable, bool needType)
 {
     if (o == null)
     {
         if (isNullable)
         {
             base.WriteNullTagLiteral(n, ns);
         }
     }
     else
     {
         if (!needType && (o.GetType() != typeof(AggregatedVirtualItemFilter)))
         {
             throw base.CreateUnknownTypeException(o);
         }
         base.WriteStartElement(n, ns, o, false, null);
         if (needType)
         {
             base.WriteXsiType("AggregatedVirtualItemFilter", "");
         }
         base.WriteElementString("Condition", "", this.Write64_AggregatedFilterCondition(o.Condition));
         BasicFilter[] serializableFilters = o.SerializableFilters;
         if (serializableFilters != null)
         {
             base.WriteStartElement("Filters", "", null, false);
             for (int i = 0; i < serializableFilters.Length; i++)
             {
                 BasicFilter filter = serializableFilters[i];
                 if (filter != null)
                 {
                     if (filter is VirtualItemSizeFilter)
                     {
                         this.Write98_VirtualItemSizeFilter("SizeFilter", "", (VirtualItemSizeFilter) filter, true, false);
                     }
                     else if (filter is VirtualItemDateFilter)
                     {
                         this.Write99_VirtualItemDateFilter("DateFilter", "", (VirtualItemDateFilter) filter, true, false);
                     }
                     else if (filter is VirtualItemContentFilter)
                     {
                         this.Write87_VirtualItemContentFilter("ContentFilter", "", (VirtualItemContentFilter) filter, true, false);
                     }
                     else if (filter is VirtualItemTimeFilter)
                     {
                         this.Write91_VirtualItemTimeFilter("TimeFilter", "", (VirtualItemTimeFilter) filter, true, false);
                     }
                     else if (filter is VirtualItemHexContentFilter)
                     {
                         this.Write105_VirtualItemHexContentFilter("HexContentFilter", "", (VirtualItemHexContentFilter) filter, true, false);
                     }
                     else if (filter is VirtualItemNameFilter)
                     {
                         this.Write103_VirtualItemNameFilter("NameFilter", "", (VirtualItemNameFilter) filter, true, false);
                     }
                     else if (filter is VirtualItemAttributeFilter)
                     {
                         this.Write94_VirtualItemAttributeFilter("AttributeFilter", "", (VirtualItemAttributeFilter) filter, true, false);
                     }
                     else if (filter is VirtualItemNameListFilter)
                     {
                         this.Write107_VirtualItemNameListFilter("NameListFilter", "", (VirtualItemNameListFilter) filter, true, false);
                     }
                     else if (filter is AggregatedVirtualItemFilter)
                     {
                         this.Write108_AggregatedVirtualItemFilter("AggregatedFilter", "", (AggregatedVirtualItemFilter) filter, true, false);
                     }
                     else if (filter is VirtualPropertyFilter)
                     {
                         this.Write84_VirtualPropertyFilter("PropertyFilter", "", (VirtualPropertyFilter) filter, true, false);
                     }
                     else if (filter != null)
                     {
                         throw base.CreateUnknownTypeException(filter);
                     }
                 }
             }
             base.WriteEndElement();
         }
         base.WriteEndElement(o);
     }
 }
        private void InitializeContainerFilterControl(AggregatedVirtualItemFilter filter)
        {
            base.CanRaiseFilterChanged = false;
            try
            {
                switch (filter.Condition)
                {
                    case AggregatedFilterCondition.All:
                        this.tsmiConditionAll.PerformClick();
                        break;

                    case AggregatedFilterCondition.Any:
                        this.tsmiConditionAny.PerformClick();
                        break;

                    case AggregatedFilterCondition.None:
                        this.tsmiConditionNone.PerformClick();
                        break;

                    default:
                        throw new InvalidEnumArgumentException();
                }
                this.flpFilters.SuspendLayout();
                foreach (IVirtualItemFilter filter2 in filter.Filters)
                {
                    Control filterControl = CreateFilterControl(filter2);
                    this.AddFilterControl(filterControl);
                }
                this.flpFilters.ResumeLayout();
            }
            finally
            {
                base.CanRaiseFilterChanged = true;
            }
        }
 private AggregatedVirtualItemFilter Read108_AggregatedVirtualItemFilter(bool isNullable, bool checkType)
 {
     XmlQualifiedName type = checkType ? base.GetXsiType() : null;
     bool flag = false;
     if (isNullable)
     {
         flag = base.ReadNull();
     }
     if ((checkType && (type != null)) && ((type.Name != this.id55_AggregatedVirtualItemFilter) || (type.Namespace != this.id2_Item)))
     {
         throw base.CreateUnknownTypeException(type);
     }
     if (flag)
     {
         return null;
     }
     AggregatedVirtualItemFilter o = new AggregatedVirtualItemFilter();
     bool[] flagArray = new bool[2];
     while (base.Reader.MoveToNextAttribute())
     {
         if (!base.IsXmlnsAttribute(base.Reader.Name))
         {
             base.UnknownNode(o);
         }
     }
     base.Reader.MoveToElement();
     if (base.Reader.IsEmptyElement)
     {
         base.Reader.Skip();
         return o;
     }
     base.Reader.ReadStartElement();
     base.Reader.MoveToContent();
     int whileIterations = 0;
     int readerCount = base.ReaderCount;
     while ((base.Reader.NodeType != XmlNodeType.EndElement) && (base.Reader.NodeType != XmlNodeType.None))
     {
         if (base.Reader.NodeType == XmlNodeType.Element)
         {
             if ((!flagArray[0] && (base.Reader.LocalName == this.id209_Condition)) && (base.Reader.NamespaceURI == this.id2_Item))
             {
                 o.Condition = this.Read64_AggregatedFilterCondition(base.Reader.ReadElementString());
                 flagArray[0] = true;
             }
             else if ((base.Reader.LocalName == this.id231_Filters) && (base.Reader.NamespaceURI == this.id2_Item))
             {
                 if (!base.ReadNull())
                 {
                     BasicFilter[] a = null;
                     int index = 0;
                     if (base.Reader.IsEmptyElement)
                     {
                         base.Reader.Skip();
                     }
                     else
                     {
                         base.Reader.ReadStartElement();
                         base.Reader.MoveToContent();
                         int num4 = 0;
                         int num5 = base.ReaderCount;
                         while ((base.Reader.NodeType != XmlNodeType.EndElement) && (base.Reader.NodeType != XmlNodeType.None))
                         {
                             if (base.Reader.NodeType == XmlNodeType.Element)
                             {
                                 if ((base.Reader.LocalName == this.id180_NameListFilter) && (base.Reader.NamespaceURI == this.id2_Item))
                                 {
                                     a = (BasicFilter[]) base.EnsureArrayIndex(a, index, typeof(BasicFilter));
                                     a[index++] = this.Read107_VirtualItemNameListFilter(true, true);
                                 }
                                 else if ((base.Reader.LocalName == this.id185_TimeFilter) && (base.Reader.NamespaceURI == this.id2_Item))
                                 {
                                     a = (BasicFilter[]) base.EnsureArrayIndex(a, index, typeof(BasicFilter));
                                     a[index++] = this.Read91_VirtualItemTimeFilter(true, true);
                                 }
                                 else if ((base.Reader.LocalName == this.id181_HexContentFilter) && (base.Reader.NamespaceURI == this.id2_Item))
                                 {
                                     a = (BasicFilter[]) base.EnsureArrayIndex(a, index, typeof(BasicFilter));
                                     a[index++] = this.Read105_VirtualItemHexContentFilter(true, true);
                                 }
                                 else if ((base.Reader.LocalName == this.id182_AttributeFilter) && (base.Reader.NamespaceURI == this.id2_Item))
                                 {
                                     a = (BasicFilter[]) base.EnsureArrayIndex(a, index, typeof(BasicFilter));
                                     a[index++] = this.Read94_VirtualItemAttributeFilter(true, true);
                                 }
                                 else if ((base.Reader.LocalName == this.id184_DateFilter) && (base.Reader.NamespaceURI == this.id2_Item))
                                 {
                                     a = (BasicFilter[]) base.EnsureArrayIndex(a, index, typeof(BasicFilter));
                                     a[index++] = this.Read99_VirtualItemDateFilter(true, true);
                                 }
                                 else if ((base.Reader.LocalName == this.id179_ContentFilter) && (base.Reader.NamespaceURI == this.id2_Item))
                                 {
                                     a = (BasicFilter[]) base.EnsureArrayIndex(a, index, typeof(BasicFilter));
                                     a[index++] = this.Read87_VirtualItemContentFilter(true, true);
                                 }
                                 else if ((base.Reader.LocalName == this.id177_NameFilter) && (base.Reader.NamespaceURI == this.id2_Item))
                                 {
                                     a = (BasicFilter[]) base.EnsureArrayIndex(a, index, typeof(BasicFilter));
                                     a[index++] = this.Read103_VirtualItemNameFilter(true, true);
                                 }
                                 else if ((base.Reader.LocalName == this.id178_PropertyFilter) && (base.Reader.NamespaceURI == this.id2_Item))
                                 {
                                     a = (BasicFilter[]) base.EnsureArrayIndex(a, index, typeof(BasicFilter));
                                     a[index++] = this.Read84_VirtualPropertyFilter(true, true);
                                 }
                                 else if ((base.Reader.LocalName == this.id176_AggregatedFilter) && (base.Reader.NamespaceURI == this.id2_Item))
                                 {
                                     a = (BasicFilter[]) base.EnsureArrayIndex(a, index, typeof(BasicFilter));
                                     a[index++] = this.Read108_AggregatedVirtualItemFilter(true, true);
                                 }
                                 else if ((base.Reader.LocalName == this.id183_SizeFilter) && (base.Reader.NamespaceURI == this.id2_Item))
                                 {
                                     a = (BasicFilter[]) base.EnsureArrayIndex(a, index, typeof(BasicFilter));
                                     a[index++] = this.Read98_VirtualItemSizeFilter(true, true);
                                 }
                                 else
                                 {
                                     base.UnknownNode(null, ":NameListFilter, :TimeFilter, :HexContentFilter, :AttributeFilter, :DateFilter, :ContentFilter, :NameFilter, :PropertyFilter, :AggregatedFilter, :SizeFilter");
                                 }
                             }
                             else
                             {
                                 base.UnknownNode(null, ":NameListFilter, :TimeFilter, :HexContentFilter, :AttributeFilter, :DateFilter, :ContentFilter, :NameFilter, :PropertyFilter, :AggregatedFilter, :SizeFilter");
                             }
                             base.Reader.MoveToContent();
                             base.CheckReaderCount(ref num4, ref num5);
                         }
                         base.ReadEndElement();
                     }
                     o.SerializableFilters = (BasicFilter[]) base.ShrinkArray(a, index, typeof(BasicFilter), false);
                 }
             }
             else
             {
                 base.UnknownNode(o, ":Condition, :Filters");
             }
         }
         else
         {
             base.UnknownNode(o, ":Condition, :Filters");
         }
         base.Reader.MoveToContent();
         base.CheckReaderCount(ref whileIterations, ref readerCount);
     }
     base.ReadEndElement();
     return o;
 }