KiCad PCB EDA Suite
REPORTER Class Referenceabstract

Class REPORTER is a pure virtual class used to derive REPORTER objects from. More...

#include <reporter.h>

Inheritance diagram for REPORTER:
NULL_REPORTER SPICE_REPORTER STATUS_TEXT_REPORTER STDOUT_REPORTER WX_HTML_PANEL_REPORTER WX_STRING_REPORTER WX_TEXT_CTRL_REPORTER SIM_THREAD_REPORTER

Public Types

enum  SEVERITY {
  RPT_UNDEFINED = 0x0, RPT_INFO = 0x1, RPT_ACTION = 0x2, RPT_WARNING = 0x4,
  RPT_ERROR = 0x8
}
 Severity of the reported messages. More...
 
enum  LOCATION { LOC_HEAD = 0, LOC_BODY, LOC_TAIL }
 Location where the message is to be reported. More...
 

Public Member Functions

virtual REPORTERReport (const wxString &aText, SEVERITY aSeverity=RPT_UNDEFINED)=0
 Function Report is a pure virtual function to override in the derived object. More...
 
virtual REPORTERReportTail (const wxString &aText, SEVERITY aSeverity=RPT_UNDEFINED)
 Function ReportTail Places the report at the end of the list, for objects that support report ordering. More...
 
virtual REPORTERReportHead (const wxString &aText, SEVERITY aSeverity=RPT_UNDEFINED)
 Function ReportHead Places the report at the beginning of the list for objects that support ordering. More...
 
REPORTERReport (const char *aText, SEVERITY aSeverity=RPT_UNDEFINED)
 
REPORTERoperator<< (const wxString &aText)
 
REPORTERoperator<< (const wxChar *aText)
 
REPORTERoperator<< (wxChar aChar)
 
REPORTERoperator<< (const char *aText)
 
virtual bool HasMessage () const =0
 Function HasMessage Returns true if the reporter client is non-empty. More...
 

Static Public Attributes

static constexpr int RPT_ALL = RPT_INFO | RPT_ACTION | RPT_WARNING | RPT_ERROR
 

Detailed Description

Class REPORTER is a pure virtual class used to derive REPORTER objects from.

The purpose of the REPORTER object is to offer a way for a procedural function to report multiple errors without having to:

  • know too much about the caller's UI, i.e. wx.
  • stop after the first error

the reporter has 4 severity levels (flags) tagging the messages:

  • information
  • warning
  • error
  • action (i.e. indication of changes - add component, change footprint, etc. ) They are indicators for the message formatting and displaying code, filtering is not made here.

Definition at line 61 of file reporter.h.

Member Enumeration Documentation

◆ LOCATION

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 90 of file reporter.h.

90  {
91  LOC_HEAD = 0,
92  LOC_BODY,
93  LOC_TAIL
94  };

◆ SEVERITY

Severity of the reported messages.

Undefined are default status messages Info are processing messages for which no action is taken Action messages are items that modify the file(s) as expected Warning messages are items that might be problematic but don't prevent the process from completing Error messages are items that prevent the process from completing

Enumerator
RPT_UNDEFINED 
RPT_INFO 
RPT_ACTION 
RPT_WARNING 
RPT_ERROR 

Definition at line 74 of file reporter.h.

Member Function Documentation

◆ HasMessage()

virtual bool REPORTER::HasMessage ( ) const
pure virtual

Function HasMessage Returns true if the reporter client is non-empty.

Implemented in STDOUT_REPORTER, NULL_REPORTER, WX_HTML_PANEL_REPORTER, WX_STRING_REPORTER, WX_TEXT_CTRL_REPORTER, SIM_THREAD_REPORTER, and STATUS_TEXT_REPORTER.

Referenced by DIALOG_ANNOTATE::OnApplyClick(), and DIALOG_ERC::TestErc().

◆ operator<<() [1/4]

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

Definition at line 127 of file reporter.h.

127 { return Report( aText ); }
virtual REPORTER & Report(const wxString &aText, SEVERITY aSeverity=RPT_UNDEFINED)=0
Function Report is a pure virtual function to override in the derived object.

References Report().

◆ operator<<() [2/4]

REPORTER& REPORTER::operator<< ( const wxChar *  aText)
inline

Definition at line 128 of file reporter.h.

128 { return Report( wxString( aText ) ); }
virtual REPORTER & Report(const wxString &aText, SEVERITY aSeverity=RPT_UNDEFINED)=0
Function Report is a pure virtual function to override in the derived object.

References Report().

◆ operator<<() [3/4]

REPORTER& REPORTER::operator<< ( wxChar  aChar)
inline

Definition at line 129 of file reporter.h.

129 { return Report( wxString( aChar ) ); }
virtual REPORTER & Report(const wxString &aText, SEVERITY aSeverity=RPT_UNDEFINED)=0
Function Report is a pure virtual function to override in the derived object.

References Report().

◆ operator<<() [4/4]

REPORTER& REPORTER::operator<< ( const char *  aText)
inline

Definition at line 130 of file reporter.h.

130 { return Report( aText ); }
virtual REPORTER & Report(const wxString &aText, SEVERITY aSeverity=RPT_UNDEFINED)=0
Function Report is a pure virtual function to override in the derived object.

References Report().

◆ Report() [1/2]

virtual REPORTER& REPORTER::Report ( const wxString &  aText,
SEVERITY  aSeverity = RPT_UNDEFINED 
)
pure virtual

Function Report is a pure virtual function to override in the derived object.

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

Implemented in STDOUT_REPORTER, NULL_REPORTER, WX_HTML_PANEL_REPORTER, WX_STRING_REPORTER, WX_TEXT_CTRL_REPORTER, SIM_THREAD_REPORTER, and STATUS_TEXT_REPORTER.

Referenced by GERBER_JOBFILE_WRITER::addJSONFilesAttributes(), GERBER_JOBFILE_WRITER::addJSONMaterialStackup(), BOARD_NETLIST_UPDATER::addNewComponent(), SCH_EDIT_FRAME::AnnotateComponents(), DIALOG_PLOT::applyPlotSettings(), DIALOG_SYMBOL_REMAP::backupProject(), NGSPICE::cbSendChar(), SCH_REFERENCE_LIST::CheckAnnotation(), GERBER_WRITER::CreateDrillandMapFilesSet(), EXCELLON_WRITER::CreateDrillandMapFilesSet(), DIALOG_PLOT_SCHEMATIC::CreateDXFFile(), DIALOG_GEN_FOOTPRINT_POSITION::CreateFiles(), DIALOG_PLOT_SCHEMATIC::createHPGLFile(), GERBER_JOBFILE_WRITER::CreateJobFile(), CINFO3D_VISU::createLayers(), GENDRILL_WRITER_BASE::CreateMapFilesSet(), DIALOG_PLOT_SCHEMATIC::createPDFFile(), DIALOG_PLOT_SCHEMATIC::createPlotFileName(), DIALOG_SYMBOL_REMAP::createProjectSymbolLibTable(), DIALOG_PLOT_SCHEMATIC::createPSFile(), DIALOG_PLOT_SCHEMATIC::createSVGFile(), BOARD_NETLIST_UPDATER::deleteSinglePadNets(), BOARD_NETLIST_UPDATER::deleteUnusedComponents(), EnsureFileDirectoryExists(), DIALOG_EXPORT_SVG::ExportSVGFile(), CINFO3D_VISU::InitSettings(), C3D_RENDER_OGL_LEGACY::load_3D_models(), PCB_EDIT_FRAME::LoadFootprints(), DIALOG_EXPORT_STEP::onExportButton(), DIALOG_NETLIST::onFilenameChanged(), operator<<(), DIALOG_PLOT::Plot(), DIALOG_EXCHANGE_FOOTPRINTS::processModule(), C3D_RENDER_RAYTRACING::Redraw(), C3D_RENDER_OGL_LEGACY::Redraw(), C3D_RENDER_OGL_LEGACY::reload(), C3D_RENDER_RAYTRACING::reload(), DIALOG_SYMBOL_REMAP::remapSymbolsToLibTable(), C3D_RENDER_RAYTRACING::render(), BOARD_NETLIST_UPDATER::replaceComponent(), BOARD::ReplaceNetlist(), Report(), ReportHead(), ReportTail(), C3D_RENDER_RAYTRACING::rt_render_post_process_shade(), C3D_RENDER_RAYTRACING::rt_render_tracing(), BOARD_NETLIST_UPDATER::testConnectivity(), GERBVIEW_FRAME::unarchiveFiles(), BOARD_NETLIST_UPDATER::updateComponentPadConnections(), BOARD::updateComponentPadConnections(), BOARD_NETLIST_UPDATER::updateComponentParameters(), BOARD_NETLIST_UPDATER::updateCopperZoneNets(), BOARD_NETLIST_UPDATER::UpdateNetlist(), and SCH_EDIT_FRAME::WriteNetListFile().

◆ Report() [2/2]

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

Definition at line 32 of file reporter.cpp.

33 {
34  Report( FROM_UTF8( aText ) );
35  return *this;
36 }
static wxString FROM_UTF8(const char *cstring)
function FROM_UTF8 converts a UTF8 encoded C string to a wxString for all wxWidgets build modes.
Definition: macros.h:53
virtual REPORTER & Report(const wxString &aText, SEVERITY aSeverity=RPT_UNDEFINED)=0
Function Report is a pure virtual function to override in the derived object.

References FROM_UTF8(), and Report().

◆ ReportHead()

virtual REPORTER& REPORTER::ReportHead ( const wxString &  aText,
SEVERITY  aSeverity = RPT_UNDEFINED 
)
inlinevirtual

Function ReportHead Places the report at the beginning of the list for objects that support ordering.

Reimplemented in WX_HTML_PANEL_REPORTER.

Definition at line 120 of file reporter.h.

121  {
122  return Report( aText, aSeverity );
123  }
virtual REPORTER & Report(const wxString &aText, SEVERITY aSeverity=RPT_UNDEFINED)=0
Function Report is a pure virtual function to override in the derived object.

References Report().

Referenced by DIALOG_NETLIST::loadNetlist(), DIALOG_EXPORT_STEP::onExportButton(), and SCH_EDIT_FRAME::WriteNetListFile().

◆ ReportTail()

virtual REPORTER& REPORTER::ReportTail ( const wxString &  aText,
SEVERITY  aSeverity = RPT_UNDEFINED 
)
inlinevirtual

Function ReportTail Places the report at the end of the list, for objects that support report ordering.

Reimplemented in WX_HTML_PANEL_REPORTER.

Definition at line 111 of file reporter.h.

112  {
113  return Report( aText, aSeverity );
114  }
virtual REPORTER & Report(const wxString &aText, SEVERITY aSeverity=RPT_UNDEFINED)=0
Function Report is a pure virtual function to override in the derived object.

References Report().

Referenced by SCH_EDIT_FRAME::AnnotateComponents(), DIALOG_SYMBOL_REMAP::createProjectSymbolLibTable(), DIALOG_EXPORT_STEP::onExportButton(), GERBER_JOBFILE_READER::ReadGerberJobFile(), DIALOG_ERC::TestErc(), BOARD_NETLIST_UPDATER::UpdateNetlist(), and SCH_EDIT_FRAME::WriteNetListFile().

Member Data Documentation

◆ RPT_ALL


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