ObjectEditor.frmMain.ApplyFilter C# (CSharp) Method

ApplyFilter() private method

private ApplyFilter ( ) : void
return void
        private void ApplyFilter()
        {
            SortOrder so = lstProtos.Sorting;
            if (!chkFilter.Checked)
            {
                lstProtos.ModelFilter = null;
                return;
            }
            else
            {
                this.lstProtos.ModelFilter = new ModelFilter(delegate(object x)
                {
                    ItemProto Prot = (ItemProto)x;
                    if (FilterFlags != 0)
                    {
                        foreach (KeyValuePair<string, string> kvp in CustomInterface.CustomFlags)
                        {
                            uint Flag = (uint)Data.Defines[kvp.Value];
                            if (FOCommon.Utils.IsFlagSet(FilterFlags, Flag) && !FOCommon.Utils.IsFlagSet(Prot.Flags, Flag))
                                return false;
                        }
                    }
                    if (!IsFilterTypeChecked(FOCommon.Utils.GetKeyByValue(Data.ItemTypes, Prot.Type)))
                        return false;

                    if (txtSearch.Text != "")
                        return TextInProto(Prot, txtSearch.Text);

                    return true;
                });
            }
            lstProtos.Sorting = so;
        }