| 
    KiCad PCB EDA Suite
    
   | 
 
Multi-thread safe progress reporter dialog, intended for use of tasks that parallel reporting back of work status. More...
#include <wx_progress_reporters.h>
  
Public Member Functions | |
| WX_PROGRESS_REPORTER (wxWindow *aParent, const wxString &aTitle, int aNumPhases, int aCanAbort, bool aReserveSpaceForMessage=true) | |
| The PROGRESS_REPORTER will stay on top of aParent.   | |
| ~WX_PROGRESS_REPORTER () | |
| void | SetTitle (const wxString &aTitle) override | 
| Change the title displayed on the window caption.   | |
| void | SetNumPhases (int aNumPhases) override | 
| Set the number of phases.   | |
| void | AddPhases (int aNumPhases) override | 
| virtual void | BeginPhase (int aPhase) override | 
| Initialize the aPhase virtual zone of the dialog progress bar.   | |
| virtual void | AdvancePhase () override | 
| Use the next available virtual zone of the dialog progress bar.   | |
| virtual void | AdvancePhase (const wxString &aMessage) override | 
| Use the next available virtual zone of the dialog progress bar and updates the message.   | |
| virtual void | Report (const wxString &aMessage) override | 
| Display aMessage in the progress bar dialog.   | |
| virtual void | SetCurrentProgress (double aProgress) override | 
| Set the progress value to aProgress (0..1).   | |
| void | SetMaxProgress (int aMaxProgress) override | 
| Fix the value that gives the 100 percent progress bar length (inside the current virtual zone).   | |
| void | AdvanceProgress () override | 
| Increment the progress bar length (inside the current virtual zone).   | |
| bool | KeepRefreshing (bool aWait=false) override | 
| Update the UI dialog.   | |
| bool | IsCancelled () const override | 
| int | CurrentProgress () const | 
Protected Attributes | |
| wxString | m_rptMessage | 
| std::mutex | m_mutex | 
| std::atomic_int | m_phase | 
| std::atomic_int | m_numPhases | 
| std::atomic_int | m_progress | 
| std::atomic_int | m_maxProgress | 
| std::atomic_bool | m_cancelled | 
| std::atomic_bool | m_messageChanged | 
Private Member Functions | |
| bool | updateUI () override | 
Private Attributes | |
| wxAppProgressIndicator | m_appProgressIndicator | 
| int | m_messageWidth | 
Multi-thread safe progress reporter dialog, intended for use of tasks that parallel reporting back of work status.
Definition at line 53 of file wx_progress_reporters.h.
| WX_PROGRESS_REPORTER::WX_PROGRESS_REPORTER | ( | wxWindow * | aParent, | 
| const wxString & | aTitle, | ||
| int | aNumPhases, | ||
| int | aCanAbort, | ||
| bool | aReserveSpaceForMessage = true ) | 
The PROGRESS_REPORTER will stay on top of aParent.
The style is wxPD_AUTO_HIDE | wxPD_CAN_ABORT | wxPD_ELAPSED_TIME.
| aParent | is the wxDialog of Frame that manage this. | 
| aTitle | is the dialog progress title | 
| aNumPhases | is the number of "virtual sections" of the progress bar aNumPhases = 1 is the usual progress bar aNumPhases = n creates n virtual progress bar zones: a 0 to 100 percent width of a virtual zone fills 0 to 1/n progress bar full size of the nth virtual zone index | 
| aCanAbort | indicates if the Cancel button should be shown | 
| aReserveSpaceForMessage | will ensure that the dialog is laid out for status messages, preventing layout issues on Windows when reporting a message after the initial layout | 
Definition at line 32 of file wx_progress_reporters.cpp.
References m_appProgressIndicator, m_messageWidth, PROGRESS_REPORTER_BASE::PROGRESS_REPORTER_BASE(), and WX_PROGRESS_REPORTER_BASE.
Referenced by JOBS_PROGRESS_REPORTER::JOBS_PROGRESS_REPORTER().
| WX_PROGRESS_REPORTER::~WX_PROGRESS_REPORTER | ( | ) | 
Definition at line 55 of file wx_progress_reporters.cpp.
      
  | 
  overridevirtualinherited | 
