KiCad PCB EDA Suite
Loading...
Searching...
No Matches
RESCUER Class Referenceabstract

#include <project_rescue.h>

Inheritance diagram for RESCUER:
LEGACY_RESCUER SYMBOL_LIB_TABLE_RESCUER

Public Member Functions

 RESCUER (PROJECT &aProject, SCHEMATIC *aSchematic, SCH_SHEET_PATH *aCurrentSheet, EDA_DRAW_PANEL_GAL::GAL_TYPE aGalBackeEndType)
 
virtual ~RESCUER ()=default
 
virtual bool WriteRescueLibrary (wxWindow *aParent)=0
 Write the rescue library.
 
virtual void OpenRescueLibrary ()=0
 
virtual void FindCandidates ()=0
 Populate the RESCUER with all possible candidates.
 
virtual void AddSymbol (LIB_SYMBOL *aNewSymbol)=0
 
virtual void InvokeDialog (wxWindow *aParent, bool aAskShowAgain)=0
 Display a dialog to allow the user to select rescues.
 
void RemoveDuplicates ()
 Filter out duplicately named rescue candidates.
 
size_t GetCandidateCount ()
 Return the number of rescue candidates found.
 
size_t GetChosenCandidateCount ()
 Get the number of rescue candidates chosen by the user.
 
std::vector< SCH_SYMBOL * > * GetSymbols ()
 Get the list of symbols that need rescued.
 
PROJECT * GetPrj ()
 Return the PROJECT object for access to the symbol libraries.
 
SCHEMATIC * Schematic ()
 
void LogRescue (SCH_SYMBOL *aSymbol, const wxString &aOldName, const wxString &aNewName)
 Used by individual RESCUE_CANDIDATE objects to log a rescue for undoing.
 
bool DoRescues ()
 Perform all chosen rescue actions, logging them to be undone if necessary.
 
void UndoRescues ()
 Reverse the effects of all rescues on the project.
 

Static Public Member Functions

static bool RescueProject (wxWindow *aParent, RESCUER &aRescuer, bool aRunningOnDemand)
 

Protected Attributes

std::vector< SCH_SYMBOL * > m_symbols
 
PROJECT * m_prj
 
SCHEMATIC * m_schematic
 
EDA_DRAW_PANEL_GAL::GAL_TYPE m_galBackEndType
 
SCH_SHEET_PATH * m_currentSheet
 
boost::ptr_vector< RESCUE_CANDIDATE > m_all_candidates
 
std::vector< RESCUE_CANDIDATE * > m_chosen_candidates
 
std::vector< RESCUE_LOG > m_rescue_log
 

Friends

class DIALOG_RESCUE_EACH
 

Detailed Description

Definition at line 245 of file project_rescue.h.

Constructor & Destructor Documentation

◆ RESCUER()

◆ ~RESCUER()

virtual RESCUER::~RESCUER ( )
virtualdefault

Member Function Documentation

◆ AddSymbol()

◆ DoRescues()

bool RESCUER::DoRescues ( )

Perform all chosen rescue actions, logging them to be undone if necessary.

Returns
True on success

Definition at line 516 of file project_rescue.cpp.

References m_chosen_candidates.

Referenced by RescueProject().

◆ FindCandidates()

virtual void RESCUER::FindCandidates ( )
pure virtual

Populate the RESCUER with all possible candidates.

Implemented in LEGACY_RESCUER, and SYMBOL_LIB_TABLE_RESCUER.

Referenced by RescueProject().

◆ GetCandidateCount()

size_t RESCUER::GetCandidateCount ( )
inline

Return the number of rescue candidates found.

Definition at line 287 of file project_rescue.h.

References m_all_candidates.

Referenced by RescueProject(), and SCH_EDITOR_CONTROL::rescueProject().

◆ GetChosenCandidateCount()

size_t RESCUER::GetChosenCandidateCount ( )
inline

Get the number of rescue candidates chosen by the user.

Definition at line 292 of file project_rescue.h.

