diff --git a/pcbnew/dialogs/dialog_find.cpp b/pcbnew/dialogs/dialog_find.cpp index 86410c3796..3c4ef5f148 100644 --- a/pcbnew/dialogs/dialog_find.cpp +++ b/pcbnew/dialogs/dialog_find.cpp @@ -33,6 +33,7 @@ #include #include #include +#include #include #include @@ -125,6 +126,48 @@ void DIALOG_FIND::onButtonFindItemClick( wxCommandEvent& aEvent ) break; } } + + for( BOARD_ITEM* item : module->GraphicalItems() ) + { + if( item->Type() != PCB_MODULE_TEXT_T ) + continue; + + TEXTE_MODULE* textItem = static_cast( item ); + + if( WildCompareString( searchString, textItem->GetShownText().GetData(), false ) ) + { + count++; + + if( count > itemCount ) + { + foundItem = module; + pos = module->GetPosition(); + itemCount++; + break; + } + } + } + } + + for( BOARD_ITEM* item : parent->GetBoard()->Drawings() ) + { + if( item->Type() != PCB_MODULE_TEXT_T ) + continue; + + TEXTE_PCB* textItem = static_cast( item ); + + if( WildCompareString( searchString, textItem->GetShownText().GetData(), false ) ) + { + count++; + + if( count > itemCount ) + { + foundItem = textItem; + pos = textItem->GetPosition(); + itemCount++; + break; + } + } } wxString msg;