Implements PROGRESS_REPORTER.
Definition at line 98 of file progress_reporter_base.cpp.
References m_numPhases.
      
  | 
  overridevirtualinherited | 
Use the next available virtual zone of the dialog progress bar.
Implements PROGRESS_REPORTER.
Reimplemented in BACKGROUND_JOB_REPORTER, DIALOG_PCM_PROGRESS, and JOBS_PROGRESS_REPORTER.
Definition at line 50 of file progress_reporter_base.cpp.
References m_phase, and m_progress.
Referenced by BACKGROUND_JOB_REPORTER::AdvancePhase(), DIALOG_DRC::AdvancePhase(), DIALOG_ERC::AdvancePhase(), DIALOG_PCM_PROGRESS::AdvancePhase(), and AdvancePhase().
      
  | 
  overridevirtualinherited | 
Use the next available virtual zone of the dialog progress bar and updates the message.
Implements PROGRESS_REPORTER.
Reimplemented in DIALOG_DRC, and DIALOG_ERC.
Definition at line 57 of file progress_reporter_base.cpp.
References AdvancePhase(), and Report().
      
  | 
  overridevirtualinherited | 
Increment the progress bar length (inside the current virtual zone).
Implements PROGRESS_REPORTER.
Definition at line 86 of file progress_reporter_base.cpp.
References m_progress.
      
  | 
  overridevirtualinherited | 
Initialize the aPhase virtual zone of the dialog progress bar.
Implements PROGRESS_REPORTER.
Definition at line 43 of file progress_reporter_base.cpp.
References m_phase, and m_progress.
      
  | 
  inherited | 
Definition at line 104 of file progress_reporter_base.cpp.
References m_maxProgress, m_numPhases, m_phase, and m_progress.
Referenced by GAUGE_PROGRESS_REPORTER::updateUI(), and WX_PROGRESS_REPORTER::updateUI().
      
  | 
  inlineoverridevirtualinherited | 
Implements PROGRESS_REPORTER.
Definition at line 108 of file progress_reporter_base.h.
References m_cancelled.
      
  | 
  overridevirtualinherited | 
Update the UI dialog.
Implements PROGRESS_REPORTER.
Definition at line 113 of file progress_reporter_base.cpp.
References m_cancelled, m_maxProgress, m_progress, and updateUI().
Referenced by SCH_EDIT_FRAME::importFile(), and SCH_EDIT_FRAME::OpenProjectFiles().
      
  | 
  overridevirtualinherited | 
Display aMessage in the progress bar dialog.
Implements PROGRESS_REPORTER.
Reimplemented in BACKGROUND_JOB_REPORTER, DIALOG_ERC, and JOBS_PROGRESS_REPORTER.
Definition at line 64 of file progress_reporter_base.cpp.
References m_messageChanged, m_mutex, and m_rptMessage.
Referenced by AdvancePhase(), SCH_EDIT_FRAME::importFile(), and SCH_EDIT_FRAME::OpenProjectFiles().
      
  | 
  overridevirtualinherited | 
Set the progress value to aProgress (0..1).
Implements PROGRESS_REPORTER.
Reimplemented in BACKGROUND_JOB_REPORTER, CONSOLE_PROGRESS_REPORTER, and CONSOLE_PROGRESS_REPORTER.
Definition at line 79 of file progress_reporter_base.cpp.
References m_maxProgress, and m_progress.
Referenced by DIALOG_DRC::AdvancePhase(), DIALOG_ERC::AdvancePhase(), BACKGROUND_JOB_REPORTER::SetCurrentProgress(), and CONSOLE_PROGRESS_REPORTER::SetCurrentProgress().
      
  | 
  overridevirtualinherited | 
Fix the value that gives the 100 percent progress bar length (inside the current virtual zone).
Implements PROGRESS_REPORTER.
Definition at line 73 of file progress_reporter_base.cpp.
References m_maxProgress.
      
  | 
  overridevirtualinherited | 
