KiCad PCB EDA Suite
Loading...
Searching...
No Matches
BOARD_TEXT_VAR_ADAPTER Class Reference

Bridges BOARD's listener stream into the generic TEXT_VAR_TRACKER. More...

#include <board_text_var_adapter.h>

Inheritance diagram for BOARD_TEXT_VAR_ADAPTER:
BOARD_LISTENER

Public Member Functions

 BOARD_TEXT_VAR_ADAPTER (BOARD &aBoard)
 
 ~BOARD_TEXT_VAR_ADAPTER () override=default
 
TEXT_VAR_TRACKERTracker ()
 
const TEXT_VAR_TRACKERTracker () const
 
void OnBoardItemAdded (BOARD &aBoard, BOARD_ITEM *aItem) override
 
void OnBoardItemsAdded (BOARD &aBoard, std::vector< BOARD_ITEM * > &aItems) override
 
void OnBoardItemRemoved (BOARD &aBoard, BOARD_ITEM *aItem) override
 
void OnBoardItemsRemoved (BOARD &aBoard, std::vector< BOARD_ITEM * > &aItems) override
 
void OnBoardItemChanged (BOARD &aBoard, BOARD_ITEM *aItem) override
 
void OnBoardItemsChanged (BOARD &aBoard, std::vector< BOARD_ITEM * > &aItems) override
 
void OnBoardCompositeUpdate (BOARD &aBoard, std::vector< BOARD_ITEM * > &aAdded, std::vector< BOARD_ITEM * > &aRemoved, std::vector< BOARD_ITEM * > &aChanged) override
 
void RebuildIndex ()
 Scan the whole board and register every text-bearing item.
 
std::vector< TEXT_VAR_REF_KEYExtractSourceKeys (EDA_ITEM *aItem) const
 Return the keys aItem could source as a cross-reference target.
 
virtual void OnBoardNetSettingsChanged (BOARD &aBoard)
 
virtual void OnBoardHighlightNetChanged (BOARD &aBoard)
 
virtual void OnBoardRatsnestChanged (BOARD &aBoard)
 

Private Member Functions

void registerItem (BOARD_ITEM *aItem)
 
void unregisterItem (BOARD_ITEM *aItem)
 

Private Attributes

BOARDm_board
 
TEXT_VAR_TRACKER m_tracker
 

Detailed Description

Bridges BOARD's listener stream into the generic TEXT_VAR_TRACKER.

Responsibilities:

  • Register any EDA_TEXT-bearing item added to the BOARD so its ${...} references become graph edges.
  • On composite updates, re-register changed text items (their source text may have been edited) and fan out invalidations for cross-refs that changed FOOTPRINTs could source (${REFDES:FIELD}).
  • Unregister removed items.

The adapter is owned by BOARD and added to its listener list in the BOARD ctor. Lifetime is tied to the BOARD, so no explicit remove is needed on destruction — BOARD's listener vector is torn down by its own destructor.

Definition at line 45 of file board_text_var_adapter.h.

Constructor & Destructor Documentation

◆ BOARD_TEXT_VAR_ADAPTER()

BOARD_TEXT_VAR_ADAPTER::BOARD_TEXT_VAR_ADAPTER ( BOARD & aBoard)
explicit

Definition at line 30 of file board_text_var_adapter.cpp.

References ExtractSourceKeys(), m_board, and m_tracker.

◆ ~BOARD_TEXT_VAR_ADAPTER()

BOARD_TEXT_VAR_ADAPTER::~BOARD_TEXT_VAR_ADAPTER ( )
overridedefault

Member Function Documentation

◆ ExtractSourceKeys()

std::vector< TEXT_VAR_REF_KEY > BOARD_TEXT_VAR_ADAPTER::ExtractSourceKeys ( EDA_ITEM * aItem) const

Return the keys aItem could source as a cross-reference target.

For a FOOTPRINT, these are ${REFDES:FIELD} keys — one per named field.

Definition at line 196 of file board_text_var_adapter.cpp.

References TEXT_VAR_REF_KEY::CROSS_REF, FOOTPRINT::GetFields(), FOOTPRINT::GetReference(), TEXT_VAR_REF_KEY::kind, TEXT_VAR_REF_KEY::primary, and TEXT_VAR_REF_KEY::secondary.

Referenced by BOARD_TEXT_VAR_ADAPTER().

◆ OnBoardCompositeUpdate()

void BOARD_TEXT_VAR_ADAPTER::OnBoardCompositeUpdate ( BOARD & aBoard,
std::vector< BOARD_ITEM * > & aAdded,
std::vector< BOARD_ITEM * > & aRemoved,
std::vector< BOARD_ITEM * > & aChanged )
overridevirtual

Reimplemented from BOARD_LISTENER.

Definition at line 165 of file board_text_var_adapter.cpp.

References OnBoardItemChanged(), registerItem(), and unregisterItem().

