35 std::vector<long> item = { aItemRow };
43 std::vector<SCH_SHEET_PATH*> paths;
52 paths.push_back( &sheet );
57 for(
SCH_ITEM* item : sheet->LastScreen()->Items() )
59 if( aCollector( item, sheet ) )
74 return StrNumCmp( getResultCell( a, aCol ), getResultCell( b, aCol ), true ) < 0;
76 return StrNumCmp( getResultCell( b, aCol ), getResultCell( a, aCol ), true ) < 0;
84 std::vector<SCH_SEARCH_HIT> selectedHits;
88 for(
long row : aItemRows )
90 if( row >= 0 && row < (
long)
m_hitlist.size() )
92 selectedHits.emplace_back(
m_hitlist[row] );
93 selectedItems.emplace_back(
m_hitlist[row].item );
97 if( selectedHits.empty() )
100 bool allHitsOnSamePage = std::all_of( selectedHits.begin() + 1, selectedHits.end(),
103 return r.sheetPath == selectedHits.front().sheetPath;
106 if( allHitsOnSamePage && !selectedHits.empty() )
114 if( selectedItems.size() )
125 m_columns.emplace_back( wxT(
"Reference" ), 1 );
126 m_columns.emplace_back( wxT(
"Value" ), 3 );
127 m_columns.emplace_back( wxT(
"Footprint" ), 3 );
128 m_columns.emplace_back( wxT(
"Page" ), 1 );
142 frp.
matchMode = EDA_SEARCH_MATCH_MODE::PERMISSIVE;
157 if( frp.
findString.IsEmpty() || field.Matches( frp, sheet ) )
176 return wxEmptyString;
192 return wxEmptyString;
199 m_columns.emplace_back( wxT(
"Type" ), 1 );
200 m_columns.emplace_back( wxT(
"Text" ), 5 );
201 m_columns.emplace_back( wxT(
"Page" ), 1 );
215 frp.
matchMode = EDA_SEARCH_MATCH_MODE::PERMISSIVE;
243 return wxEmptyString;
246 return wxS(
"Text" );
261 return wxEmptyString;
264 return wxS(
"Text" );
276 return wxEmptyString;
283 m_columns.emplace_back( wxT(
"Type" ), 1 );
284 m_columns.emplace_back( wxT(
"Name" ), 4 );
285 m_columns.emplace_back( wxT(
"Page" ), 1 );
299 frp.
matchMode = EDA_SEARCH_MATCH_MODE::PERMISSIVE;
305 if( item->
IsType( { SCH_LABEL_LOCATE_ANY_T } ) )
309 wxCHECK( lbl,
false );
329 return wxEmptyString;
334 return wxS(
"Local" );
336 return wxS(
"Global" );
338 return wxS(
"Hierarchical" );
340 return wxS(
"Directive" );
351 return wxEmptyString;
virtual void Refresh(bool aEraseBackground=true, const wxRect *aRect=nullptr) override
KICAD_T Type() const
Returns the type of object.
virtual bool Matches(const EDA_SEARCH_DATA &aSearchData, void *aAuxData) const
Compare the item against the search criteria in aSearchData.
static TOOL_ACTION addItemsToSel
Selects a list of items (specified as the event parameter)
static TOOL_ACTION clearSelection
Clears the current selection.
LABEL_SEARCH_HANDLER(SCH_EDIT_FRAME *aFrame)
int Search(const wxString &aQuery) override
wxString getResultCell(const SCH_SEARCH_HIT &hit, int aCol) override
SCH_DRAW_PANEL * GetCanvas() const override
Return a pointer to GAL-based canvas of given EDA draw frame.
Schematic editor (Eeschema) main window.
SCH_SHEET_PATH & GetCurrentSheet() const
SCHEMATIC & Schematic() const
void SetCurrentSheet(const SCH_SHEET_PATH &aSheet)
void DisplayCurrentSheet()
Draw the current sheet on the display.
Instances are attached to a symbol or sheet and provide a place for the symbol's value,...
wxString GetShownText(const SCH_SHEET_PATH *aPath, bool aAllowExtraText, int aDepth=0) const
Base class for any item which can be embedded within the SCHEMATIC container class,...
bool IsType(const std::vector< KICAD_T > &aScanTypes) const override
Check whether the item is one of the listed types.
wxString GetShownText(const SCH_SHEET_PATH *aPath, bool aAllowExtraText, int aDepth=0) const override
bool Matches(const EDA_SEARCH_DATA &aSearchData, void *aAuxData) const override
Compare the item against the search criteria in aSearchData.
Container class that holds multiple SCH_SCREEN objects in a hierarchy.
void BuildClientSheetPathList()
built the list of sheet paths sharing a screen for each screen in use
std::vector< SCH_SEARCH_HIT > m_hitlist
void SelectItems(std::vector< long > &aItemRows) override
void FindAll(const std::function< bool(SCH_ITEM *, SCH_SHEET_PATH *)> &aCollector)
void Sort(int aCol, bool aAscending) override
void ActivateItem(long aItemRow) override
VECTOR2I GetPosition() const override
Handle access to a stack of flattened SCH_SHEET objects by way of a path for creating a flattened sch...
wxString GetPageNumber() const
const wxString GetRef(const SCH_SHEET_PATH *aSheet, bool aIncludeUnit=false) const
Return the reference for the given sheet path.
SCH_FIELD * GetField(MANDATORY_FIELD_T aFieldType)
Return a mandatory field in this symbol.
VECTOR2I GetPosition() const override
void GetFields(std::vector< SCH_FIELD * > &aVector, bool aVisibleOnly)
Populate a std::vector with SCH_FIELDs.
virtual wxString GetShownText(const SCH_SHEET_PATH *aPath, bool aAllowExtraText, int aDepth=0) const
VECTOR2I GetPosition() const override
virtual wxString GetShownText(const SCH_SHEET_PATH *aPath, bool aAllowExtraText, int aDepth=0) const
std::vector< std::pair< wxString, int > > m_columns
wxString getResultCell(const SCH_SEARCH_HIT &aHit, int aCol) override
SYMBOL_SEARCH_HANDLER(SCH_EDIT_FRAME *aFrame)
int Search(const wxString &aQuery) override
TEXT_SEARCH_HANDLER(SCH_EDIT_FRAME *aFrame)
int Search(const wxString &aQuery) override
wxString getResultCell(const SCH_SEARCH_HIT &hit, int aCol) override
wxString MessageTextFromValue(double aValue, bool aAddUnitLabel=true, EDA_DATA_TYPE aType=EDA_DATA_TYPE::DISTANCE)
A lower-precision version of StringFromValue().
std::vector< EDA_ITEM * > EDA_ITEMS
Define list of drawing items for screens.
EDA_SEARCH_MATCH_MODE matchMode
bool searchCurrentSheetOnly
SCH_SHEET_PATH * sheetPath
@ FOOTPRINT_FIELD
Field Name Module PCB, i.e. "16DIP300".
@ VALUE_FIELD
Field Value of part, i.e. "3.3K".