Set the number of phases.
Implements PROGRESS_REPORTER.
Definition at line 92 of file progress_reporter_base.cpp.
References m_numPhases.
Referenced by DIALOG_PCM_PROGRESS::OnCancelClicked(), and BACKGROUND_JOB_REPORTER::SetNumPhases().
      
  | 
  inlineoverridevirtual | 
Change the title displayed on the window caption.
Reimplemented from PROGRESS_REPORTER_BASE.
Definition at line 78 of file wx_progress_reporters.h.
      
  | 
  overrideprivatevirtual | 
Implements PROGRESS_REPORTER_BASE.
Definition at line 60 of file wx_progress_reporters.cpp.
References PROGRESS_REPORTER_BASE::CurrentProgress(), PROGRESS_REPORTER_BASE::m_messageChanged, m_messageWidth, PROGRESS_REPORTER_BASE::m_mutex, and PROGRESS_REPORTER_BASE::m_rptMessage.
      
  | 
  private | 
Definition at line 87 of file wx_progress_reporters.h.
Referenced by WX_PROGRESS_REPORTER().
      
  | 
  protectedinherited | 
Definition at line 123 of file progress_reporter_base.h.
Referenced by BACKGROUND_JOB_REPORTER::Cancel(), IsCancelled(), KeepRefreshing(), DIALOG_DRC::OnCancelClick(), DIALOG_ERC::OnCancelClick(), DIALOG_PCM_PROGRESS::OnCancelClicked(), DIALOG_DRC::OnRunDRCClick(), DIALOG_ERC::OnRunERCClick(), PROGRESS_REPORTER_BASE(), BACKGROUND_JOB_REPORTER::updateUI(), DIALOG_DRC::updateUI(), and DIALOG_ERC::updateUI().
      
  | 
  protectedinherited | 
Definition at line 122 of file progress_reporter_base.h.
Referenced by CurrentProgress(), KeepRefreshing(), DIALOG_PCM_PROGRESS::OnCloseClicked(), PROGRESS_REPORTER_BASE(), SetCurrentProgress(), SetMaxProgress(), CONSOLE_PROGRESS_REPORTER::updateUI(), and DIALOG_DRC::updateUI().
      
  | 
  protectedinherited | 
Definition at line 129 of file progress_reporter_base.h.
Referenced by PROGRESS_REPORTER_BASE(), Report(), and WX_PROGRESS_REPORTER::updateUI().
      
  | 
  private | 
Definition at line 88 of file wx_progress_reporters.h.
Referenced by updateUI(), and WX_PROGRESS_REPORTER().
      
  | 
  mutableprotectedinherited | 
Definition at line 118 of file progress_reporter_base.h.
Referenced by DIALOG_PCM_PROGRESS::PCMReport(), Report(), DIALOG_PCM_PROGRESS::updateUI(), and WX_PROGRESS_REPORTER::updateUI().
      
  | 
  protectedinherited | 
Definition at line 120 of file progress_reporter_base.h.
Referenced by AddPhases(), CurrentProgress(), PROGRESS_REPORTER_BASE(), BACKGROUND_JOB_REPORTER::SetNumPhases(), SetNumPhases(), and DIALOG_PCM_PROGRESS::updateUI().
      
  | 
  protectedinherited | 
Definition at line 119 of file progress_reporter_base.h.
Referenced by BACKGROUND_JOB_REPORTER::AdvancePhase(), AdvancePhase(), BeginPhase(), CurrentProgress(), PROGRESS_REPORTER_BASE(), and DIALOG_PCM_PROGRESS::updateUI().
      
  | 
  protectedinherited | 
Definition at line 121 of file progress_reporter_base.h.
Referenced by AdvancePhase(), AdvanceProgress(), BeginPhase(), CurrentProgress(), KeepRefreshing(), DIALOG_PCM_PROGRESS::OnCloseClicked(), PROGRESS_REPORTER_BASE(), SetCurrentProgress(), CONSOLE_PROGRESS_REPORTER::updateUI(), and DIALOG_DRC::updateUI().
      
  | 
  protectedinherited | 
Definition at line 116 of file progress_reporter_base.h.
Referenced by Report(), CONSOLE_PROGRESS_REPORTER::updateUI(), and WX_PROGRESS_REPORTER::updateUI().