KiCad PCB EDA Suite
Loading...
Searching...
No Matches
KISTATUSBAR Class Reference

#include <kistatusbar.h>

Inheritance diagram for KISTATUSBAR:

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 SetLoadWarningMessages (const wxString &aMessages)
 
void ClearLoadWarningMessages ()
 
void AddLoadWarningMessages (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)
 
std::optional< int > fieldIndex (FIELD aField) const
 

Private Attributes

wxGauge * m_backgroundProgressBar
 
wxButton * m_backgroundStopButton
 
wxStaticText * m_backgroundTxt
 
BITMAP_BUTTONm_notificationsButton
 
BITMAP_BUTTONm_warningButton
 
std::mutex m_loadWarningMutex
 Protects m_loadWarningMessages.
 
std::vector< LOAD_MESSAGEm_loadWarningMessages
 
int m_normalFieldsCount
 
STYLE_FLAGS m_styleFlags
 

Detailed Description

Definition at line 59 of file kistatusbar.h.

Member Enumeration Documentation

◆ FIELD

enum class KISTATUSBAR::FIELD
strongprivate
Enumerator
BGJOB_LABEL 
BGJOB_GAUGE 
BGJOB_CANCEL 
WARNING 
NOTIFICATION 

Definition at line 139 of file kistatusbar.h.

◆ STYLE_FLAGS

Enumerator
NONE_STYLE 
NOTIFICATION_ICON 
CANCEL_BUTTON 
WARNING_ICON 

Definition at line 62 of file kistatusbar.h.

Constructor & Destructor Documentation

◆ KISTATUSBAR()

◆ ~KISTATUSBAR()

Member Function Documentation

◆ AddLoadWarningMessages()

void KISTATUSBAR::AddLoadWarningMessages ( 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 339 of file kistatusbar.cpp.

References m_loadWarningMessages, m_loadWarningMutex, traceLibraries, and updateWarningUI().

◆ ClearLoadWarningMessages()

void KISTATUSBAR::ClearLoadWarningMessages ( )

Definition at line 408 of file kistatusbar.cpp.

References m_loadWarningMessages, m_loadWarningMutex, m_warningButton, and Refresh().

◆ fieldIndex()

std::optional< int > KISTATUSBAR::fieldIndex ( FIELD aField) const
private

◆ GetLoadWarningCount()

size_t KISTATUSBAR::GetLoadWarningCount ( ) const

Get current message count (thread-safe).

Definition at line 359 of file kistatusbar.cpp.

References m_loadWarningMessages, and m_loadWarningMutex.

◆ HideBackgroundProgressBar()

void KISTATUSBAR::HideBackgroundProgressBar ( )

Hide the background progress bar.

Definition at line 271 of file kistatusbar.cpp.

References m_backgroundProgressBar, and m_backgroundStopButton.

Referenced by KISTATUSBAR().

◆ onBackgroundProgressClick()

void KISTATUSBAR::onBackgroundProgressClick ( wxMouseEvent & aEvent)
private

◆ onLoadWarningsIconClick()

void KISTATUSBAR::onLoadWarningsIconClick ( wxCommandEvent & aEvent)
private

◆ onNotificationsIconClick()

void KISTATUSBAR::onNotificationsIconClick ( wxCommandEvent & aEvent)
private

◆ onSize()

◆ SetBackgroundProgress()

void KISTATUSBAR::SetBackgroundProgress ( int aAmount)

Set the current progress of the progress bar.

Definition at line 280 of file kistatusbar.cpp.

References m_backgroundProgressBar.

◆ SetBackgroundProgressMax()

void KISTATUSBAR::SetBackgroundProgressMax ( int aAmount)

Set the max progress of the progress bar.

Definition at line 291 of file kistatusbar.cpp.

References m_backgroundProgressBar.

◆ SetBackgroundStatusText()

void KISTATUSBAR::SetBackgroundStatusText ( const wxString & aTxt)

Set the status text that displays next to the progress bar.

Definition at line 297 of file kistatusbar.cpp.

References m_backgroundTxt.

◆ SetEllipsedTextField()

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.

Note
Unfortunately, setting the wxStatusBar style to wxELLIPSIZE_MIDDLE does not work.

Definition at line 447 of file kistatusbar.cpp.

References KIUI::GetTextSize().

Referenced by PROJECT_TREE_PANE::FileWatcherReset(), KICAD_MANAGER_FRAME::OnSize(), and KICAD_MANAGER_FRAME::PrintPrjInfo().

◆ SetLoadWarningMessages()

void KISTATUSBAR::SetLoadWarningMessages ( const wxString & aMessages)

◆ SetNotificationCount()

void KISTATUSBAR::SetNotificationCount ( int aCount)

Set the notification count on the notifications button.

A value of 0 will hide the count.

Definition at line 303 of file kistatusbar.cpp.

References m_notificationsButton, and Refresh().

Referenced by NOTIFICATIONS_MANAGER::RegisterStatusBar().

◆ ShowBackgroundProgressBar()

void KISTATUSBAR::ShowBackgroundProgressBar ( bool aCancellable = false)

Show the background progress bar.

Definition at line 262 of file kistatusbar.cpp.

References m_backgroundProgressBar, and m_backgroundStopButton.

◆ updateWarningUI()

void KISTATUSBAR::updateWarningUI ( )
private

Update warning button visibility and badge (main thread only)

Definition at line 366 of file kistatusbar.cpp.

References _, m_loadWarningMessages, m_loadWarningMutex, m_warningButton, Refresh(), and traceLibraries.

Referenced by AddLoadWarningMessages(), and SetLoadWarningMessages().

Member Data Documentation

◆ DEFAULT_STYLE

auto KISTATUSBAR::DEFAULT_STYLE
staticconstexpr
Initial value:

Definition at line 70 of file kistatusbar.h.

◆ m_backgroundProgressBar

◆ m_backgroundStopButton

wxButton* KISTATUSBAR::m_backgroundStopButton
private

◆ m_backgroundTxt

wxStaticText* KISTATUSBAR::m_backgroundTxt
private

Definition at line 153 of file kistatusbar.h.

Referenced by KISTATUSBAR(), onSize(), and SetBackgroundStatusText().

◆ m_loadWarningMessages

std::vector<LOAD_MESSAGE> KISTATUSBAR::m_loadWarningMessages
private

◆ m_loadWarningMutex

std::mutex KISTATUSBAR::m_loadWarningMutex
mutableprivate

◆ m_normalFieldsCount

int KISTATUSBAR::m_normalFieldsCount
private

◆ m_notificationsButton

BITMAP_BUTTON* KISTATUSBAR::m_notificationsButton
private

◆ m_styleFlags

STYLE_FLAGS KISTATUSBAR::m_styleFlags
private

Definition at line 159 of file kistatusbar.h.

Referenced by fieldIndex(), and KISTATUSBAR().

◆ m_warningButton

BITMAP_BUTTON* KISTATUSBAR::m_warningButton
private

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