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

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

#include <reporter.h>

Inheritance diagram for REPORTER:
CLI_REPORTER CONSOLE_MSG_REPORTER CONSOLE_MSG_REPORTER INFOBAR_REPORTER KI_TEST::CONSOLE_MSG_REPORTER NULL_REPORTER REDIRECT_REPORTER SIMULATOR_REPORTER STATUSBAR_REPORTER STDOUT_REPORTER TEST_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

 REPORTER ()
 
virtual ~REPORTER ()
 
virtual REPORTERReport (const wxString &aText, SEVERITY aSeverity=RPT_SEVERITY_UNDEFINED)
 Report a string with a given severity.
 
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.
 
REPORTERReport (const char *aText, SEVERITY aSeverity=RPT_SEVERITY_UNDEFINED)
 
REPORTERoperator<< (const wxString &aText)
 
virtual bool HasMessage () const
 Returns true if any messages were reported.
 
virtual bool HasMessageOfSeverity (int aSeverityMask) const
 Returns true if the reporter has one or more messages matching the specified severity mask.
 
virtual EDA_UNITS GetUnits () const
 
virtual void Clear ()
 

Private Attributes

int m_reportedSeverityMask
 

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

Constructor & Destructor Documentation

◆ REPORTER()

◆ ~REPORTER()

virtual REPORTER::~REPORTER ( )
inlinevirtual

Definition at line 79 of file reporter.h.

Member Function Documentation

◆ Clear()

virtual void REPORTER::Clear ( )
inlinevirtual

◆ GetUnits()

virtual EDA_UNITS REPORTER::GetUnits ( ) const
inlinevirtual

Reimplemented in WX_HTML_REPORT_BOX.

Definition at line 148 of file reporter.h.

References MM.

Referenced by BOOST_AUTO_TEST_CASE(), and BOOST_AUTO_TEST_CASE().

◆ HasMessage()

◆ HasMessageOfSeverity()

◆ operator<<()

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

Definition at line 129 of file reporter.h.

References Report(), and REPORTER().

◆ Report() [1/2]

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

Definition at line 49 of file reporter.cpp.

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

◆ Report() [2/2]

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

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

Reimplemented in CLI_REPORTER, CONSOLE_MSG_REPORTER, CONSOLE_MSG_REPORTER, INFOBAR_REPORTER, JOBSET_OUTPUT_REPORTER, KI_TEST::CONSOLE_MSG_REPORTER, NULL_REPORTER, REDIRECT_REPORTER, SIM_THREAD_REPORTER, STATUSBAR_REPORTER, STDOUT_REPORTER, TEST_NETLIST_EXPORTER_SPICE_FIXTURE::SPICE_TEST_REPORTER, TEST_REPORTER, WX_HTML_PANEL_REPORTER, WX_HTML_REPORT_BOX, WX_STRING_REPORTER, WX_TEXT_CTRL_REPORTER, and WXLOG_REPORTER.

Definition at line 102 of file reporter.h.

References m_reportedSeverityMask, REPORTER(), and RPT_SEVERITY_UNDEFINED.

