|
KiCad PCB EDA Suite
|
#include <kistatusbar.h>
Public Types | |
| enum | STYLE_FLAGS : int { NONE_STYLE = 0x00 , NOTIFICATION_ICON = 0x01 , CANCEL_BUTTON = 0x02 , WARNING_ICON = 0x04 } |
Public Member Functions | |
| KISTATUSBAR (int aNumberFields, wxWindow *parent, wxWindowID id, STYLE_FLAGS aFlags=DEFAULT_STYLE) | |
| ~KISTATUSBAR () | |
| void | SetEllipsedTextField (const wxString &aText, int aFieldId) |
| Set the text in a field using wxELLIPSIZE_MIDDLE option to adjust the text size to the field size. | |
| void | ShowBackgroundProgressBar (bool aCancellable=false) |
| Show the background progress bar. | |
| void | HideBackgroundProgressBar () |
| Hide the background progress bar. | |
| void | SetBackgroundProgress (int aAmount) |
| Set the current progress of the progress bar. | |
| void | SetBackgroundProgressMax (int aAmount) |
| Set the max progress of the progress bar. | |
| void | SetBackgroundStatusText (const wxString &aTxt) |
| Set the status text that displays next to the progress bar. | |
| void | SetNotificationCount (int aCount) |
| Set the notification count on the notifications button. | |
| void | ClearWarningMessages (const wxString &aSource=wxEmptyString) |
| Clears all warning messages from the given source (or all sources if aSource is empty) | |
| void | AddWarningMessages (const wxString &aSource, const wxString &aMessages) |
| Add warning/error messages (not thread-safe, use the std::vector<LOAD_MESSAGE> variant from other threads) | |
| void | AddWarningMessages (const wxString &aSource, const std::vector< LOAD_MESSAGE > &aMessages) |
| Add warning/error messages thread-safely. | |
| size_t | GetLoadWarningCount () const |
| Get current message count (thread-safe). | |
Static Public Attributes | |
| static constexpr auto | DEFAULT_STYLE |
Private Types | |
| enum class | FIELD { BGJOB_LABEL , BGJOB_GAUGE , BGJOB_CANCEL , WARNING , NOTIFICATION } |
Private Member Functions | |
| void | onSize (wxSizeEvent &aEvent) |
| void | onBackgroundProgressClick (wxMouseEvent &aEvent) |
| void | onNotificationsIconClick (wxCommandEvent &aEvent) |
| void | onLoadWarningsIconClick (wxCommandEvent &aEvent) |
| void | updateWarningUI () |
| Update warning button visibility and badge (main thread only) | |
| void | updateAuxFieldWidths () |
| void | updateBackgroundText () |
| void | layoutControls () |
| std::optional< int > | fieldIndex (FIELD aField) const |
Private Attributes | |
| wxGauge * | m_backgroundProgressBar |
| wxButton * | m_backgroundStopButton |
| wxStaticText * | m_backgroundTxt |
| BITMAP_BUTTON * | m_notificationsButton |
| BITMAP_BUTTON * | m_warningButton |
| std::mutex | m_warningMutex |
| Protects m_warningMessages. | |
| std::unordered_map< wxString, std::vector< LOAD_MESSAGE > > | m_warningMessages |
| int | m_normalFieldsCount |
| STYLE_FLAGS | m_styleFlags |
| wxString | m_savedStatusText |
| Saved text from adjacent field during background jobs. | |
| wxString | m_backgroundRawText |
| Unellipsized background status text. | |
| std::vector< int > | m_fieldWidths |
Definition at line 60 of file kistatusbar.h.
|
strongprivate |
| Enumerator | |
|---|---|
| BGJOB_LABEL | |
| BGJOB_GAUGE | |
| BGJOB_CANCEL | |
| WARNING | |
| NOTIFICATION | |
Definition at line 151 of file kistatusbar.h.
| enum KISTATUSBAR::STYLE_FLAGS : int |
| Enumerator | |
|---|---|
| NONE_STYLE | |
| NOTIFICATION_ICON | |
| CANCEL_BUTTON | |
| WARNING_ICON | |
Definition at line 63 of file kistatusbar.h.
| KISTATUSBAR::KISTATUSBAR | ( | int | aNumberFields, |
| wxWindow * | parent, | ||
| wxWindowID | id, | ||
| STYLE_FLAGS | aFlags = DEFAULT_STYLE ) |
Definition at line 78 of file kistatusbar.cpp.
References _, CANCEL_BUTTON, HideBackgroundProgressBar(), KiBitmapBundle(), m_backgroundProgressBar, m_backgroundStopButton, m_backgroundTxt, m_fieldWidths, m_normalFieldsCount, m_notificationsButton, m_styleFlags, m_warningButton, NOTIFICATION_ICON, notifications, onBackgroundProgressClick(), onLoadWarningsIconClick(), onNotificationsIconClick(), onSize(), small_warning, and WARNING_ICON.
| KISTATUSBAR::~KISTATUSBAR | ( | ) |
Definition at line 174 of file kistatusbar.cpp.
References m_backgroundProgressBar, m_notificationsButton, m_warningButton, onBackgroundProgressClick(), onLoadWarningsIconClick(), onNotificationsIconClick(), and onSize().
| void KISTATUSBAR::AddWarningMessages | ( | const wxString & | aSource, |
| const std::vector< LOAD_MESSAGE > & | aMessages ) |
Add warning/error messages thread-safely.
Can be called from any thread. UI update is deferred to main thread.
Definition at line 440 of file kistatusbar.cpp.
References end, m_warningMessages, m_warningMutex, traceLibraries, and updateWarningUI().
| void KISTATUSBAR::AddWarningMessages | ( | const wxString & | aSource, |
| const wxString & | aMessages ) |
Add warning/error messages (not thread-safe, use the std::vector<LOAD_MESSAGE> variant from other threads)
Definition at line 420 of file kistatusbar.cpp.
References m_warningMessages, m_warningMutex, LOAD_MESSAGE::message, RPT_SEVERITY_WARNING, LOAD_MESSAGE::severity, and updateWarningUI().
Referenced by STATUSBAR_WARNING_REPORTER::Report().
| void KISTATUSBAR::ClearWarningMessages | ( | const wxString & | aSource = wxEmptyString | ) |
Clears all warning messages from the given source (or all sources if aSource is empty)
Definition at line 530 of file kistatusbar.cpp.
References m_warningMessages, m_warningMutex, and updateWarningUI().
|
private |
Definition at line 591 of file kistatusbar.cpp.
References BGJOB_CANCEL, BGJOB_GAUGE, BGJOB_LABEL, CANCEL_BUTTON, m_styleFlags, NOTIFICATION, NOTIFICATION_ICON, WARNING, and WARNING_ICON.
Referenced by layoutControls(), onBackgroundProgressClick(), onNotificationsIconClick(), updateAuxFieldWidths(), and updateBackgroundText().
| size_t KISTATUSBAR::GetLoadWarningCount | ( | ) | const |
Get current message count (thread-safe).
Definition at line 466 of file kistatusbar.cpp.
References m_warningMessages, and m_warningMutex.
| void KISTATUSBAR::HideBackgroundProgressBar | ( | ) |
Hide the background progress bar.
Definition at line 295 of file kistatusbar.cpp.
References m_backgroundProgressBar, m_backgroundStopButton, and updateAuxFieldWidths().
Referenced by KISTATUSBAR().
|
private |
Definition at line 225 of file kistatusbar.cpp.
References BGJOB_GAUGE, BGJOB_LABEL, fieldIndex(), KIUI::GetTextSize(), m_backgroundProgressBar, m_backgroundStopButton, m_backgroundTxt, m_normalFieldsCount, m_notificationsButton, m_warningButton, NOTIFICATION, updateBackgroundText(), and WARNING.
Referenced by onSize(), and updateAuxFieldWidths().
|
private |
Definition at line 204 of file kistatusbar.cpp.
References BGJOB_GAUGE, fieldIndex(), PGM_BASE::GetBackgroundJobMonitor(), m_backgroundProgressBar, m_normalFieldsCount, Pgm(), and BACKGROUND_JOBS_MONITOR::ShowList().
Referenced by KISTATUSBAR(), and ~KISTATUSBAR().
|
private |
Definition at line 545 of file kistatusbar.cpp.
References WX_HTML_REPORT_BOX::Flush(), DIALOG_HTML_REPORTER::m_Reporter, m_warningMessages, m_warningMutex, WX_HTML_REPORT_BOX::Report(), and DIALOG_SHIM::ShowModal().
Referenced by KISTATUSBAR(), and ~KISTATUSBAR().
|
private |
Definition at line 188 of file kistatusbar.cpp.
References fieldIndex(), PGM_BASE::GetNotificationsManager(), m_normalFieldsCount, m_notificationsButton, NOTIFICATION, Pgm(), and NOTIFICATIONS_MANAGER::ShowList().
Referenced by KISTATUSBAR(), and ~KISTATUSBAR().
|
private |
Definition at line 219 of file kistatusbar.cpp.
References layoutControls().
Referenced by KISTATUSBAR(), and ~KISTATUSBAR().
| void KISTATUSBAR::SetBackgroundProgress | ( | int | aAmount | ) |
Set the current progress of the progress bar.
Definition at line 306 of file kistatusbar.cpp.
References m_backgroundProgressBar.
| void KISTATUSBAR::SetBackgroundProgressMax | ( | int | aAmount | ) |
Set the max progress of the progress bar.
Definition at line 317 of file kistatusbar.cpp.
References m_backgroundProgressBar.
| void KISTATUSBAR::SetBackgroundStatusText | ( | const wxString & | aTxt | ) |
Set the status text that displays next to the progress bar.
Definition at line 323 of file kistatusbar.cpp.
References m_backgroundRawText, m_normalFieldsCount, m_savedStatusText, and updateBackgroundText().
| void KISTATUSBAR::SetEllipsedTextField | ( | const wxString & | aText, |
| int | aFieldId ) |
Set the text in a field using wxELLIPSIZE_MIDDLE option to adjust the text size to the field size.
Definition at line 567 of file kistatusbar.cpp.
References KIUI::GetTextSize().
Referenced by PROJECT_TREE_PANE::FileWatcherReset(), KICAD_MANAGER_FRAME::OnSize(), and KICAD_MANAGER_FRAME::PrintPrjInfo().
| void KISTATUSBAR::SetNotificationCount | ( | int | aCount | ) |
Set the notification count on the notifications button.
A value of 0 will hide the count.
Definition at line 405 of file kistatusbar.cpp.
References m_notificationsButton.
Referenced by NOTIFICATIONS_MANAGER::RegisterStatusBar().
| void KISTATUSBAR::ShowBackgroundProgressBar | ( | bool | aCancellable = false | ) |
Show the background progress bar.
Definition at line 284 of file kistatusbar.cpp.
References m_backgroundProgressBar, m_backgroundStopButton, and updateAuxFieldWidths().
|
private |
Definition at line 350 of file kistatusbar.cpp.
References BGJOB_CANCEL, BGJOB_GAUGE, BGJOB_LABEL, fieldIndex(), layoutControls(), m_backgroundStopButton, m_fieldWidths, m_normalFieldsCount, m_notificationsButton, m_warningButton, NOTIFICATION, updateBackgroundText(), and WARNING.
Referenced by HideBackgroundProgressBar(), ShowBackgroundProgressBar(), and updateWarningUI().
|
private |
Definition at line 385 of file kistatusbar.cpp.
References BGJOB_LABEL, fieldIndex(), KIUI::GetTextSize(), m_backgroundRawText, m_backgroundTxt, m_normalFieldsCount, and text.
Referenced by layoutControls(), SetBackgroundStatusText(), and updateAuxFieldWidths().
|
private |
Update warning button visibility and badge (main thread only)
Definition at line 479 of file kistatusbar.cpp.
References _, m_warningButton, m_warningMessages, m_warningMutex, traceLibraries, and updateAuxFieldWidths().
Referenced by AddWarningMessages(), AddWarningMessages(), and ClearWarningMessages().
|
staticconstexpr |
Definition at line 71 of file kistatusbar.h.
|
private |
Definition at line 163 of file kistatusbar.h.
Referenced by HideBackgroundProgressBar(), KISTATUSBAR(), layoutControls(), onBackgroundProgressClick(), SetBackgroundProgress(), SetBackgroundProgressMax(), ShowBackgroundProgressBar(), and ~KISTATUSBAR().
|
private |
Unellipsized background status text.
Definition at line 173 of file kistatusbar.h.
Referenced by SetBackgroundStatusText(), and updateBackgroundText().
|
private |
Definition at line 164 of file kistatusbar.h.
Referenced by HideBackgroundProgressBar(), KISTATUSBAR(), layoutControls(), ShowBackgroundProgressBar(), and updateAuxFieldWidths().
|
private |
Definition at line 165 of file kistatusbar.h.
Referenced by KISTATUSBAR(), layoutControls(), and updateBackgroundText().
|
private |
Definition at line 174 of file kistatusbar.h.
Referenced by KISTATUSBAR(), and updateAuxFieldWidths().
|
private |
Definition at line 170 of file kistatusbar.h.
Referenced by KISTATUSBAR(), layoutControls(), onBackgroundProgressClick(), onNotificationsIconClick(), SetBackgroundStatusText(), updateAuxFieldWidths(), and updateBackgroundText().
|
private |
Definition at line 166 of file kistatusbar.h.
Referenced by KISTATUSBAR(), layoutControls(), onNotificationsIconClick(), SetNotificationCount(), updateAuxFieldWidths(), and ~KISTATUSBAR().
|
private |
Saved text from adjacent field during background jobs.
Definition at line 172 of file kistatusbar.h.
Referenced by SetBackgroundStatusText().
|
private |
Definition at line 171 of file kistatusbar.h.
Referenced by fieldIndex(), and KISTATUSBAR().
|
private |
Definition at line 167 of file kistatusbar.h.
Referenced by KISTATUSBAR(), layoutControls(), updateAuxFieldWidths(), updateWarningUI(), and ~KISTATUSBAR().
|
private |
Definition at line 169 of file kistatusbar.h.
Referenced by AddWarningMessages(), AddWarningMessages(), ClearWarningMessages(), GetLoadWarningCount(), onLoadWarningsIconClick(), and updateWarningUI().
|
mutableprivate |
Protects m_warningMessages.
Definition at line 168 of file kistatusbar.h.
Referenced by AddWarningMessages(), AddWarningMessages(), ClearWarningMessages(), GetLoadWarningCount(), onLoadWarningsIconClick(), and updateWarningUI().