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

A wrapper for reporting to a WX_INFOBAR UI element. More...

#include <reporter.h>

Inheritance diagram for INFOBAR_REPORTER:
REPORTER

Public Types

enum  LOCATION { LOC_HEAD = 0 , LOC_BODY , LOC_TAIL }
 Location where the message is to be reported. More...
 

Public Member Functions

 INFOBAR_REPORTER (WX_INFOBAR *aInfoBar)
 
virtual ~INFOBAR_REPORTER ()
 
REPORTERReport (const wxString &aText, SEVERITY aSeverity=RPT_SEVERITY_UNDEFINED) override
 Report a string with a given severity.
 
bool HasMessage () const override
 Returns true if the reporter client is non-empty.
 
void Finalize ()
 Update the infobar with the reported text.
 
REPORTERReport (const char *aText, SEVERITY aSeverity=RPT_SEVERITY_UNDEFINED)
 
virtual REPORTERReportTail (const wxString &aText, SEVERITY aSeverity=RPT_SEVERITY_UNDEFINED)
 Places the report at the end of the list, for objects that support report ordering.
 
virtual REPORTERReportHead (const wxString &aText, SEVERITY aSeverity=RPT_SEVERITY_UNDEFINED)
 Places the report at the beginning of the list for objects that support ordering.
 
REPORTERoperator<< (const wxString &aText)
 
virtual EDA_UNITS GetUnits () const
 

Private Attributes

bool m_messageSet
 
WX_INFOBARm_infoBar
 
std::unique_ptr< wxString > m_message
 
SEVERITY m_severity
 

Detailed Description

A wrapper for reporting to a WX_INFOBAR UI element.

The infobar is not updated until the Finalize() method is called. That method will queue either a show message or a dismiss event for the infobar - so this reporter is safe to use inside a paint event without causing an infinite paint event loop.

No action is taken if no message is given to the reporter.

Definition at line 337 of file reporter.h.

Member Enumeration Documentation

◆ LOCATION

enum REPORTER::LOCATION
inherited

Location where the message is to be reported.

LOC_HEAD messages are printed before all others (typically intro messages) LOC_BODY messages are printed in the middle LOC_TAIL messages are printed after all others (typically status messages)

Enumerator
LOC_HEAD 
LOC_BODY 
LOC_TAIL 

Definition at line 79 of file reporter.h.

Constructor & Destructor Documentation

◆ INFOBAR_REPORTER()

INFOBAR_REPORTER::INFOBAR_REPORTER ( WX_INFOBAR aInfoBar)
inline

Definition at line 340 of file reporter.h.

◆ ~INFOBAR_REPORTER()

INFOBAR_REPORTER::~INFOBAR_REPORTER ( )
virtual

Definition at line 232 of file reporter.cpp.

Member Function Documentation

◆ Finalize()

◆ GetUnits()

virtual EDA_UNITS REPORTER::GetUnits ( ) const
inlinevirtualinherited

Reimplemented in WX_HTML_REPORT_BOX.

Definition at line 123 of file reporter.h.

◆ HasMessage()

bool INFOBAR_REPORTER::HasMessage ( ) const
overridevirtual

Returns true if the reporter client is non-empty.

Implements REPORTER.

Definition at line 247 of file reporter.cpp.

References m_message.

Referenced by Finalize().

◆ operator<<()

REPORTER & REPORTER::operator<< ( const wxString &  aText)
inlineinherited

Definition at line 116 of file reporter.h.

References REPORTER::Report().

◆ Report() [1/2]

REPORTER & REPORTER::Report ( const char *  aText,
SEVERITY  aSeverity = RPT_SEVERITY_UNDEFINED 
)
inherited

Definition at line 38 of file reporter.cpp.

References From_UTF8(), and REPORTER::Report().

◆ Report() [2/2]

REPORTER & INFOBAR_REPORTER::Report ( const wxString &  aText,
SEVERITY  aSeverity = RPT_SEVERITY_UNDEFINED 
)
overridevirtual

Report a string with a given severity.

Parameters
aTextis the string to report.
aSeverityis an indicator ( RPT_UNDEFINED, RPT_INFO, RPT_WARNING, RPT_ERROR, RPT_ACTION ) used to filter and format messages

Implements REPORTER.

Definition at line 237 of file reporter.cpp.

References m_message, m_messageSet, and m_severity.

Referenced by EDA_3D_CANVAS::DoRePaint().

◆ ReportHead()

virtual REPORTER & REPORTER::ReportHead ( const wxString &  aText,
SEVERITY  aSeverity = RPT_SEVERITY_UNDEFINED 
)
inlinevirtualinherited

◆ ReportTail()

Member Data Documentation

◆ m_infoBar

WX_INFOBAR* INFOBAR_REPORTER::m_infoBar
private

Definition at line 362 of file reporter.h.

Referenced by Finalize().

◆ m_message

std::unique_ptr<wxString> INFOBAR_REPORTER::m_message
private

Definition at line 363 of file reporter.h.

Referenced by Finalize(), HasMessage(), and Report().

◆ m_messageSet

bool INFOBAR_REPORTER::m_messageSet
private

Definition at line 361 of file reporter.h.

Referenced by Finalize(), and Report().

◆ m_severity

SEVERITY INFOBAR_REPORTER::m_severity
private

Definition at line 364 of file reporter.h.

Referenced by Finalize(), and Report().


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