References m_chosen_candidates.

Referenced by RescueProject().

◆ GetPrj()

PROJECT * RESCUER::GetPrj ( )
inline

Return the PROJECT object for access to the symbol libraries.

Definition at line 302 of file project_rescue.h.

References m_prj.

Referenced by RESCUE_CACHE_CANDIDATE::FindRescues(), RESCUE_CASE_CANDIDATE::FindRescues(), and RESCUE_SYMBOL_LIB_TABLE_CANDIDATE::FindRescues().

◆ GetSymbols()

◆ InvokeDialog()

virtual void RESCUER::InvokeDialog ( wxWindow * aParent,
bool aAskShowAgain )
pure virtual

Display a dialog to allow the user to select rescues.

Parameters
aParentis the parent window of the dialog.
aAskShowAgainindicate whether the "Never Show Again" button should be visible.

Implemented in LEGACY_RESCUER, and SYMBOL_LIB_TABLE_RESCUER.

Referenced by RescueProject().

◆ LogRescue()

void RESCUER::LogRescue ( SCH_SYMBOL * aSymbol,
const wxString & aOldName,
const wxString & aNewName )

◆ OpenRescueLibrary()

virtual void RESCUER::OpenRescueLibrary ( )
pure virtual

Implemented in LEGACY_RESCUER, and SYMBOL_LIB_TABLE_RESCUER.

Referenced by RescueProject().

◆ RemoveDuplicates()

void RESCUER::RemoveDuplicates ( )

Filter out duplicately named rescue candidates.

Definition at line 587 of file project_rescue.cpp.

References m_all_candidates.

Referenced by RescueProject().

◆ RescueProject()

◆ Schematic()

SCHEMATIC * RESCUER::Schematic ( )
inline

Definition at line 304 of file project_rescue.h.

References m_schematic.

Referenced by RESCUE_SYMBOL_LIB_TABLE_CANDIDATE::FindRescues().

◆ UndoRescues()

void RESCUER::UndoRescues ( )

Reverse the effects of all rescues on the project.

Definition at line 528 of file project_rescue.cpp.

References m_rescue_log, and LIB_ID::SetLibItemName().

Referenced by RescueProject().

◆ WriteRescueLibrary()

virtual bool RESCUER::WriteRescueLibrary ( wxWindow * aParent)
pure virtual

Write the rescue library.

Called after successful PerformAction()s. If this fails, undo the actions.

Returns
True on success.

Implemented in LEGACY_RESCUER, and SYMBOL_LIB_TABLE_RESCUER.

Referenced by RescueProject().

Friends And Related Symbol Documentation

◆ DIALOG_RESCUE_EACH

friend class DIALOG_RESCUE_EACH
friend

Definition at line 326 of file project_rescue.h.

References DIALOG_RESCUE_EACH.

Referenced by DIALOG_RESCUE_EACH.

Member Data Documentation

◆ m_all_candidates

boost::ptr_vector<RESCUE_CANDIDATE> RESCUER::m_all_candidates
protected

◆ m_chosen_candidates

std::vector<RESCUE_CANDIDATE*> RESCUER::m_chosen_candidates
protected

Definition at line 335 of file project_rescue.h.

Referenced by DoRescues(), and GetChosenCandidateCount().

◆ m_currentSheet

SCH_SHEET_PATH* RESCUER::m_currentSheet
protected

◆ m_galBackEndType

EDA_DRAW_PANEL_GAL::GAL_TYPE RESCUER::m_galBackEndType
protected

◆ m_prj

◆ m_rescue_log

std::vector<RESCUE_LOG> RESCUER::m_rescue_log
protected

Definition at line 337 of file project_rescue.h.

Referenced by LogRescue(), and UndoRescues().

◆ m_schematic

◆ m_symbols

std::vector<SCH_SYMBOL*> RESCUER::m_symbols
protected

Definition at line 328 of file project_rescue.h.

Referenced by GetSymbols(), and RESCUER().


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