KiCad PCB EDA Suite
|
A progress reporter interface for use in multi-threaded environments. More...
#include <progress_reporter.h>
Public Member Functions | |
PROGRESS_REPORTER () | |
PROGRESS_REPORTER (const PROGRESS_REPORTER &)=delete | |
virtual | ~PROGRESS_REPORTER () |
virtual void | SetNumPhases (int aNumPhases)=0 |
Set the number of phases. | |
virtual void | AddPhases (int aNumPhases)=0 |
virtual void | BeginPhase (int aPhase)=0 |
Initialize the aPhase virtual zone of the dialog progress bar. | |
virtual void | AdvancePhase ()=0 |
Use the next available virtual zone of the dialog progress bar. | |
virtual void | AdvancePhase (const wxString &aMessage)=0 |
Use the next available virtual zone of the dialog progress bar and updates the message. | |
virtual void | Report (const wxString &aMessage)=0 |
Display aMessage in the progress bar dialog. | |
virtual void | SetCurrentProgress (double aProgress)=0 |
Set the progress value to aProgress (0..1). | |
virtual void | SetMaxProgress (int aMaxProgress)=0 |
Fix the value that gives the 100 percent progress bar length (inside the current virtual zone). | |
virtual void | AdvanceProgress ()=0 |
Increment the progress bar length (inside the current virtual zone). | |
virtual bool | KeepRefreshing (bool aWait=false)=0 |
Update the UI (if any). | |
virtual void | SetTitle (const wxString &aTitle)=0 |
Change the title displayed on the window caption. | |
virtual bool | IsCancelled () const =0 |
A progress reporter interface for use in multi-threaded environments.
The various advancement and message methods can be called from sub-threads. The KeepRefreshing method MUST be called only from the main thread (primarily a MSW requirement, which won't allow access to UI objects allocated from a separate thread).
Definition at line 38 of file progress_reporter.h.
|
inline |
Definition at line 42 of file progress_reporter.h.
|
delete |
|
inlinevirtual |
Definition at line 47 of file progress_reporter.h.
|
pure virtual |
Implemented in CLI_PROGRESS_REPORTER, and PROGRESS_REPORTER_BASE.
|
pure virtual |
Use the next available virtual zone of the dialog progress bar.
Implemented in BACKGROUND_JOB_REPORTER, CLI_PROGRESS_REPORTER, PROGRESS_REPORTER_BASE, and DIALOG_PCM_PROGRESS.
Referenced by IO_BASE::AdvanceProgressPhase(), PCB_IO_ODBPP::ExportODB(), ZONE_FILLER::Fill(), PCB_IO_IPC2581::generateAvlSection(), PCB_IO_IPC2581::generateBOMSection(), PCB_IO_IPC2581::generateContentSection(), PCB_IO_IPC2581::generateEcadSection(), PCB_IO_IPC2581::generateHistorySection(), DESIGN_BLOCK_LIST_IMPL::ReadDesignBlockFiles(), FOOTPRINT_LIST_IMPL::ReadFootprintFiles(), DRC_ENGINE::ReportPhase(), ERC_TESTER::RunTests(), DRC_TOOL::RunTests(), PCB_IO_IPC2581::SaveBoard(), and SYMBOL_ASYNC_LOADER::worker().
|
pure virtual |
Use the next available virtual zone of the dialog progress bar and updates the message.
Implemented in DIALOG_ERC, CLI_PROGRESS_REPORTER, PROGRESS_REPORTER_BASE, and DIALOG_DRC.
|
pure virtual |
Increment the progress bar length (inside the current virtual zone).
Implemented in CLI_PROGRESS_REPORTER, and PROGRESS_REPORTER_BASE.
Referenced by DRC_ENGINE::AdvanceProgress(), AR_AUTOPLACER::AutoplaceFootprints(), CN_CONNECTIVITY_ALGO::Build(), BOARD::CacheTriangulation(), CADSTAR_ARCHIVE_PARSER::checkPoint(), ZONE_FILLER::Fill(), DESIGN_BLOCK_LIST_IMPL::loadDesignBlocks(), FOOTPRINT_LIST_IMPL::loadFootprints(), DESIGN_BLOCK_LIST_IMPL::loadLibs(), and FOOTPRINT_LIST_IMPL::loadLibs().
|
pure virtual |
Initialize the aPhase virtual zone of the dialog progress bar.
Implemented in CLI_PROGRESS_REPORTER, and PROGRESS_REPORTER_BASE.
Referenced by PCB_IO_ODBPP::ExportODB(), CADSTAR_PCB_ARCHIVE_LOADER::Load(), CADSTAR_SCH_ARCHIVE_LOADER::Load(), CADSTAR_SCH_ARCHIVE_LOADER::LoadPartsLib(), CADSTAR_SCH_ARCHIVE_PARSER::Parse(), CADSTAR_PCB_ARCHIVE_PARSER::Parse(), and PCB_IO_IPC2581::SaveBoard().
|
pure virtual |
Implemented in CLI_PROGRESS_REPORTER, and PROGRESS_REPORTER_BASE.
Referenced by CN_CONNECTIVITY_ALGO::Build(), BOARD::CacheTriangulation(), PLUGIN_CONTENT_MANAGER::DownloadToStream(), ZONE_FILLER::Fill(), ZONE_FILLER::fillCopperZone(), CN_CONNECTIVITY_ALGO::FillIsolatedIslandsMap(), ZONE_FILLER::fillSingleZone(), DRC_ENGINE::IsCancelled(), UPDATE_MANAGER::PostRequest(), DRC_TEST_PROVIDER_SLIVER_CHECKER::Run(), DRC_TOOL::RunTests(), CN_CONNECTIVITY_ALGO::SearchClusters(), and SYMBOL_ASYNC_LOADER::worker().
|
pure virtual |
Update the UI (if any).
Implemented in CLI_PROGRESS_REPORTER, and PROGRESS_REPORTER_BASE.
Referenced by IO_BASE::AdvanceProgressPhase(), AR_AUTOPLACER::AutoplaceFootprints(), CN_CONNECTIVITY_ALGO::Build(), CONNECTIVITY_DATA::Build(), BOARD::CacheTriangulation(), CADSTAR_ARCHIVE_PARSER::checkPoint(), SCH_IO_KICAD_LEGACY::checkpoint(), SCH_IO_KICAD_SEXPR_PARSER::checkpoint(), ALTIUM_PCB::checkpoint(), PCB_IO_EAGLE::checkpoint(), FABMASTER::checkpoint(), PCB_IO_KICAD_LEGACY::checkpoint(), PCB_IO_KICAD_SEXPR_PARSER::checkpoint(), PLUGIN_CONTENT_MANAGER::DownloadToStream(), SCH_IO_EAGLE::ensureLoadedLibrary(), ZONE_FILLER::Fill(), CN_CONNECTIVITY_ALGO::FillIsolatedIslandsMap(), DRC_ENGINE::KeepRefreshing(), CADSTAR_ARCHIVE_PARSER::LoadArchiveFile(), PCB_IO_EAGLE::LoadBoard(), PCB_IO_EASYEDA::LoadBoard(), PCB_IO_EASYEDAPRO::LoadBoard(), PCB_IO_FABMASTER::LoadBoard(), PCB_IO_KICAD_LEGACY::LoadBoard(), PCB_IO_KICAD_SEXPR::LoadBoard(), DESIGN_BLOCK_LIST_IMPL::loadDesignBlocks(), SCH_IO_KICAD_LEGACY::loadFile(), SCH_IO_KICAD_SEXPR::loadFile(), FOOTPRINT_LIST_IMPL::loadFootprints(), DESIGN_BLOCK_LIST_IMPL::loadLibs(), FOOTPRINT_LIST_IMPL::loadLibs(), SCH_IO_EAGLE::LoadSchematicFile(), UPDATE_MANAGER::PostRequest(), SYMBOL_LIBRARY_MANAGER::Preload(), DRC_ENGINE::ReportPhase(), DRC_ENGINE::ReportProgress(), and CN_CONNECTIVITY_ALGO::searchConnections().
|
pure virtual |
Display aMessage in the progress bar dialog.
Implemented in DIALOG_ERC, BACKGROUND_JOB_REPORTER, CLI_PROGRESS_REPORTER, and PROGRESS_REPORTER_BASE.
Referenced by AR_AUTOPLACER::AutoplaceFootprints(), CONNECTIVITY_DATA::Build(), BOARD::CacheTriangulation(), ALTIUM_PCB::ConvertComponentBody6ToFootprintItem(), PLUGIN_CONTENT_MANAGER::DownloadToStream(), SCH_IO_EAGLE::ensureLoadedLibrary(), PCB_IO_ODBPP::ExportODB(), ZONE_FILLER::Fill(), PCB_IO_EAGLE::LoadBoard(), PCB_IO_EASYEDA::LoadBoard(), PCB_IO_EASYEDAPRO::LoadBoard(), PCB_IO_FABMASTER::LoadBoard(), PCB_IO_KICAD_LEGACY::LoadBoard(), PCB_IO_KICAD_SEXPR::LoadBoard(), SCH_IO_KICAD_LEGACY::loadFile(), SCH_IO_KICAD_SEXPR::loadFile(), SCH_IO_EAGLE::LoadSchematicFile(), ALTIUM_PCB::ParseArcs6Data(), ALTIUM_PCB::ParseBoard6Data(), ALTIUM_PCB::ParseBoardRegionsData(), ALTIUM_PCB::ParseClasses6Data(), ALTIUM_PCB::ParseComponents6Data(), ALTIUM_PCB::ParseComponentsBodies6Data(), ALTIUM_PCB::ParseDimensions6Data(), ALTIUM_PCB::ParseExtendedPrimitiveInformationData(), ALTIUM_PCB::ParseFills6Data(), ALTIUM_PCB::ParseModelsData(), ALTIUM_PCB::ParseNets6Data(), ALTIUM_PCB::ParsePads6Data(), ALTIUM_PCB::ParsePolygons6Data(), ALTIUM_PCB::ParseRegions6Data(), ALTIUM_PCB::ParseRules6Data(), ALTIUM_PCB::ParseShapeBasedRegions6Data(), ALTIUM_PCB::ParseTexts6Data(), ALTIUM_PCB::ParseTracks6Data(), ALTIUM_PCB::ParseVias6Data(), ALTIUM_PCB::ParseWideStrings6Data(), UPDATE_MANAGER::PostRequest(), DESIGN_BLOCK_LIST_IMPL::ReadDesignBlockFiles(), FOOTPRINT_LIST_IMPL::ReadFootprintFiles(), and PCB_IO_IPC2581::SaveBoard().
|
pure virtual |
Set the progress value to aProgress (0..1).
Implemented in CLI_PROGRESS_REPORTER, PROGRESS_REPORTER_BASE, CONSOLE_PROGRESS_REPORTER, and CONSOLE_PROGRESS_REPORTER.
Referenced by CN_CONNECTIVITY_ALGO::Build(), CONNECTIVITY_DATA::Build(), SCH_IO_KICAD_LEGACY::checkpoint(), SCH_IO_KICAD_SEXPR_PARSER::checkpoint(), ALTIUM_PCB::checkpoint(), PCB_IO_EAGLE::checkpoint(), FABMASTER::checkpoint(), PCB_IO_KICAD_LEGACY::checkpoint(), PCB_IO_KICAD_SEXPR_PARSER::checkpoint(), PLUGIN_CONTENT_MANAGER::DownloadToStream(), PCB_IO_ODBPP::ExportODB(), CN_CONNECTIVITY_ALGO::FillIsolatedIslandsMap(), CADSTAR_ARCHIVE_PARSER::LoadArchiveFile(), UPDATE_MANAGER::PostRequest(), DRC_ENGINE::ReportProgress(), and PCB_IO_IPC2581::SaveBoard().
|
pure virtual |
Fix the value that gives the 100 percent progress bar length (inside the current virtual zone).
Implemented in CLI_PROGRESS_REPORTER, and PROGRESS_REPORTER_BASE.
Referenced by AR_AUTOPLACER::AutoplaceFootprints(), ZONE_FILLER::Fill(), CADSTAR_PCB_ARCHIVE_LOADER::Load(), CADSTAR_SCH_ARCHIVE_LOADER::Load(), CADSTAR_SCH_ARCHIVE_LOADER::LoadPartsLib(), CADSTAR_SCH_ARCHIVE_PARSER::Parse(), CADSTAR_PCB_ARCHIVE_PARSER::Parse(), DESIGN_BLOCK_LIST_IMPL::ReadDesignBlockFiles(), FOOTPRINT_LIST_IMPL::ReadFootprintFiles(), CN_CONNECTIVITY_ALGO::searchConnections(), and DRC_ENGINE::SetMaxProgress().
|
pure virtual |
Set the number of phases.
Implemented in BACKGROUND_JOB_REPORTER, CLI_PROGRESS_REPORTER, and PROGRESS_REPORTER_BASE.
Referenced by PCB_IO_ODBPP::ExportODB(), CADSTAR_PCB_ARCHIVE_LOADER::Load(), CADSTAR_SCH_ARCHIVE_LOADER::Load(), CADSTAR_PCB_ARCHIVE_LOADER::LoadLibrary(), CADSTAR_SCH_ARCHIVE_LOADER::LoadPartsLib(), SCH_IO_EAGLE::LoadSchematicFile(), and PCB_IO_IPC2581::SaveBoard().
|
pure virtual |
Change the title displayed on the window caption.
Has meaning only for some reporters. Does nothing for others.
Implemented in BACKGROUND_JOB_REPORTER, CLI_PROGRESS_REPORTER, PROGRESS_REPORTER_BASE, and WX_PROGRESS_REPORTER.
Referenced by AR_AUTOPLACER::AutoplaceFootprints(), PLUGIN_CONTENT_MANAGER::fetchPackages(), and PLUGIN_CONTENT_MANAGER::FetchRepository().