KiCad PCB EDA Suite
REPORTER Class Referenceabstract

A pure virtual class used to derive REPORTER objects from. More...

#include <reporter.h>

Inheritance diagram for REPORTER:
CONSOLE_MSG_REPORTER CONSOLE_MSG_REPORTER INFOBAR_REPORTER NULL_REPORTER SPICE_REPORTER STATUSBAR_REPORTER STDOUT_REPORTER WXLOG_REPORTER WX_HTML_PANEL_REPORTER WX_HTML_REPORT_BOX WX_STRING_REPORTER WX_TEXT_CTRL_REPORTER

Public Types

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_SEVERITY_UNDEFINED)=0
 Report a string with a given severity. More...
 
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. More...
 
virtual REPORTERReportHead (const wxString &aText, SEVERITY aSeverity=RPT_SEVERITY_UNDEFINED)
 Places the report at the beginning of the list for objects that support ordering. More...
 
REPORTERReport (const char *aText, SEVERITY aSeverity=RPT_SEVERITY_UNDEFINED)
 
REPORTERoperator<< (const wxString &aText)
 
virtual bool HasMessage () const =0
 Returns true if the reporter client is non-empty. More...
 
virtual EDA_UNITS GetUnits () const
 
virtual ~REPORTER ()
 

Detailed Description

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

79 {
80 LOC_HEAD = 0,
83 };
@ LOC_BODY
Definition: reporter.h:81
@ LOC_TAIL
Definition: reporter.h:82
@ LOC_HEAD
Definition: reporter.h:80

Constructor & Destructor Documentation

◆ ~REPORTER()

virtual REPORTER::~REPORTER ( )
inlinevirtual

Definition at line 128 of file reporter.h.

129 {
130 }

Member Function Documentation

◆ GetUnits()

virtual EDA_UNITS REPORTER::GetUnits ( ) const
inlinevirtual

Reimplemented in WX_HTML_REPORT_BOX.

Definition at line 123 of file reporter.h.

124 {
126 }

References MILLIMETRES.

◆ HasMessage()

◆ operator<<()

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

Definition at line 116 of file reporter.h.

116{ return Report( aText ); }
virtual REPORTER & Report(const wxString &aText, SEVERITY aSeverity=RPT_SEVERITY_UNDEFINED)=0
Report a string with a given severity.

References Report().

◆ Report() [1/2]

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

Definition at line 36 of file reporter.cpp.

37{
38 Report( FROM_UTF8( aText ) );
39 return *this;
40}
static wxString FROM_UTF8(const char *cstring)
Convert a UTF8 encoded C string to a wxString for all wxWidgets build modes.
Definition: macros.h:110

References FROM_UTF8(), and Report().

◆ Report() [2/2]

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

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

Implemented in STDOUT_REPORTER, WXLOG_REPORTER, WX_HTML_REPORT_BOX, SIM_THREAD_REPORTER, WX_TEXT_CTRL_REPORTER, WX_STRING_REPORTER, WX_HTML_PANEL_REPORTER, NULL_REPORTER, STATUSBAR_REPORTER, INFOBAR_REPORTER, CONSOLE_MSG_REPORTER, and CONSOLE_MSG_REPORTER.

