KiCad PCB EDA Suite
WX_HTML_REPORT_BOX Class Reference

A slimmed down version of WX_HTML_REPORT_PANEL. More...

#include <wx_html_report_box.h>

Inheritance diagram for WX_HTML_REPORT_BOX:
REPORTER

Public Types

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

Public Member Functions

 WX_HTML_REPORT_BOX (wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(500, 300), long style=wxTAB_TRAVERSAL)
 
REPORTERReport (const wxString &aText, SEVERITY aSeverity=RPT_SEVERITY_UNDEFINED) override
 Report a string with a given severity. More...
 
bool HasMessage () const override
 Returns true if the reporter client is non-empty. More...
 
void SetUnits (EDA_UNITS aUnits)
 
EDA_UNITS GetUnits () const override
 
void SetImmediateMode ()
 
void Flush ()
 
void Clear ()
 
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. 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...
 
REPORTERoperator<< (const wxString &aText)
 
REPORTERoperator<< (const wxChar *aText)
 
REPORTERoperator<< (wxChar aChar)
 
REPORTERoperator<< (const char *aText)
 

Private Member Functions

wxString addHeader (const wxString &aBody)
 
wxString generateHtml (const wxString &aLine)
 

Private Attributes

EDA_UNITS m_units
 
bool m_immediateMode
 copy of the report, stored for filtering More...
 
std::vector< wxString > m_messages
 

Detailed Description

A slimmed down version of WX_HTML_REPORT_PANEL.

Definition at line 32 of file wx_html_report_box.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 73 of file reporter.h.

73  {
74  LOC_HEAD = 0,
75  LOC_BODY,
76  LOC_TAIL
77  };

Constructor & Destructor Documentation

◆ WX_HTML_REPORT_BOX()

WX_HTML_REPORT_BOX::WX_HTML_REPORT_BOX ( wxWindow *  parent,
wxWindowID  id = wxID_ANY,
const wxPoint &  pos = wxDefaultPosition,
const wxSize &  size = wxSize( 500,300 ),
long  style = wxTAB_TRAVERSAL 
)

Definition at line 26 of file wx_html_report_box.cpp.

27  :
28  wxHtmlWindow( parent, id, pos, size, style ),
30  m_immediateMode( false )
31 {
32 }
bool m_immediateMode
copy of the report, stored for filtering

References MILLIMETRES.

Member Function Documentation

◆ addHeader()

wxString WX_HTML_REPORT_BOX::addHeader ( const wxString &  aBody)
private

Definition at line 92 of file wx_html_report_box.cpp.

93 {
94  wxColour bgcolor = wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW );
95  wxColour fgcolor = wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOWTEXT );
96 
97  return wxString::Format( wxT( "<html>"
98  " <body bgcolor='%s' text='%s'>"
99  " %s"
100  " </body>"
101  "</html>" ),
102  bgcolor.GetAsString( wxC2S_HTML_SYNTAX ),
103  fgcolor.GetAsString( wxC2S_HTML_SYNTAX ),
104  aBody );
105 }
void Format(OUTPUTFORMATTER *out, int aNestLevel, int aCtl, const CPTREE &aTree)
Output a PTREE into s-expression format via an OUTPUTFORMATTER derivative.
Definition: ptree.cpp:200

References Format().

Referenced by Flush().

◆ Clear()

void WX_HTML_REPORT_BOX::Clear ( )

◆ Flush()

void WX_HTML_REPORT_BOX::Flush ( )

Definition at line 76 of file wx_html_report_box.cpp.

77 {
78  wxString html;
79 
80  for( const wxString& line : m_messages )
81  html += generateHtml( line );
82 
83  SetPage( addHeader( html ) );
84 
85  wxFont font = wxSystemSettings::GetFont( wxSYS_DEFAULT_GUI_FONT );
86  int minLineHeight = KiROUND( font.GetPixelSize().y * 1.3 );
87 
88  fixLinespacing( GetInternalRepresentation(), minLineHeight );
89 }
wxString addHeader(const wxString &aBody)
wxString fixLinespacing(wxHtmlCell *aCell, int aMinLinespacing)
std::vector< wxString > m_messages
constexpr ret_type KiROUND(fp_type v)
Round a floating point number to an integer using "round halfway cases away from zero".
Definition: util.h:68
wxString generateHtml(const wxString &aLine)

References addHeader(), fixLinespacing(), generateHtml(), KiROUND(), and m_messages.

Referenced by BOARD_INSPECTION_TOOL::InspectClearance(), BOARD_INSPECTION_TOOL::InspectConstraints(), PANEL_SETUP_RULES::OnCompile(), DIALOG_DRC::OnRunDRCClick(), and Report().

◆ generateHtml()

wxString WX_HTML_REPORT_BOX::generateHtml ( const wxString &  aLine)
private

Definition at line 108 of file wx_html_report_box.cpp.

109 {
110  return aLine + "<br>";
111 }

Referenced by Flush().

◆ GetUnits()

EDA_UNITS WX_HTML_REPORT_BOX::GetUnits ( ) const
inlineoverridevirtual

Reimplemented from REPORTER.

Definition at line 44 of file wx_html_report_box.h.

44 { return m_units; }

References m_units.

Referenced by BOARD_INSPECTION_TOOL::InspectClearance(), and BOARD_INSPECTION_TOOL::InspectConstraints().

◆ HasMessage()

bool WX_HTML_REPORT_BOX::HasMessage ( ) const
inlineoverridevirtual

Returns true if the reporter client is non-empty.

Implements REPORTER.

Definition at line 41 of file wx_html_report_box.h.

41 { return !m_messages.empty(); }
std::vector< wxString > m_messages

References m_messages.

◆ operator<<() [1/4]

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

Definition at line 110 of file reporter.h.

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

References REPORTER::Report().

◆ operator<<() [2/4]

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

Definition at line 111 of file reporter.h.

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

References REPORTER::Report().

◆ operator<<() [3/4]

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

Definition at line 112 of file reporter.h.

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

References REPORTER::Report().

◆ operator<<() [4/4]

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

Definition at line 113 of file reporter.h.

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

References REPORTER::Report().

◆ Report() [1/2]

REPORTER & WX_HTML_REPORT_BOX::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 35 of file wx_html_report_box.cpp.

36 {
37  m_messages.push_back( aText );
38 
39  if( m_immediateMode )
40  {
41  Flush();
42  int px, py, x, y;
43  GetScrollPixelsPerUnit( &px, &py );
44  GetVirtualSize( &x, &y );
45  Scroll( -1, y * py );
46  }
47 
48  return *this;
49 }
std::vector< wxString > m_messages
bool m_immediateMode
copy of the report, stored for filtering

References Flush(), m_immediateMode, and m_messages.

Referenced by DIALOG_DRC::AdvancePhase(), BOARD_INSPECTION_TOOL::InspectClearance(), BOARD_INSPECTION_TOOL::InspectConstraints(), PANEL_SETUP_RULES::OnCompile(), DIALOG_DRC::OnRunDRCClick(), DIALOG_ERC::OnRunERCClick(), DIALOG_ERC::OnSaveReport(), DIALOG_DRC::OnSaveReport(), and DIALOG_ERC::Report().

◆ Report() [2/2]

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

Definition at line 33 of file reporter.cpp.

34 {
35  Report( FROM_UTF8( aText ) );
36  return *this;
37 }
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
virtual REPORTER & Report(const wxString &aText, SEVERITY aSeverity=RPT_SEVERITY_UNDEFINED)=0
Report a string with a given severity.

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

◆ ReportHead()

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

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

Reimplemented in WX_HTML_PANEL_REPORTER.

Definition at line 102 of file reporter.h.

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

References REPORTER::Report().

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

◆ ReportTail()

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

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

Reimplemented in WX_HTML_PANEL_REPORTER.

Definition at line 93 of file reporter.h.

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

References REPORTER::Report().

Referenced by SCH_EDIT_FRAME::AnnotateComponents(), BACK_ANNOTATE::BackAnnotateSymbols(), BACK_ANNOTATE::checkForUnusedSymbols(), DIALOG_SYMBOL_REMAP::createProjectSymbolLibTable(), BACK_ANNOTATE::getChangeList(), GERBER_JOBFILE_READER::ReadGerberJobFile(), BOARD_NETLIST_UPDATER::UpdateNetlist(), SCH_SCREEN::UpdateSymbolLinks(), and SCH_EDIT_FRAME::WriteNetListFile().

◆ SetImmediateMode()

void WX_HTML_REPORT_BOX::SetImmediateMode ( )
inline

Definition at line 46 of file wx_html_report_box.h.

46 { m_immediateMode = true; }
bool m_immediateMode
copy of the report, stored for filtering

References m_immediateMode.

Referenced by DIALOG_DRC::DIALOG_DRC(), and DIALOG_ERC::DIALOG_ERC().

◆ SetUnits()

void WX_HTML_REPORT_BOX::SetUnits ( EDA_UNITS  aUnits)
inline

Definition at line 43 of file wx_html_report_box.h.

43 { m_units = aUnits; }

References m_units.

Referenced by DIALOG_CONSTRAINTS_REPORTER::AddPage(), and BOARD_INSPECTION_TOOL::InspectClearance().

Member Data Documentation

◆ m_immediateMode

bool WX_HTML_REPORT_BOX::m_immediateMode
private

copy of the report, stored for filtering

Definition at line 59 of file wx_html_report_box.h.

Referenced by Report(), and SetImmediateMode().

◆ m_messages

std::vector<wxString> WX_HTML_REPORT_BOX::m_messages
private

Definition at line 62 of file wx_html_report_box.h.

Referenced by Clear(), Flush(), HasMessage(), and Report().

◆ m_units

EDA_UNITS WX_HTML_REPORT_BOX::m_units
private

Definition at line 55 of file wx_html_report_box.h.

Referenced by GetUnits(), and SetUnits().


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