Referenced by SCH_EDIT_FRAME::AnnotateSymbols(), DIALOG_PLOT::applyPlotSettings(), PROJECT_ARCHIVER::Archive(), PROJECT_ARCHIVER::AreZipArchivesIdentical(), DIALOG_SYMBOL_REMAP::backupProject(), PIN_INFO_FORMATTER::boolFromString(), BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), NGSPICE::cbSendChar(), DRC_RULE_CONDITION::Compile(), PCB_IO_MGR::ConvertLibrary(), SIM_MODEL::Create(), SIM_MODEL::Create(), DIALOG_GEN_FOOTPRINT_POSITION::CreateAsciiFiles(), EXCELLON_WRITER::CreateDrillandMapFilesSet(), GERBER_WRITER::CreateDrillandMapFilesSet(), SCH_PLOTTER::createDXFFiles(), DIALOG_GEN_FOOTPRINT_POSITION::CreateGerberFiles(), BOARD_ADAPTER::createLayers(), GENDRILL_WRITER_BASE::CreateMapFilesSet(), SIM_LIB_MGR::CreateModel(), SCH_PLOTTER::createPDFFile(), SCH_PLOTTER::createPlotFileName(), DIALOG_SYMBOL_REMAP::createProjectSymbolLibTable(), SCH_PLOTTER::createPSFiles(), SCH_PLOTTER::createSVGFiles(), SCH_EDIT_FRAME::DeleteAnnotation(), EnsureFileDirectoryExists(), DRC_RULE_CONDITION::EvaluateFor(), footprintVsBoardStackup(), fuseShapes(), DIALOG_EXPORT_ODBPP::GenerateODBPPFiles(), DISPLAY_FOOTPRINTS_FRAME::GetFootprint(), HelperGeneratePowerPortGraphics(), HelperGeneratePowerPortGraphics(), BOARD_ADAPTER::InitSettings(), LTSPICE_SCHEMATIC::Load(), PNS_LOG_FILE::Load(), RENDER_3D_OPENGL::load3dModels(), PCB_EDIT_FRAME::LoadFootprints(), makeWireFromChain(), DIALOG_IMPORT_NETLIST::onFilenameChanged(), DIALOG_EXPORT_2581::onOKClick(), operator<<(), padNeedsUpdate(), SPICE_LIBRARY_PARSER::parseFile(), PCB_PLOTTER::PlotJobToPlotOpts(), RENDER_3D_RAYTRACE_BASE::postProcessShading(), SIM_LIBRARY_IBIS::ReadFile(), NETLIST_EXPORTER_SPICE::ReadSchematicAndLibraries(), SIM_MODEL::ReadTypeFromFields(), RENDER_3D_OPENGL::Redraw(), RENDER_3D_RAYTRACE_GL::Redraw(), RENDER_3D_RAYTRACE_RAM::Redraw(), RENDER_3D_RAYTRACE_BASE::Reload(), RENDER_3D_OPENGL::reload(), DIALOG_SYMBOL_REMAP::remapSymbolsToLibTable(), RENDER_3D_RAYTRACE_BASE::render(), RENDER_3D_RAYTRACE_BASE::renderTracing(), CLI_REPORTER::Report(), NULL_REPORTER::Report(), REDIRECT_REPORTER::Report(), Report(), STATUSBAR_REPORTER::Report(), STDOUT_REPORTER::Report(), TEST_REPORTER::Report(), WX_HTML_PANEL_REPORTER::Report(), WX_STRING_REPORTER::Report(), WX_TEXT_CTRL_REPORTER::Report(), WXLOG_REPORTER::Report(), BOARD_INSPECTION_TOOL::reportCompileError(), ReportHead(), BOARD_INSPECTION_TOOL::reportHeader(), BOARD_INSPECTION_TOOL::reportHeader(), BOARD_INSPECTION_TOOL::reportHeader(), ReportTail(), SIM_LIB_MGR::ResolveLibraryPath(), JOBS_RUNNER::runSpecialExecute(), SIM_LIB_MGR::SetLibrary(), DIALOG_EXPORT_NETLIST::TransferDataFromWindow(), PROJECT_ARCHIVER::Unarchive(), GERBVIEW_FRAME::unarchiveFiles(), NETLIST_EXPORTER_ALLEGRO::WriteNetlist(), NETLIST_EXPORTER_CADSTAR::WriteNetlist(), NETLIST_EXPORTER_KICAD::WriteNetlist(), NETLIST_EXPORTER_ORCADPCB2::WriteNetlist(), NETLIST_EXPORTER_PADS::WriteNetlist(), SCH_EDIT_FRAME::WriteNetListFile(), and zoneNeedsUpdate().

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

References Report(), REPORTER(), and RPT_SEVERITY_UNDEFINED.

Referenced by BOOST_AUTO_TEST_CASE(), BOOST_AUTO_TEST_CASE(), DIALOG_IMPORT_NETLIST::loadNetlist(), WX_HTML_PANEL_REPORTER::ReportHead(), DIALOG_EXPORT_NETLIST::TransferDataFromWindow(), and SCH_EDIT_FRAME::WriteNetListFile().

◆ ReportTail()

Member Data Documentation

◆ m_reportedSeverityMask

int REPORTER::m_reportedSeverityMask
private

Definition at line 159 of file reporter.h.

Referenced by Clear(), HasMessage(), HasMessageOfSeverity(), Report(), and REPORTER().


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