◆ OnBoardHighlightNetChanged()

virtual void BOARD_LISTENER::OnBoardHighlightNetChanged ( BOARD & aBoard)
inlinevirtualinherited

Reimplemented in PCB_NET_INSPECTOR_PANEL, and PCB_SEARCH_PANE.

Definition at line 295 of file board.h.

Referenced by BOARD::HighLightON(), BOARD::ResetNetHighLight(), and BOARD::SetHighLightNet().

◆ OnBoardItemAdded()

void BOARD_TEXT_VAR_ADAPTER::OnBoardItemAdded ( BOARD & aBoard,
BOARD_ITEM * aItem )
overridevirtual

Reimplemented from BOARD_LISTENER.

Definition at line 87 of file board_text_var_adapter.cpp.

References registerItem().

◆ OnBoardItemChanged()

void BOARD_TEXT_VAR_ADAPTER::OnBoardItemChanged ( BOARD & aBoard,
BOARD_ITEM * aItem )
overridevirtual

Reimplemented from BOARD_LISTENER.

Definition at line 113 of file board_text_var_adapter.cpp.

References FilterTrackable(), m_tracker, and text.

Referenced by OnBoardCompositeUpdate(), and OnBoardItemsChanged().

◆ OnBoardItemRemoved()

void BOARD_TEXT_VAR_ADAPTER::OnBoardItemRemoved ( BOARD & aBoard,
BOARD_ITEM * aItem )
overridevirtual

Reimplemented from BOARD_LISTENER.

Definition at line 100 of file board_text_var_adapter.cpp.

References unregisterItem().

◆ OnBoardItemsAdded()

void BOARD_TEXT_VAR_ADAPTER::OnBoardItemsAdded ( BOARD & aBoard,
std::vector< BOARD_ITEM * > & aItems )
overridevirtual

Reimplemented from BOARD_LISTENER.

Definition at line 93 of file board_text_var_adapter.cpp.

References registerItem().

◆ OnBoardItemsChanged()

void BOARD_TEXT_VAR_ADAPTER::OnBoardItemsChanged ( BOARD & aBoard,
std::vector< BOARD_ITEM * > & aItems )
overridevirtual

Reimplemented from BOARD_LISTENER.

Definition at line 158 of file board_text_var_adapter.cpp.

References OnBoardItemChanged().

◆ OnBoardItemsRemoved()

void BOARD_TEXT_VAR_ADAPTER::OnBoardItemsRemoved ( BOARD & aBoard,
std::vector< BOARD_ITEM * > & aItems )
overridevirtual

Reimplemented from BOARD_LISTENER.

Definition at line 106 of file board_text_var_adapter.cpp.

References unregisterItem().

◆ OnBoardNetSettingsChanged()

virtual void BOARD_LISTENER::OnBoardNetSettingsChanged ( BOARD & aBoard)
inlinevirtualinherited

Reimplemented in APPEARANCE_CONTROLS, PCB_NET_INSPECTOR_PANEL, and PCB_SEARCH_PANE.

Definition at line 292 of file board.h.

Referenced by BOARD::SynchronizeNetsAndNetClasses().

◆ OnBoardRatsnestChanged()

virtual void BOARD_LISTENER::OnBoardRatsnestChanged ( BOARD & aBoard)
inlinevirtualinherited

Reimplemented in PCB_SEARCH_PANE.

Definition at line 296 of file board.h.

Referenced by BOARD::OnRatsnestChanged().

◆ RebuildIndex()

void BOARD_TEXT_VAR_ADAPTER::RebuildIndex ( )

Scan the whole board and register every text-bearing item.

Called from the BOARD ctor so dependencies are correct from the start, and exposed for use after bulk loads (board open, import) that bypass per-item listener callbacks.

Definition at line 184 of file board_text_var_adapter.cpp.

References m_board, m_tracker, and registerItem().

◆ registerItem()

void BOARD_TEXT_VAR_ADAPTER::registerItem ( BOARD_ITEM * aItem)
private

◆ Tracker() [1/2]

◆ Tracker() [2/2]

const TEXT_VAR_TRACKER & BOARD_TEXT_VAR_ADAPTER::Tracker ( ) const
inline

Definition at line 52 of file board_text_var_adapter.h.

References m_tracker.

◆ unregisterItem()

void BOARD_TEXT_VAR_ADAPTER::unregisterItem ( BOARD_ITEM * aItem)
private

Member Data Documentation

◆ m_board

BOARD& BOARD_TEXT_VAR_ADAPTER::m_board
private

Definition at line 83 of file board_text_var_adapter.h.

Referenced by BOARD_TEXT_VAR_ADAPTER(), and RebuildIndex().

◆ m_tracker

TEXT_VAR_TRACKER BOARD_TEXT_VAR_ADAPTER::m_tracker
private

The documentation for this class was generated from the following files: