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...
 

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

88  {
89  LOC_HEAD = 0,
90  LOC_BODY,
91  LOC_TAIL
92  };

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

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

Definition at line 125 of file reporter.h.

References Report().

125 { 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.
REPORTER& REPORTER::operator<< ( const wxChar *  aText)
inline

Definition at line 126 of file reporter.h.

References Report().

126 { 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.
REPORTER& REPORTER::operator<< ( wxChar  aChar)
inline

Definition at line 127 of file reporter.h.

References Report().

127 { 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.
REPORTER& REPORTER::operator<< ( const char *  aText)
inline

Definition at line 128 of file reporter.h.

References HasMessage(), and Report().

128 { 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.
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(), DIALOG_EXCHANGE_FOOTPRINTS::change_1_Module(), SCH_REFERENCE_LIST::CheckAnnotation(), GERBER_WRITER::CreateDrillandMapFilesSet(), EXCELLON_WRITER::CreateDrillandMapFilesSet(), DIALOG_PLOT_SCHEMATIC::CreateDXFFile(), 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_SVG_PRINT::ExportSVGFile(), CINFO3D_VISU::InitSettings(), C3D_RENDER_OGL_LEGACY::load_3D_models(), PCB_EDIT_FRAME::LoadFootprints(), NULL_REPORTER::NULL_REPORTER(), DIALOG_EXPORT_STEP::onExportButton(), operator<<(), DIALOG_PLOT::Plot(), DIALOG_EXCHANGE_FOOTPRINTS::RebuildCmpList(), C3D_RENDER_OGL_LEGACY::Redraw(), C3D_RENDER_RAYTRACING::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(), STDOUT_REPORTER::STDOUT_REPORTER(), BOARD_NETLIST_UPDATER::testConnectivity(), GERBVIEW_FRAME::unarchiveFiles(), BOARD_NETLIST_UPDATER::updateComponentPadConnections(), BOARD_NETLIST_UPDATER::updateComponentParameters(), BOARD_NETLIST_UPDATER::updateCopperZoneNets(), BOARD_NETLIST_UPDATER::UpdateNetlist(), SCH_EDIT_FRAME::WriteNetListFile(), WX_HTML_PANEL_REPORTER::WX_HTML_PANEL_REPORTER(), WX_STRING_REPORTER::WX_STRING_REPORTER(), and WX_TEXT_CTRL_REPORTER::WX_TEXT_CTRL_REPORTER().

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

Definition at line 32 of file reporter.cpp.

References FROM_UTF8(), and Report().

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

References Report(), and RPT_UNDEFINED.

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

119  {
120  return Report( aText, aSeverity );
121  }
virtual REPORTER & Report(const wxString &aText, SEVERITY aSeverity=RPT_UNDEFINED)=0
Function Report is a pure virtual function to override in the derived object.
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 109 of file reporter.h.

References Report().

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

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

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