Esempio n. 1
0
        private void SearchFromList(string searchWord, LinkedList <MbeObj> mbeDataList, ulong visibleLayer)
        {
            if (mbeDataList == null || mbeDataList.Count == 0)
            {
                return;
            }

            foreach (MbeObj obj in mbeDataList)
            {
                if (obj.DeleteCount < 0)
                {
                    if (obj.Id() == MbeObjID.MbeText)
                    {
                        if (((ulong)obj.Layer & visibleLayer) != 0)
                        {
                            if (obj.SigName.ToUpper().Contains(searchWord))
                            {
                                addItem(obj.SigName, "Text", obj.GetPos(0));
                            }
                        }
                    }
                    else if (obj.Id() == MbeObjID.MbeComponent)
                    {
                        MbeObjComponent compObj = (MbeObjComponent)obj;
                        if (compObj.DrawRefOnDoc && (((ulong)MbeLayer.LayerValue.DOC & visibleLayer) != 0) ||
                            !compObj.DrawRefOnDoc && (((ulong)(compObj.Layer == MbeLayer.LayerValue.CMP ? MbeLayer.LayerValue.PLC : MbeLayer.LayerValue.PLS) & visibleLayer) != 0))
                        {
                            if (compObj.RefNumText.ToUpper().Contains(searchWord))
                            {
                                addItem(compObj.RefNumText, "Reference", compObj.RefnumPos());
                            }
                        }
                        if (((ulong)compObj.Layer & visibleLayer) != 0)
                        {
                            if (compObj.PackageName.ToUpper().Contains(searchWord))
                            {
                                addItem(compObj.PackageName, "Package", compObj.GetPos(0));
                            }
                            if (compObj.SigName.ToUpper().Contains(searchWord))
                            {
                                addItem(compObj.SigName, "Name", compObj.GetPos(0));
                            }
                        }
                    }
                }
            }
        }