KiCad PCB EDA Suite
|
#include <project_rescue.h>
Public Member Functions | |
RESCUER (PROJECT &aProject, SCHEMATIC *aSchematic, SCH_SHEET_PATH *aCurrentSheet, EDA_DRAW_PANEL_GAL::GAL_TYPE aGalBackeEndType) | |
virtual | ~RESCUER () |
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 #SCH_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 |
Definition at line 232 of file project_rescue.h.
RESCUER::RESCUER | ( | PROJECT & | aProject, |
SCHEMATIC * | aSchematic, | ||
SCH_SHEET_PATH * | aCurrentSheet, | ||
EDA_DRAW_PANEL_GAL::GAL_TYPE | aGalBackeEndType | ||
) |
Definition at line 538 of file project_rescue.cpp.
References getSymbols(), SCH_SHEET_PATH::LastScreen(), m_currentSheet, m_galBackEndType, m_prj, m_schematic, m_symbols, and SCH_SCREEN::Schematic().
|
inlinevirtual |
Definition at line 238 of file project_rescue.h.
|
pure virtual |
Implemented in LEGACY_RESCUER, and SYMBOL_LIB_TABLE_RESCUER.
Referenced by RESCUE_CASE_CANDIDATE::PerformAction(), RESCUE_CACHE_CANDIDATE::PerformAction(), and RESCUE_SYMBOL_LIB_TABLE_CANDIDATE::PerformAction().
bool RESCUER::DoRescues | ( | ) |
Perform all chosen rescue actions, logging them to be undone if necessary.
Definition at line 565 of file project_rescue.cpp.
References m_chosen_candidates.
Referenced by RescueProject().
|
pure virtual |
Populate the RESCUER with all possible candidates.
Implemented in LEGACY_RESCUER, and SYMBOL_LIB_TABLE_RESCUER.
Referenced by RescueProject().
|
inline |
Return the number of rescue candidates found.
Definition at line 275 of file project_rescue.h.
References m_all_candidates.
Referenced by SCH_EDITOR_CONTROL::rescueProject(), RescueProject(), and DIALOG_RESCUE_EACH::TransferDataFromWindow().
|
inline |
Get the number of rescue candidates chosen by the user.
Definition at line 280 of file project_rescue.h.
References m_chosen_candidates.
Referenced by RescueProject().
|
inline |
Return the #SCH_PROJECT object for access to the symbol libraries.
Definition at line 290 of file project_rescue.h.
References m_prj.
Referenced by RESCUE_CASE_CANDIDATE::FindRescues(), RESCUE_CACHE_CANDIDATE::FindRescues(), and RESCUE_SYMBOL_LIB_TABLE_CANDIDATE::FindRescues().
|
inline |
Get the list of symbols that need rescued.
Definition at line 285 of file project_rescue.h.
References m_symbols.
Referenced by RESCUE_CASE_CANDIDATE::FindRescues(), RESCUE_CACHE_CANDIDATE::FindRescues(), RESCUE_SYMBOL_LIB_TABLE_CANDIDATE::FindRescues(), RESCUE_CASE_CANDIDATE::PerformAction(), RESCUE_CACHE_CANDIDATE::PerformAction(), RESCUE_SYMBOL_LIB_TABLE_CANDIDATE::PerformAction(), and DIALOG_RESCUE_EACH::PopulateInstanceList().
|
pure virtual |
Display a dialog to allow the user to select rescues.
aAskShowAgain | - whether the "Never Show Again" button should be visible |
Implemented in LEGACY_RESCUER, and SYMBOL_LIB_TABLE_RESCUER.
Referenced by RescueProject().
void RESCUER::LogRescue | ( | SCH_SYMBOL * | aSymbol, |
const wxString & | aOldName, | ||
const wxString & | aNewName | ||
) |
Used by individual RESCUE_CANDIDATE objects to log a rescue for undoing.
Definition at line 554 of file project_rescue.cpp.
References m_rescue_log, RESCUE_LOG::new_name, RESCUE_LOG::old_name, and RESCUE_LOG::symbol.
Referenced by RESCUE_CASE_CANDIDATE::PerformAction(), RESCUE_CACHE_CANDIDATE::PerformAction(), and RESCUE_SYMBOL_LIB_TABLE_CANDIDATE::PerformAction().
|
pure virtual |
Implemented in LEGACY_RESCUER, and SYMBOL_LIB_TABLE_RESCUER.
Referenced by RescueProject().
void RESCUER::RemoveDuplicates | ( | ) |
Filter out duplicately named rescue candidates.
Definition at line 636 of file project_rescue.cpp.
References m_all_candidates.
Referenced by RescueProject().
|
static |
Definition at line 590 of file project_rescue.cpp.
References _, DoRescues(), FindCandidates(), GetCandidateCount(), GetChosenCandidateCount(), InvokeDialog(), OpenRescueLibrary(), RemoveDuplicates(), UndoRescues(), and WriteRescueLibrary().
Referenced by DIALOG_SYMBOL_REMAP::OnRemapSymbols(), and SCH_EDITOR_CONTROL::rescueProject().
|
inline |
Definition at line 292 of file project_rescue.h.
References m_schematic.
Referenced by RESCUE_SYMBOL_LIB_TABLE_CANDIDATE::FindRescues().
void RESCUER::UndoRescues | ( | ) |
Reverse the effects of all rescues on the project.
Definition at line 577 of file project_rescue.cpp.
References m_rescue_log, and LIB_ID::SetLibItemName().
Referenced by RescueProject().
|
pure virtual |
Write the rescue library.
Called after successful PerformAction()s. If this fails, undo the actions.
Implemented in LEGACY_RESCUER, and SYMBOL_LIB_TABLE_RESCUER.
Referenced by RescueProject().
|
friend |
Definition at line 314 of file project_rescue.h.
|
protected |
Definition at line 322 of file project_rescue.h.
Referenced by DIALOG_RESCUE_EACH::displayItemsInConflict(), LEGACY_RESCUER::FindCandidates(), SYMBOL_LIB_TABLE_RESCUER::FindCandidates(), GetCandidateCount(), DIALOG_RESCUE_EACH::PopulateConflictList(), DIALOG_RESCUE_EACH::PopulateInstanceList(), RemoveDuplicates(), and DIALOG_RESCUE_EACH::TransferDataFromWindow().
|
protected |
Definition at line 323 of file project_rescue.h.
Referenced by DoRescues(), GetChosenCandidateCount(), DIALOG_RESCUE_EACH::OnCancelClick(), DIALOG_RESCUE_EACH::OnNeverShowClick(), and DIALOG_RESCUE_EACH::TransferDataFromWindow().
|
protected |
Definition at line 320 of file project_rescue.h.
Referenced by LEGACY_RESCUER::InvokeDialog(), SYMBOL_LIB_TABLE_RESCUER::InvokeDialog(), and RESCUER().
|
protected |
Definition at line 319 of file project_rescue.h.
Referenced by LEGACY_RESCUER::InvokeDialog(), SYMBOL_LIB_TABLE_RESCUER::InvokeDialog(), and RESCUER().
|
protected |
Definition at line 317 of file project_rescue.h.
Referenced by GetPrj(), LEGACY_RESCUER::OpenRescueLibrary(), SYMBOL_LIB_TABLE_RESCUER::OpenRescueLibrary(), RESCUER(), LEGACY_RESCUER::WriteRescueLibrary(), and SYMBOL_LIB_TABLE_RESCUER::WriteRescueLibrary().
|
protected |
Definition at line 325 of file project_rescue.h.
Referenced by LogRescue(), and UndoRescues().
|
protected |
Definition at line 318 of file project_rescue.h.
Referenced by LEGACY_RESCUER::OpenRescueLibrary(), SYMBOL_LIB_TABLE_RESCUER::OpenRescueLibrary(), RESCUER(), Schematic(), LEGACY_RESCUER::WriteRescueLibrary(), and SYMBOL_LIB_TABLE_RESCUER::WriteRescueLibrary().
|
protected |
Definition at line 316 of file project_rescue.h.
Referenced by GetSymbols(), and RESCUER().