Referenced by GERBER_JOBFILE_WRITER::addJSONFilesAttributes(), GERBER_JOBFILE_WRITER::addJSONMaterialStackup(), BOARD_NETLIST_UPDATER::addNewFootprint(), SCH_EDIT_FRAME::AnnotateSymbols(), DIALOG_PLOT::applyPlotSettings(), PROJECT_ARCHIVER::Archive(), DIALOG_SYMBOL_REMAP::backupProject(), NGSPICE::cbSendChar(), TRACKS_CLEANER::CleanupBoard(), DRC_RULE_CONDITION::Compile(), DIALOG_GEN_FOOTPRINT_POSITION::CreateAsciiFiles(), EXCELLON_WRITER::CreateDrillandMapFilesSet(), GERBER_WRITER::CreateDrillandMapFilesSet(), DIALOG_PLOT_SCHEMATIC::createDXFFiles(), DIALOG_GEN_FOOTPRINT_POSITION::CreateGerberFiles(), DIALOG_PLOT_SCHEMATIC::createHPGLFiles(), GERBER_JOBFILE_WRITER::CreateJobFile(), BOARD_ADAPTER::createLayers(), GENDRILL_WRITER_BASE::CreateMapFilesSet(), DIALOG_PLOT_SCHEMATIC::createPDFFile(), DIALOG_PLOT_SCHEMATIC::createPlotFileName(), DIALOG_SYMBOL_REMAP::createProjectSymbolLibTable(), DIALOG_PLOT_SCHEMATIC::createPSFiles(), DIALOG_PLOT_SCHEMATIC::createSVGFiles(), EnsureFileDirectoryExists(), DRC_RULE_CONDITION::EvaluateFor(), DIALOG_EXPORT_SVG::ExportSVGFile(), HYPERLYNX_EXPORTER::formatPadShape(), DISPLAY_FOOTPRINTS_FRAME::GetFootprint(), CADSTAR_SCH_ARCHIVE_LOADER::getLocationOfNetElement(), HelperGeneratePowerPortGraphics(), BOARD_ADAPTER::InitSettings(), CADSTAR_SCH_ARCHIVE_LOADER::Load(), RENDER_3D_OPENGL::load3dModels(), CADSTAR_SCH_ARCHIVE_LOADER::loadChildSheets(), CADSTAR_SCH_ARCHIVE_LOADER::loadDocumentationSymbols(), PCB_EDIT_FRAME::LoadFootprints(), SCH_EAGLE_PLUGIN::loadInstance(), CADSTAR_SCH_ARCHIVE_LOADER::loadPartsLibrary(), CADSTAR_SCH_ARCHIVE_LOADER::loadSchematicSymbol(), CADSTAR_SCH_ARCHIVE_LOADER::loadSchematicSymbolInstances(), CADSTAR_SCH_ARCHIVE_LOADER::loadTextVariables(), DIALOG_NETLIST_IMPORT::onFilenameChanged(), operator<<(), DRC_RULES_PARSER::Parse(), SCH_ALTIUM_PLUGIN::ParseAdditional(), SCH_ALTIUM_PLUGIN::ParseArc(), SCH_ALTIUM_PLUGIN::ParseBezier(), SCH_ALTIUM_PLUGIN::ParseDesignator(), SCH_ALTIUM_PLUGIN::ParseEllipse(), SCH_ALTIUM_PLUGIN::ParseFileHeader(), SCH_ALTIUM_PLUGIN::ParseFileName(), SCH_ALTIUM_PLUGIN::ParseHarnessConnector(), SCH_ALTIUM_PLUGIN::ParseHarnessEntry(), SCH_ALTIUM_PLUGIN::ParseHarnessPort(), SCH_ALTIUM_PLUGIN::ParseHarnessType(), SCH_ALTIUM_PLUGIN::ParseImage(), SCH_ALTIUM_PLUGIN::ParseImplementation(), SCH_ALTIUM_PLUGIN::ParseLabel(), SCH_ALTIUM_PLUGIN::ParseLine(), SCH_ALTIUM_PLUGIN::ParsePin(), SCH_ALTIUM_PLUGIN::ParsePolygon(), SCH_ALTIUM_PLUGIN::ParsePolyline(), SCH_ALTIUM_PLUGIN::ParsePort(), SCH_ALTIUM_PLUGIN::ParsePowerPort(), SCH_ALTIUM_PLUGIN::ParseRectangle(), SCH_ALTIUM_PLUGIN::ParseRoundRectangle(), SCH_ALTIUM_PLUGIN::ParseSheetEntry(), SCH_ALTIUM_PLUGIN::ParseSheetName(), SCH_ALTIUM_PLUGIN::ParseSignalHarness(), SCH_ALTIUM_PLUGIN::ParseStorage(), DRC_RULES_PARSER::parseValueWithUnits(), DIALOG_PLOT::Plot(), RENDER_3D_RAYTRACE::postProcessShading(), RENDER_3D_OPENGL::Redraw(), RENDER_3D_RAYTRACE::Redraw(), RENDER_3D_OPENGL::reload(), RENDER_3D_RAYTRACE::Reload(), DIALOG_SYMBOL_REMAP::remapSymbolsToLibTable(), RENDER_3D_RAYTRACE::render(), BOARD_NETLIST_UPDATER::replaceFootprint(), Report(), DRC_ENGINE::ReportAux(), DRC_RULES_PARSER::reportDeprecation(), DRC_RULES_PARSER::reportError(), ReportHead(), ReportTail(), DRC_ENGINE::ReportViolation(), BOARD_NETLIST_UPDATER::testConnectivity(), PROJECT_ARCHIVER::Unarchive(), GERBVIEW_FRAME::unarchiveFiles(), BOARD_NETLIST_UPDATER::updateComponentPadConnections(), BOARD_NETLIST_UPDATER::updateCopperZoneNets(), BOARD_NETLIST_UPDATER::updateFootprintParameters(), BOARD_NETLIST_UPDATER::UpdateNetlist(), and SCH_EDIT_FRAME::WriteNetListFile().

◆ ReportHead()

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

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

Reimplemented in WX_HTML_PANEL_REPORTER.

Definition at line 108 of file reporter.h.

110 {
111 return Report( aText, aSeverity );
112 }

References Report().

Referenced by BACK_ANNOTATE::applyChangelist(), BACK_ANNOTATE::getPcbModulesFromString(), DIALOG_NETLIST_IMPORT::loadNetlist(), DIALOG_ERC::OnRunERCClick(), BACK_ANNOTATE::processNetNameChange(), and SCH_EDIT_FRAME::WriteNetListFile().

◆ ReportTail()


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