38#include <wx/fdrepdlg.h> 
   45    GetSizer()->SetSizeHints( 
this );
 
   51        m_frame->GetFindHistoryList().pop_back();
 
   76        wxString hotkeyHint = wxString::Format( wxT( 
" (%s)" ), 
KeyNameFromKeyCode( hotkey ) );
 
 
   90        m_board->RemoveListener( 
this );
 
 
   98    if( !aFindString.IsEmpty() )
 
 
  135    EndModal( wxID_CANCEL );
 
 
  151    wxString    searchString;
 
  152    bool        endIsReached = 
false;
 
  153    bool        isFirstSearch = 
false;
 
  157    if( searchString.IsEmpty() )
 
  166    if( index == wxNOT_FOUND )
 
  171        m_frame->GetFindHistoryList().Insert( searchString, 0 );
 
  175            m_frame->GetFindHistoryList().pop_back();
 
  179    else if( index != 0 )
 
  186        if( 
m_frame->GetFindHistoryList().Index( searchString ) )
 
  187            m_frame->GetFindHistoryList().Remove( searchString );
 
  189        m_frame->GetFindHistoryList().Insert( searchString, 0 );
 
  217        m_status->SetLabel( 
_( 
"Searching..." ) );
 
  229                if( !found && 
m_includeValues->GetValue() && fp->Value().Matches( frd, 
nullptr ) )
 
  234                    for( 
BOARD_ITEM* item : fp->GraphicalItems() )
 
  240                            if( 
text->Matches( frd, 
nullptr ) )
 
  251                    for( 
PCB_FIELD* field : fp->GetFields() )
 
  253                        if( field->Matches( frd, 
nullptr ) )
 
  273                        if( 
text && 
text->Matches( frd, 
nullptr ) )
 
  280                    ZONE* zone = 
static_cast<ZONE*
>( item );
 
  282                    if( zone->
Matches( frd, 
nullptr ) )
 
  292                if( marker->Matches( frd, 
nullptr ) )
 
  301                if( net && net->Matches( frd, 
nullptr ) )
 
  307        isFirstSearch = 
true;
 
  320        m_frame->SetStatusText( wxEmptyString );
 
  360        m_frame->SetStatusText( wxEmptyString );
 
  361        msg.Printf( 
_( 
"'%s' not found" ), searchString );
 
  362        m_frame->ShowInfoBarMsg( msg );
 
  368        m_frame->SetStatusText( wxEmptyString );
 
  369        m_frame->ShowInfoBarMsg( 
_( 
"No more items to show" ) );
 
  377        msg.Printf( 
_( 
"'%s' found" ), searchString );
 
  380        msg.Printf( 
_( 
"Hit(s): %d / %zu" ),
 
 
static TOOL_ACTION selectItem
Select an item (specified as the event parameter).
 
static TOOL_ACTION showSearch
 
static TOOL_ACTION selectionClear
Clear the current selection.
 
VECTOR2I m_StartVisu
Coordinates in drawing units of the current view position (upper left corner of device)
 
A base class for any item which can be embedded within the BOARD container class, and therefore insta...
 
Information pertinent to a Pcbnew printed circuit board.
 
const NETINFO_LIST & GetNetInfo() const
 
const ZONES & Zones() const
 
const MARKERS & Markers() const
 
const FOOTPRINTS & Footprints() const
 
const DRAWINGS & Drawings() const
 
wxCheckBox * m_checkAllFields
 
wxCheckBox * m_includeTexts
 
wxCheckBox * m_includeValues
 
wxHyperlinkCtrl * m_searchPanelLink
 
wxComboBox * m_searchCombo
 
wxCheckBox * m_includeReferences
 
wxCheckBox * m_matchWords
 
wxCheckBox * m_includeNets
 
wxCheckBox * m_includeMarkers
 
DIALOG_FIND_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &title=wxEmptyString, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxDEFAULT_DIALOG_STYLE)
 
void onTextEnter(wxCommandEvent &event) override
 
DIALOG_FIND(PCB_EDIT_FRAME *aParent)
 
bool Show(bool show=true) override
The Show method is overridden to make the search combobox focused by default.
 
std::deque< BOARD_ITEM * >::iterator m_it
 
void Preload(const wxString &aFindString)
 
void onFindNextClick(wxCommandEvent &event) override
 
void search(bool direction)
 
void onSearchAgainClick(wxCommandEvent &event) override
 
BOARD_ITEM * GetItem() const
Return the currently found item or nullptr in the case of no items found.
 
void onShowSearchPanel(wxHyperlinkEvent &event) override
 
void onFindPreviousClick(wxCommandEvent &event) override
 
std::function< void(BOARD_ITEM *)> m_highlightCallback
 
std::deque< BOARD_ITEM * > m_hitList
 
void OnBoardChanged(wxCommandEvent &event)
 
bool Show(bool show) override
 
void SetInitialFocus(wxWindow *aWindow)
Sets the window (usually a wxTextCtrl) that should be focused when the dialog is shown.
 
A base class for most all the KiCad significant classes used in schematics and boards.
 
Handle the data for a net.
 
The main frame for Pcbnew.
 
Handle a list of polygons defining a copper zone.
 
bool Matches(const EDA_SEARCH_DATA &aSearchData, void *aAuxData) const override
Compare the item against the search criteria in aSearchData.
 
#define PCB_EDIT_FRAME_NAME
 
wxString KeyNameFromKeyCode(int aKeycode, bool *aIsFound)
Return the key name from the key code.
 
EDA_SEARCH_MATCH_MODE matchMode
 
@ PCB_TEXT_T
class PCB_TEXT, text on a layer