KiCad PCB EDA Suite
DIALOG_ERC Class Reference

#include <dialog_erc.h>

Inheritance diagram for DIALOG_ERC:
DIALOG_ERC_BASE DIALOG_SHIM KIWAY_HOLDER

Public Member Functions

 DIALOG_ERC (SCH_EDIT_FRAME *parent)
 
 ~DIALOG_ERC ()
 
int ShowQuasiModal ()
 
void EndQuasiModal (int retCode)
 
bool IsQuasiModal ()
 
bool Show (bool show) override
 
bool Enable (bool enable) override
 
void OnPaint (wxPaintEvent &event)
 
KIWAYKiway () const
 Function Kiway returns a reference to the KIWAY that this object has an opportunity to participate in. More...
 
PROJECTPrj () const
 Function Prj returns a reference to the PROJECT "associated with" this KIWAY. More...
 
void SetKiway (wxWindow *aDest, KIWAY *aKiway)
 Function SetKiway. More...
 

Static Public Attributes

static bool m_TestSimilarLabels = true
 

Protected Member Functions

void FinishDialogSettings ()
 In all dialogs, we must call the same functions to fix minimal dlg size, the default position and perhaps some others to fix a few issues depending on Windows Managers this helper function does these calls. More...
 
void SetSizeInDU (int x, int y)
 Set the dialog to the given dimensions in "dialog units". More...
 
int HorizPixelsFromDU (int x)
 Convert an integer number of dialog units to pixels, horizontally. More...
 
int VertPixelsFromDU (int y)
 Convert an integer number of dialog units to pixels, vertically. More...
 

Protected Attributes

wxNotebook * m_NoteBook
 
wxPanel * m_PanelERC
 
wxStaticText * m_ErcTotalErrorsText
 
wxTextCtrl * m_TotalErrCount
 
wxStaticText * m_WarnErcErrorsText
 
wxTextCtrl * m_LastWarningCount
 
wxStaticText * m_LastErrCountText
 
wxTextCtrl * m_LastErrCount
 
wxStaticLine * m_staticline1
 
wxCheckBox * m_WriteResultOpt
 
wxStaticText * m_titleMessages
 
wxTextCtrl * m_MessagesList
 
wxStaticText * m_textMarkers
 
ERC_HTML_LISTFRAMEm_MarkersList
 
wxButton * m_buttondelmarkers
 
wxButton * m_buttonERC
 
wxButton * m_buttonClose
 
wxPanel * m_PanelERCOptions
 
wxButton * m_ResetOptButton
 
wxStaticText * m_staticText8
 
wxPanel * m_matrixPanel
 
wxStaticLine * m_staticline2
 
wxStaticText * m_staticText9
 
wxCheckBox * m_cbTestSimilarLabels
 
wxCheckBox * m_cbTestUniqueGlbLabels
 
bool m_fixupsRun
 
std::string m_hash_key
 
EVENT_LOOPm_qmodal_loop
 
bool m_qmodal_showing
 
WDO_ENABLE_DISABLEm_qmodal_parent_disabler
 

Private Member Functions

void Init ()
 
void OnCloseErcDialog (wxCloseEvent &event) override
 
void OnErcCmpClick (wxCommandEvent &event) override
 
void OnEraseDrcMarkersClick (wxCommandEvent &event) override
 
void OnButtonCloseClick (wxCommandEvent &event) override
 
void OnResetMatrixClick (wxCommandEvent &event) override
 
void OnLeftClickMarkersList (wxHtmlLinkEvent &event) override
 
void OnLeftDblClickMarkersList (wxMouseEvent &event) override
 
void TestErc (REPORTER &aReporter)
 
void DisplayERC_MarkersList ()
 
void SelLocal (wxCommandEvent &event)
 
void SelNewCmp (wxCommandEvent &event)
 
void ResetDefaultERCDiag (wxCommandEvent &event)
 
void ChangeErrorLevel (wxCommandEvent &event)
 
void ReBuildMatrixPanel ()
 
void setDRCMatrixButtonState (wxBitmapButton *aButton, int aState)
 
void updateMarkerCounts (SCH_SCREENS *screens)
 

Private Attributes

SCH_EDIT_FRAMEm_parent
 
wxBitmapButton * m_buttonList [PINTYPE_COUNT][PINTYPE_COUNT]
 
bool m_initialized
 
const SCH_MARKERm_lastMarkerFound
 

Static Private Attributes

static bool m_writeErcFile = false
 
static bool m_diagErcTableInit = false
 
static bool m_tstUniqueGlobalLabels = true
 

Detailed Description

Definition at line 37 of file dialog_erc.h.

Constructor & Destructor Documentation

DIALOG_ERC::DIALOG_ERC ( SCH_EDIT_FRAME parent)

Referenced by InvokeDialogERC().

DIALOG_ERC::~DIALOG_ERC ( )

Definition at line 88 of file dialog_erc.cpp.

References DIALOG_ERC_BASE::m_cbTestSimilarLabels, DIALOG_ERC_BASE::m_cbTestUniqueGlbLabels, m_TestSimilarLabels, and m_tstUniqueGlobalLabels.

89 {
92 }
static bool m_TestSimilarLabels
Definition: dialog_erc.h:51
wxCheckBox * m_cbTestUniqueGlbLabels
static bool m_tstUniqueGlobalLabels
Definition: dialog_erc.h:48
wxCheckBox * m_cbTestSimilarLabels

Member Function Documentation

void DIALOG_ERC::ChangeErrorLevel ( wxCommandEvent &  event)
private

Definition at line 415 of file dialog_erc.cpp.

References DiagErc, ERR, ID_MATRIX_0, OK, PINTYPE_COUNT, setDRCMatrixButtonState(), and WAR.

416 {
417  int id, level, ii, x, y;
418  wxPoint pos;
419 
420  id = event.GetId();
421  ii = id - ID_MATRIX_0;
422  wxBitmapButton* butt = (wxBitmapButton*) event.GetEventObject();
423  pos = butt->GetPosition();
424 
425  x = ii / PINTYPE_COUNT; y = ii % PINTYPE_COUNT;
426 
427  level = DiagErc[y][x];
428 
429  //change to the next error level
430  switch( level )
431  {
432  case OK:
433  level = WAR;
434  break;
435 
436  case WAR:
437  level = ERR;
438  break;
439 
440  case ERR:
441  level = OK;
442  break;
443  }
444 
445  setDRCMatrixButtonState( butt, level );
446 
447  DiagErc[y][x] = DiagErc[x][y] = level;
448 }
Definition: erc.h:43
void setDRCMatrixButtonState(wxBitmapButton *aButton, int aState)
Definition: dialog_erc.cpp:346
#define ID_MATRIX_0
Definition: dialog_erc.cpp:66
Definition: erc.h:42
Definition: erc.h:44
int DiagErc[PINTYPE_COUNT][PINTYPE_COUNT]
Definition: erc.cpp:124
void DIALOG_ERC::DisplayERC_MarkersList ( )
private

Definition at line 377 of file dialog_erc.cpp.

References ERC_HTML_LISTFRAME::AppendToList(), ERC_HTML_LISTFRAME::ClearList(), ERC_HTML_LISTFRAME::DisplayList(), g_RootSheet, MARKER_BASE::GetMarkerType(), DIALOG_ERC_BASE::m_MarkersList, MARKER_BASE::MARKER_ERC, SCH_ITEM::Next(), SCH_MARKER_T, and EDA_ITEM::Type().

Referenced by Init(), OnLeftClickMarkersList(), and TestErc().

378 {
379  SCH_SHEET_LIST sheetList( g_RootSheet);
381 
382  for( unsigned i = 0; i < sheetList.size(); i++ )
383  {
384  SCH_ITEM* item = sheetList[i].LastDrawList();
385 
386  for( ; item != NULL; item = item->Next() )
387  {
388  if( item->Type() != SCH_MARKER_T )
389  continue;
390 
391  SCH_MARKER* marker = (SCH_MARKER*) item;
392 
393  if( marker->GetMarkerType() != MARKER_BASE::MARKER_ERC )
394  continue;
395 
396  m_MarkersList->AppendToList( marker );
397  }
398  }
399 
401 }
Class SCH_SHEET_LIST.
KICAD_T Type() const
Function Type()
Definition: base_struct.h:227
void DisplayList()
Function DisplayList(); Build the Html marker list and show it.
SCH_ITEM * Next() const
ERC_HTML_LISTFRAME * m_MarkersList
enum TYPEMARKER GetMarkerType() const
Definition: marker_base.h:150
SCH_SHEET * g_RootSheet
Definition: eeschema.cpp:55
void AppendToList(SCH_MARKER *aMarker)
Function AppendToList.
void ClearList()
Function ClearList deletes all items shown in the list.
Class SCH_ITEM is a base class for any item which can be embedded within the SCHEMATIC container clas...
bool DIALOG_SHIM::Enable ( bool  enable)
overrideinherited

Definition at line 199 of file dialog_shim.cpp.

Referenced by DIALOG_PRINT_USING_PRINTER::InitValues(), and DIALOG_SHIM::IsQuasiModal().

200 {
201  // so we can do logging of this state change:
202 
203 #if defined(DEBUG)
204  const char* type_id = typeid( *this ).name();
205  printf( "wxDialog %s: %s\n", type_id, enable ? "enabled" : "disabled" );
206 #endif
207 
208  return wxDialog::Enable( enable );
209 }
void DIALOG_SHIM::EndQuasiModal ( int  retCode)
inherited

Definition at line 604 of file dialog_shim.cpp.

References DIALOG_SHIM::IsQuasiModal(), DIALOG_SHIM::m_qmodal_loop, DIALOG_SHIM::m_qmodal_parent_disabler, DIALOG_SHIM::m_qmodal_showing, and DIALOG_SHIM::Show().

Referenced by DIALOG_SHIM::OnButton(), DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB::OnCancelButtonClick(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnCancelButtonClick(), DIALOG_EDIT_ONE_FIELD::OnCancelClick(), DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB::OnCloseDialog(), DIALOG_EDIT_ONE_FIELD::OnCloseDialog(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnCloseDialog(), DIALOG_CHOOSE_COMPONENT::OnCloseTimer(), DIALOG_SHIM::OnCloseWindow(), DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB::OnOKButtonClick(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnOKButtonClick(), DIALOG_EDIT_ONE_FIELD::OnOkClick(), DIALOG_EXCHANGE_FOOTPRINTS::OnQuit(), DIALOG_CHOOSE_COMPONENT::OnSchViewDClick(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::SetInitCmp(), and DIALOG_SHIM::~DIALOG_SHIM().

605 {
606  // Hook up validator and transfer data from controls handling so quasi-modal dialogs
607  // handle validation in the same way as other dialogs.
608  if( ( retCode == wxID_OK ) && ( !Validate() || !TransferDataFromWindow() ) )
609  return;
610 
611  SetReturnCode( retCode );
612 
613  if( !IsQuasiModal() )
614  {
615  wxFAIL_MSG( wxT( "either DIALOG_SHIM::EndQuasiModal called twice or ShowQuasiModal wasn't called" ) );
616  return;
617  }
618 
619  m_qmodal_showing = false;
620 
621  if( m_qmodal_loop )
622  {
623  if( m_qmodal_loop->IsRunning() )
624  m_qmodal_loop->Exit( 0 );
625  else
626  m_qmodal_loop->ScheduleExit( 0 );
627 
628  m_qmodal_loop = NULL;
629  }
630 
633 
634  Show( false );
635 }
bool m_qmodal_showing
Definition: dialog_shim.h:155
EVENT_LOOP * m_qmodal_loop
Definition: dialog_shim.h:154
bool IsQuasiModal()
Definition: dialog_shim.h:103
bool Show(bool show) override
WDO_ENABLE_DISABLE * m_qmodal_parent_disabler
Definition: dialog_shim.h:156
void DIALOG_SHIM::FinishDialogSettings ( )
protectedinherited

In all dialogs, we must call the same functions to fix minimal dlg size, the default position and perhaps some others to fix a few issues depending on Windows Managers this helper function does these calls.

FinishDialogSettings must be called from derived classes, when all widgets are initialized, and therefore their size fixed. If TransferDataToWindow() is used to initialize widgets, at end of TransferDataToWindow, or better at end of a wxInitDialogEvent handler

In any case, the best way is to call it in a wxInitDialogEvent handler after calling TransfertDataToWindow(), which is the default wxInitDialogEvent handler wxDialog

Definition at line 104 of file dialog_shim.cpp.

References PCAD2KICAD::Center.

Referenced by COLOR4D_PICKER_DLG::COLOR4D_PICKER_DLG(), DIALOG_3D_VIEW_OPTIONS::DIALOG_3D_VIEW_OPTIONS(), DIALOG_ANNOTATE::DIALOG_ANNOTATE(), DIALOG_BOM::DIALOG_BOM(), DIALOG_COPPER_ZONE::DIALOG_COPPER_ZONE(), DIALOG_DESIGN_RULES::DIALOG_DESIGN_RULES(), DIALOG_DIMENSION_EDITOR::DIALOG_DIMENSION_EDITOR(), DIALOG_DISPLAY_OPTIONS::DIALOG_DISPLAY_OPTIONS(), DIALOG_DRC_CONTROL::DIALOG_DRC_CONTROL(), DIALOG_EDIT_COMPONENT_IN_LIBRARY::DIALOG_EDIT_COMPONENT_IN_LIBRARY(), DIALOG_EDIT_LINE_STYLE::DIALOG_EDIT_LINE_STYLE(), DIALOG_EESCHEMA_OPTIONS::DIALOG_EESCHEMA_OPTIONS(), DIALOG_ENUM_PADS::DIALOG_ENUM_PADS(), DIALOG_EXCHANGE_FOOTPRINTS::DIALOG_EXCHANGE_FOOTPRINTS(), DIALOG_EXPORT_3DFILE::DIALOG_EXPORT_3DFILE(), DIALOG_EXPORT_IDF3::DIALOG_EXPORT_IDF3(), DIALOG_EXPORT_STEP::DIALOG_EXPORT_STEP(), DIALOG_FOOTPRINT_WIZARD_LIST::DIALOG_FOOTPRINT_WIZARD_LIST(), DIALOG_GLOBAL_SYM_LIB_TABLE_CONFIG::DIALOG_GLOBAL_SYM_LIB_TABLE_CONFIG(), DIALOG_KEEPOUT_AREA_PROPERTIES::DIALOG_KEEPOUT_AREA_PROPERTIES(), DIALOG_LABEL_EDITOR::DIALOG_LABEL_EDITOR(), DIALOG_LIB_EDIT_DRAW_ITEM::DIALOG_LIB_EDIT_DRAW_ITEM(), DIALOG_LIB_EDIT_TEXT::DIALOG_LIB_EDIT_TEXT(), DIALOG_LIB_NEW_COMPONENT::DIALOG_LIB_NEW_COMPONENT(), DIALOG_LIBEDIT_OPTIONS::DIALOG_LIBEDIT_OPTIONS(), DIALOG_PAD_PROPERTIES::DIALOG_PAD_PROPERTIES(), DIALOG_PADS_MASK_CLEARANCE::DIALOG_PADS_MASK_CLEARANCE(), DIALOG_PLOT_SCHEMATIC::DIALOG_PLOT_SCHEMATIC(), DIALOG_SCH_EDIT_SHEET_PIN::DIALOG_SCH_EDIT_SHEET_PIN(), DIALOG_SCH_SHEET_PROPS::DIALOG_SCH_SHEET_PROPS(), DIALOG_SELECT_PRETTY_LIB::DIALOG_SELECT_PRETTY_LIB(), DIALOG_TRACK_VIA_SIZE::DIALOG_TRACK_VIA_SIZE(), DIALOG_EDIT_ONE_FIELD::init(), DIALOG_SHIM::IsQuasiModal(), NETLIST_DIALOG::NETLIST_DIALOG(), DIALOG_LIB_EDIT_PIN::OnInitDialog(), DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB::OnInitDialog(), DIALOG_TRACK_VIA_PROPERTIES::OnInitDlg(), DIALOG_GRAPHIC_ITEMS_OPTIONS::OnInitDlg(), DIALOG_EDIT_FPTEXT::OnInitDlg(), DIALOG_SET_GRID::OnInitDlg(), DIALOG_PCB_TEXT_PROPERTIES::OnInitDlg(), DIALOG_PRINT_FOR_MODEDIT::OnInitDlg(), DIALOG_FOOTPRINT_FP_EDITOR::OnInitDlg(), DIALOG_GRAPHIC_ITEM_PROPERTIES::OnInitDlg(), DIALOG_SIM_SETTINGS::onInitDlg(), DIALOG_SPICE_MODEL::onInitDlg(), DIALOG_FOOTPRINT_BOARD_EDITOR::OnInitDlg(), DIALOG_PRINT_USING_PRINTER::OnInitDlg(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnInitDlg(), TARGET_PROPERTIES_DIALOG_EDITOR::TARGET_PROPERTIES_DIALOG_EDITOR(), DIALOG_SIGNAL_LIST::TransferDataToWindow(), and DIALOG_UPDATE_FIELDS::TransferDataToWindow().

105 {
106  // must be called from the constructor of derived classes,
107  // when all widgets are initialized, and therefore their size fixed
108 
109  // SetSizeHints fixes the minimal size of sizers in the dialog
110  // (SetSizeHints calls Fit(), so no need to call it)
111  GetSizer()->SetSizeHints( this );
112 
113  // the default position, when calling the first time the dlg
114  Center();
115 }
int DIALOG_SHIM::HorizPixelsFromDU ( int  x)
protectedinherited

Convert an integer number of dialog units to pixels, horizontally.

See SetSizeInDU or wxDialog documentation for more information.

Definition at line 125 of file dialog_shim.cpp.

Referenced by DIALOG_CHOOSE_COMPONENT::DIALOG_CHOOSE_COMPONENT(), and DIALOG_SHIM::IsQuasiModal().

126 {
127  wxSize sz( x, 0 );
128  return ConvertDialogToPixels( sz ).x;
129 }
void DIALOG_ERC::Init ( )
private

Definition at line 95 of file dialog_erc.cpp.

References DisplayERC_MarkersList(), DIALOG_ERC_BASE::m_buttonERC, m_buttonList, DIALOG_ERC_BASE::m_cbTestSimilarLabels, DIALOG_ERC_BASE::m_cbTestUniqueGlbLabels, m_initialized, m_TestSimilarLabels, m_tstUniqueGlobalLabels, m_writeErcFile, DIALOG_ERC_BASE::m_WriteResultOpt, PINTYPE_COUNT, ReBuildMatrixPanel(), and updateMarkerCounts().

96 {
97  m_initialized = false;
98 
99  for( int ii = 0; ii < PINTYPE_COUNT; ii++ )
100  {
101  for( int jj = 0; jj < PINTYPE_COUNT; jj++ )
102  m_buttonList[ii][jj] = NULL;
103  }
104 
105  m_WriteResultOpt->SetValue( m_writeErcFile );
108 
109  SCH_SCREENS screens;
110  updateMarkerCounts( &screens );
111 
113 
114  // Init Panel Matrix
116 
117  // Set the run ERC button as the default button.
118  m_buttonERC->SetDefault();
119 }
static bool m_TestSimilarLabels
Definition: dialog_erc.h:51
static bool m_writeErcFile
Definition: dialog_erc.h:46
bool m_initialized
Definition: dialog_erc.h:44
wxBitmapButton * m_buttonList[PINTYPE_COUNT][PINTYPE_COUNT]
Definition: dialog_erc.h:43
wxButton * m_buttonERC
wxCheckBox * m_cbTestUniqueGlbLabels
void updateMarkerCounts(SCH_SCREENS *screens)
Definition: dialog_erc.cpp:122
static bool m_tstUniqueGlobalLabels
Definition: dialog_erc.h:48
wxCheckBox * m_WriteResultOpt
void ReBuildMatrixPanel()
Definition: dialog_erc.cpp:271
Container class that holds multiple SCH_SCREEN objects in a hierarchy.
Definition: sch_screen.h:503
void DisplayERC_MarkersList()
Definition: dialog_erc.cpp:377
wxCheckBox * m_cbTestSimilarLabels
KIWAY& KIWAY_HOLDER::Kiway ( ) const
inlineinherited

Function Kiway returns a reference to the KIWAY that this object has an opportunity to participate in.

A KIWAY_HOLDER is not necessarily a KIWAY_PLAYER.

Definition at line 60 of file kiway_player.h.

References KIWAY_HOLDER::m_kiway, KIWAY_HOLDER::Prj(), and KIWAY_HOLDER::SetKiway().

Referenced by SCH_EDIT_FRAME::AppendSchematic(), CVPCB_MAINFRAME::BuildLIBRARY_LISTBOX(), DIALOG_CHOOSE_COMPONENT::ConstructRightPanel(), CVPCB_MAINFRAME::CreateScreenCmp(), CVPCB_MAINFRAME::CVPCB_MAINFRAME(), DIALOG_SHIM::DIALOG_SHIM(), EDIT_TOOL::editFootprintInFpEditor(), SCH_EDIT_FRAME::EditSheet(), DISPLAY_FOOTPRINTS_FRAME::Get_Module(), LIB_MANAGER::GetBufferedPart(), FOOTPRINT_EDIT_FRAME::GetIconScale(), LIB_MANAGER::getLibraryBuffer(), FOOTPRINT_EDIT_FRAME::GetPlotSettings(), SCH_EDIT_FRAME::ImportFile(), PCB_EDIT_FRAME::ImportFile(), DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB::initBuffers(), KIWAY_PLAYER::language_change(), CVPCB_MAINFRAME::LoadFootprintFiles(), KIWAY_PLAYER::OnChangeIconsOptions(), CVPCB_MAINFRAME::OnEditFootprintLibraryTable(), SCH_BASE_FRAME::OnEditSymbolLibTable(), KICAD_MANAGER_FRAME::OnImportEagleFiles(), DIALOG_CHOOSE_COMPONENT::OnInitDialog(), SCH_EDIT_FRAME::OnLeftClick(), SCH_BASE_FRAME::OnOpenLibraryViewer(), SCH_EDIT_FRAME::OnSimulate(), DIALOG_EDIT_ONE_FIELD::OnTextValueSelectButtonClick(), FOOTPRINT_EDIT_FRAME::OnUpdateInsertModuleInBoard(), FOOTPRINT_EDIT_FRAME::OnUpdateLoadModuleFromBoard(), FOOTPRINT_EDIT_FRAME::OnUpdateReplaceModuleInBoard(), SCH_EDIT_FRAME::OpenProjectFiles(), KIWAY_HOLDER::Prj(), PCB_EDIT_FRAME::Process_Config(), PCB_EDIT_FRAME::Process_Special_Functions(), FOOTPRINT_EDIT_FRAME::ProcessPreferences(), CVPCB_MAINFRAME::ReadNetListAndFpFiles(), FOOTPRINT_VIEWER_FRAME::ReCreateFootprintList(), FOOTPRINT_WIZARD_FRAME::ReCreateVToolbar(), LIB_EDIT_FRAME::refreshSchematic(), SCH_EDIT_FRAME::SaveEEFile(), CVPCB_MAINFRAME::SaveFootprintAssociation(), SCH_BASE_FRAME::SelectComponentFromLibBrowser(), SCH_EDIT_FRAME::SendCrossProbeNetName(), PCB_EDIT_FRAME::SendCrossProbeNetName(), CVPCB_MAINFRAME::SendMessageToEESCHEMA(), PCB_EDIT_FRAME::SendMessageToEESCHEMA(), SCH_EDIT_FRAME::SendMessageToPCBNEW(), SCH_EDIT_FRAME::sendNetlist(), FOOTPRINT_EDIT_FRAME::SetPlotSettings(), DISPLAY_FOOTPRINTS_FRAME::Show3D_Frame(), FOOTPRINT_VIEWER_FRAME::Show3D_Frame(), FOOTPRINT_EDIT_FRAME::Show3D_Frame(), FOOTPRINT_WIZARD_FRAME::Show3D_Frame(), DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB::showButtonHandler(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::showButtonHandler(), SIM_PLOT_FRAME::SIM_PLOT_FRAME(), LIB_MANAGER::UpdatePart(), and DIALOG_EXCHANGE_FOOTPRINTS::ViewAndSelectFootprint().

61  {
62  wxASSERT( m_kiway ); // smoke out bugs in Debug build, then Release runs fine.
63  return *m_kiway;
64  }
KIWAY * m_kiway
Definition: kiway_player.h:85
void DIALOG_ERC::OnButtonCloseClick ( wxCommandEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_ERC_BASE.

Definition at line 160 of file dialog_erc.cpp.

161 {
162  Close();
163 }
void DIALOG_ERC::OnCloseErcDialog ( wxCloseEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_ERC_BASE.

Definition at line 166 of file dialog_erc.cpp.

167 {
168  Destroy();
169 }
void DIALOG_ERC::OnEraseDrcMarkersClick ( wxCommandEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_ERC_BASE.

Definition at line 145 of file dialog_erc.cpp.

References ERC_HTML_LISTFRAME::ClearList(), SCH_SCREENS::DeleteAllMarkers(), EDA_DRAW_FRAME::GetCanvas(), DIALOG_ERC_BASE::m_MarkersList, m_parent, MARKER_BASE::MARKER_ERC, EDA_DRAW_PANEL::Refresh(), and updateMarkerCounts().

146 {
147  SCH_SCREENS ScreenList;
148 
150  updateMarkerCounts( &ScreenList );
151 
153  m_parent->GetCanvas()->Refresh();
154 }
void DeleteAllMarkers(enum MARKER_BASE::TYPEMARKER aMarkerType)
Delete all electronic rules check markers of aMarkerType from all the screens in the list...
virtual void Refresh(bool eraseBackground=true, const wxRect *rect=NULL) override
Update the board display after modifying it bu a python script (note: it is automatically called by a...
Definition: draw_panel.cpp:339
EDA_DRAW_PANEL * GetCanvas()
Definition: draw_frame.h:342
ERC_HTML_LISTFRAME * m_MarkersList
SCH_EDIT_FRAME * m_parent
Definition: dialog_erc.h:42
void ClearList()
Function ClearList deletes all items shown in the list.
void updateMarkerCounts(SCH_SCREENS *screens)
Definition: dialog_erc.cpp:122
Container class that holds multiple SCH_SCREEN objects in a hierarchy.
Definition: sch_screen.h:503
void DIALOG_ERC::OnErcCmpClick ( wxCommandEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_ERC_BASE.

Definition at line 178 of file dialog_erc.cpp.

References ERC_HTML_LISTFRAME::ClearList(), DIALOG_ERC_BASE::m_MarkersList, DIALOG_ERC_BASE::m_MessagesList, and TestErc().

179 {
180  wxBusyCursor();
182 
183  m_MessagesList->Clear();
184  wxSafeYield(); // m_MarkersList must be redraw
185 
187  TestErc( reporter );
188 }
wxTextCtrl * m_MessagesList
ERC_HTML_LISTFRAME * m_MarkersList
Class WX_TEXT_CTRL_REPORTER is wrapper for reporting to a wxTextCtrl object.
Definition: reporter.h:103
void ClearList()
Function ClearList deletes all items shown in the list.
void TestErc(REPORTER &aReporter)
Definition: dialog_erc.cpp:451
void DIALOG_ERC::OnLeftClickMarkersList ( wxHtmlLinkEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_ERC_BASE.

Definition at line 191 of file dialog_erc.cpp.

References DisplayERC_MarkersList(), g_RootSheet, SCH_EDIT_FRAME::GetCurrentSheet(), ERC_HTML_LISTFRAME::GetItem(), SCH_EDIT_FRAME::GetScreen(), BASE_SCREEN::GetZoom(), m_lastMarkerFound, DIALOG_ERC_BASE::m_MarkersList, m_parent, MARKER_BASE::m_Pos, SCH_ITEM::Next(), EDA_DRAW_FRAME::RedrawScreen(), EDA_DRAW_FRAME::SetCrossHairPosition(), SCH_EDIT_FRAME::SetCurrentSheet(), and SCH_SHEET_PATH::UpdateAllScreenReferences().

192 {
193  wxString link = event.GetLinkInfo().GetHref();
194 
195  m_lastMarkerFound = NULL;
196 
197  long index;
198 
199  if( !link.ToLong( &index ) )
200  return;
201 
202  const SCH_MARKER* marker = m_MarkersList->GetItem( index );
203 
204  if( marker == NULL )
205  return;
206 
207  // Search for the selected marker
208  unsigned i;
209  SCH_SHEET_LIST sheetList( g_RootSheet );
210  bool notFound = true;
211 
212  for( i = 0; i < sheetList.size(); i++ )
213  {
214  SCH_ITEM* item = (SCH_ITEM*) sheetList[i].LastDrawList();
215 
216  for( ; item; item = item->Next() )
217  {
218  if( item == marker )
219  {
220  notFound = false;
221  break;
222  }
223  }
224 
225  if( notFound == false )
226  break;
227  }
228 
229  if( notFound ) // Error
230  {
231  wxMessageBox( _( "Marker not found" ) );
232 
233  // The marker was deleted, so rebuild marker list
235  return;
236  }
237 
238  if( sheetList[i] != m_parent->GetCurrentSheet() )
239  {
240  sheetList[i].LastScreen()->SetZoom( m_parent->GetScreen()->GetZoom() );
241  m_parent->SetCurrentSheet( sheetList[i] );
243  }
244 
245  m_lastMarkerFound = marker;
246  m_parent->SetCrossHairPosition( marker->m_Pos );
247  m_parent->RedrawScreen( marker->m_Pos, false);
248 }
void SetCurrentSheet(const SCH_SHEET_PATH &aSheet)
Class SCH_SHEET_LIST.
double GetZoom() const
Function GetZoom returns the current "zoom factor", which is a measure of "internal units per device ...
Definition: base_screen.h:340
wxPoint m_Pos
position of the marker
Definition: marker_base.h:53
void UpdateAllScreenReferences()
Function UpdateAllScreenReferences updates the reference and the m_Multi parameter (part selection) f...
SCH_ITEM * Next() const
ERC_HTML_LISTFRAME * m_MarkersList
SCH_SCREEN * GetScreen() const override
Function GetScreen returns a pointer to a BASE_SCREEN or one of its derivatives.
SCH_SHEET * g_RootSheet
Definition: eeschema.cpp:55
SCH_SHEET_PATH & GetCurrentSheet()
SCH_EDIT_FRAME * m_parent
Definition: dialog_erc.h:42
void RedrawScreen(const wxPoint &aCenterPoint, bool aWarpPointer)
Function RedrawScreen redraws the entire screen area by updating the scroll bars and mouse pointer in...
Definition: zoom.cpp:46
const SCH_MARKER * GetItem(unsigned aIndex)
Function GetItem returns a requested DRC_ITEM* or NULL.
void SetCrossHairPosition(const wxPoint &aPosition, bool aSnapToGrid=true)
Function SetCrossHairPosition sets the screen cross hair position to aPosition in logical (drawing) u...
Class SCH_ITEM is a base class for any item which can be embedded within the SCHEMATIC container clas...
const SCH_MARKER * m_lastMarkerFound
Definition: dialog_erc.h:45
void DisplayERC_MarkersList()
Definition: dialog_erc.cpp:377
void DIALOG_ERC::OnLeftDblClickMarkersList ( wxMouseEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_ERC_BASE.

Definition at line 251 of file dialog_erc.cpp.

References m_lastMarkerFound, m_parent, MARKER_BASE::m_Pos, EDA_DRAW_FRAME::RedrawScreen(), EDA_DRAW_FRAME::SetCrossHairPosition(), and EDA_DRAW_FRAME::SkipNextLeftButtonReleaseEvent().

252 {
253  // Remember: OnLeftClickMarkersList was called just before
254  // and therefore m_lastMarkerFound was initialized.
255  // (NULL if not found)
256  if( m_lastMarkerFound )
257  {
260  // prevent a mouse left button release event in
261  // coming from the ERC dialog double click
262  // ( the button is released after closing this dialog and will generate
263  // an unwanted event in parent frame)
265  }
266 
267  Close();
268 }
wxPoint m_Pos
position of the marker
Definition: marker_base.h:53
void SkipNextLeftButtonReleaseEvent()
function SkipNextLeftButtonReleaseEvent after calling this function, if the left mouse button is down...
Definition: draw_frame.cpp:289
SCH_EDIT_FRAME * m_parent
Definition: dialog_erc.h:42
void RedrawScreen(const wxPoint &aCenterPoint, bool aWarpPointer)
Function RedrawScreen redraws the entire screen area by updating the scroll bars and mouse pointer in...
Definition: zoom.cpp:46
void SetCrossHairPosition(const wxPoint &aPosition, bool aSnapToGrid=true)
Function SetCrossHairPosition sets the screen cross hair position to aPosition in logical (drawing) u...
const SCH_MARKER * m_lastMarkerFound
Definition: dialog_erc.h:45
void DIALOG_SHIM::OnPaint ( wxPaintEvent &  event)
inherited

Definition at line 265 of file dialog_shim.cpp.

References DIALOG_SHIM::m_fixupsRun, and recursiveDescent().

Referenced by DIALOG_SHIM::DIALOG_SHIM(), and DIALOG_SHIM::IsQuasiModal().

266 {
267  if( !m_fixupsRun )
268  {
269 #if DLGSHIM_SELECT_ALL_IN_TEXT_CONTROLS
270  const bool selectAllInTextCtrls = true;
271 #else
272  const bool selectAllInTextCtrls = false;
273 #endif
274  wxWindow* firstTextCtrl = NULL;
275  wxWindow* windowWithFocus = NULL;
276 
277  recursiveDescent( GetChildren(), selectAllInTextCtrls, firstTextCtrl,
278  windowWithFocus );
279 
280 #if DLGSHIM_USE_SETFOCUS
281  // While it would be nice to honour any focus already set (which was
282  // recorded in windowWithFocus), the reality is that it's currently wrong
283  // far more often than it's right.
284  // So just focus on the first text control if we have one; otherwise the
285  // focus on the dialog itself, which will at least allow esc, return, etc.
286  // to function.
287  if( firstTextCtrl )
288  firstTextCtrl->SetFocus();
289  else
290  SetFocus();
291 #endif
292 
293 #ifdef __WXMAC__
294  fixOSXCancelButtonIssue( this );
295 #endif
296 
297  m_fixupsRun = true;
298  }
299 
300  event.Skip();
301 }
static void recursiveDescent(wxWindowList &children, const bool selectTextInTextCtrls, wxWindow *&firstTextCtrl, wxWindow *&windowWithFocus)
bool m_fixupsRun
Definition: dialog_shim.h:149
void DIALOG_ERC::OnResetMatrixClick ( wxCommandEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_ERC_BASE.

Definition at line 172 of file dialog_erc.cpp.

References ResetDefaultERCDiag().

173 {
174  ResetDefaultERCDiag( event );
175 }
void ResetDefaultERCDiag(wxCommandEvent &event)
Definition: dialog_erc.cpp:404
PROJECT & KIWAY_HOLDER::Prj ( ) const
inherited

Function Prj returns a reference to the PROJECT "associated with" this KIWAY.

Definition at line 34 of file kiway_holder.cpp.

References KIWAY_HOLDER::Kiway(), and KIWAY::Prj().

Referenced by SCH_EDIT_FRAME::AppendSchematic(), PCB_EDIT_FRAME::ArchiveModulesOnBoard(), DIALOG_SYMBOL_REMAP::backupProject(), LIB_VIEW_FRAME::BestZoom(), DIALOG_FOOTPRINT_FP_EDITOR::BrowseAndAdd3DShapeFile(), DIALOG_FOOTPRINT_BOARD_EDITOR::BrowseAndAdd3DShapeFile(), DIALOG_EDIT_COMPONENT_IN_LIBRARY::BrowseAndSelectDocFile(), DIALOG_SYMBOL_LIB_TABLE::browseLibrariesHandler(), CVPCB_MAINFRAME::BuildLIBRARY_LISTBOX(), DIALOG_FOOTPRINT_FP_EDITOR::Cfg3DPath(), DIALOG_FOOTPRINT_BOARD_EDITOR::Cfg3DPath(), DIALOG_EDIT_COMPONENT_IN_LIBRARY::checkNewAlias(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::copyPanelToOptions(), PCB_BASE_EDIT_FRAME::CreateNewLibrary(), DIALOG_PLOT_SCHEMATIC::createPlotFileName(), DIALOG_SYMBOL_REMAP::createProjectSymbolLibTable(), FOOTPRINT_EDIT_FRAME::DeleteModuleFromCurrentLibrary(), DIALOG_CHOOSE_COMPONENT::DIALOG_CHOOSE_COMPONENT(), DIALOG_CONFIG_EQUFILES::DIALOG_CONFIG_EQUFILES(), DIALOG_FOOTPRINT_BOARD_EDITOR::DIALOG_FOOTPRINT_BOARD_EDITOR(), DIALOG_FOOTPRINT_FP_EDITOR::DIALOG_FOOTPRINT_FP_EDITOR(), DIALOG_PAGES_SETTINGS::DIALOG_PAGES_SETTINGS(), DIALOG_SYMBOL_LIB_TABLE::DIALOG_SYMBOL_LIB_TABLE(), DIALOG_SYMBOL_REMAP::DIALOG_SYMBOL_REMAP(), LIB_VIEW_FRAME::DisplayLibInfos(), LIB_EDIT_FRAME::DisplayLibInfos(), SCH_BASE_FRAME::DisplayListComponentsInLib(), PCB_EDIT_FRAME::doAutoSave(), DIALOG_FOOTPRINT_FP_EDITOR::Edit3DShapeFileName(), DIALOG_FOOTPRINT_BOARD_EDITOR::Edit3DShapeFileName(), SCH_EDIT_FRAME::EditSheet(), PCB_EDIT_FRAME::Export_IDF3(), PCB_EDIT_FRAME::Files_io_from_id(), NETLIST_DIALOG::GenNetlist(), DISPLAY_FOOTPRINTS_FRAME::Get_Module(), FOOTPRINT_VIEWER_FRAME::getCurFootprintName(), LIB_EDIT_FRAME::GetCurLib(), FOOTPRINT_VIEWER_FRAME::getCurNickname(), FOOTPRINT_EDIT_FRAME::GetCurrentLib(), SCH_BASE_FRAME::GetLibAlias(), SCH_BASE_FRAME::GetLibPart(), FOOTPRINT_EDIT_FRAME::getLibPath(), LIB_EDIT_FRAME::getLibraryFileName(), DIALOG_SYMBOL_REMAP::getLibsNotInGlobalSymbolLibTable(), DIALOG_BOM::getPluginFileName(), LIB_VIEW_FRAME::getSelectedAlias(), FP_THREAD_IFACE::GetTable(), SCH_EDIT_FRAME::ImportFile(), PCB_EDIT_FRAME::ImportFile(), DIALOG_FOOTPRINT_FP_EDITOR::initModeditProperties(), DIALOG_FOOTPRINT_BOARD_EDITOR::InitModeditProperties(), PCB_EDIT_FRAME::InstallNetlistFrame(), SCH_EDIT_FRAME::IsSearchCacheObsolete(), KIWAY_HOLDER::Kiway(), SCH_EDIT_FRAME::Load_Component(), SCH_EDIT_FRAME::LoadCmpToFootprintLinkFile(), LIB_EDIT_FRAME::LoadComponentFromCurrentLib(), CVPCB_MAINFRAME::LoadFootprintFiles(), DIALOG_SPICE_MODEL::loadLibrary(), LIB_EDIT_FRAME::LoadOneSymbol(), CVPCB_MAINFRAME::LoadProjectFile(), SCH_EDIT_FRAME::LoadProjectFile(), PCB_EDIT_FRAME::LoadProjectSettings(), DIALOG_DRC_CONTROL::makeValidFileNameReport(), FOOTPRINT_VIEWER_FRAME::OnActivate(), DIALOG_GENCAD_EXPORT_OPTIONS::onBrowse(), DIALOG_DRC_CONTROL::OnButtonBrowseRptFileClick(), DIALOG_EDIT_COMPONENTS_LIBID::onClickOrphansButton(), CVPCB_MAINFRAME::OnEditFootprintLibraryTable(), SCH_BASE_FRAME::OnEditSymbolLibTable(), DIALOG_GENDRILL::OnGenReportFile(), SCH_EDIT_FRAME::OnImportProject(), DIALOG_CHOOSE_COMPONENT::OnInitDialog(), PCB_EDIT_FRAME::OnLeftClick(), DIALOG_NETLIST::OnOpenNetlistClick(), DIALOG_PLOT::OnOutputDirectoryBrowseClicked(), DIALOG_SVG_PRINT::OnOutputDirectoryBrowseClicked(), DIALOG_GENDRILL::OnOutputDirectoryBrowseClicked(), DIALOG_PLOT_SCHEMATIC::OnOutputDirectoryBrowseClicked(), LIB_EDIT_FRAME::OnPlotCurrentComponent(), DIALOG_SYMBOL_REMAP::OnRemapSymbols(), SCH_EDIT_FRAME::OnRightClick(), DIALOG_BOM::OnRunPlugin(), SCH_EDIT_FRAME::OnSaveProject(), DIALOG_CHOOSE_COMPONENT::OnSchViewPaint(), DIALOG_SPICE_MODEL::onSelectLibrary(), LIB_VIEW_FRAME::OnSelectSymbol(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnTestChipName(), FOOTPRINT_EDIT_FRAME::OnUpdateSelectCurrentLib(), LIB_EDIT_FRAME::OnViewEntryDoc(), LIB_VIEW_FRAME::onViewSymbolDocument(), SCH_EDIT_FRAME::OpenProjectFiles(), PCB_EDIT_FRAME::OpenProjectFiles(), SCH_EDIT_FRAME::PasteListOfItems(), PCB_EDITOR_CONTROL::PlaceModule(), DIALOG_CHOOSE_COMPONENT::PopulateFootprintSelector(), SCH_EDIT_FRAME::Process_Config(), PCB_EDIT_FRAME::Process_Config(), FOOTPRINT_EDIT_FRAME::ProcessPreferences(), CVPCB_MAINFRAME::ReadNetListAndFpFiles(), PCB_EDIT_FRAME::RecreateCmpFileFromBoard(), FOOTPRINT_VIEWER_FRAME::ReCreateFootprintList(), LIB_VIEW_FRAME::ReCreateHToolbar(), FOOTPRINT_VIEWER_FRAME::ReCreateLibraryList(), LIB_VIEW_FRAME::ReCreateListCmp(), LIB_VIEW_FRAME::ReCreateListLib(), LIB_VIEW_FRAME::RedrawActiveWindow(), EDA_3D_VIEWER::ReloadRequest(), DIALOG_SYMBOL_REMAP::remapSymbolToLibTable(), FOOTPRINT_EDIT_FRAME::restoreLastFootprint(), FOOTPRINT_EDIT_FRAME::retainLastFootprint(), SCH_EDIT_FRAME::SaveEEFile(), FOOTPRINT_EDIT_FRAME::SaveFootprintInLibrary(), LIB_EDIT_FRAME::saveLibrary(), LIB_EDIT_FRAME::SaveOneSymbol(), CVPCB_MAINFRAME::SaveProjectFile(), SCH_EDIT_FRAME::SaveProjectSettings(), PCB_EDIT_FRAME::SaveProjectSettings(), SCH_BASE_FRAME::saveSymbolLibTables(), FOOTPRINT_VIEWER_FRAME::SelectAndViewFootprint(), SCH_BASE_FRAME::SelectComponentFromLibrary(), FOOTPRINT_VIEWER_FRAME::SelectCurrentFootprint(), PCB_BASE_FRAME::SelectLibrary(), SCH_BASE_FRAME::SelectLibraryFromList(), LIB_EDIT_FRAME::selectSymLibTable(), SCH_EDIT_FRAME::sendNetlist(), FOOTPRINT_VIEWER_FRAME::setCurFootprintName(), LIB_EDIT_FRAME::SetCurLib(), FOOTPRINT_VIEWER_FRAME::setCurNickname(), LIB_EDIT_FRAME::SetCurPart(), DIALOG_CHOOSE_COMPONENT::ShowFootprintFor(), SIM_PLOT_FRAME::SIM_PLOT_FRAME(), LIB_MANAGER::symTable(), EDA_3D_VIEWER::takeScreenshot(), SIM_PLOT_FRAME::updateNetlistExporter(), SCH_SCREEN::UpdateSymbolLinks(), FOOTPRINT_VIEWER_FRAME::UpdateTitle(), CVPCB_MAINFRAME::UpdateTitle(), FOOTPRINT_EDIT_FRAME::updateTitle(), SCH_EDIT_FRAME::WriteNetListFile(), DIALOG_FOOTPRINT_BOARD_EDITOR::~DIALOG_FOOTPRINT_BOARD_EDITOR(), and DIALOG_FOOTPRINT_FP_EDITOR::~DIALOG_FOOTPRINT_FP_EDITOR().

35 {
36  return Kiway().Prj();
37 }
KIWAY & Kiway() const
Function Kiway returns a reference to the KIWAY that this object has an opportunity to participate in...
Definition: kiway_player.h:60
VTBL_ENTRY PROJECT & Prj() const
Function Prj returns the PROJECT associated with this KIWAY.
Definition: kiway.cpp:142
void DIALOG_ERC::ReBuildMatrixPanel ( )
private

Definition at line 271 of file dialog_erc.cpp.

References CommentERC_H, CommentERC_V, DefaultDiagErc, DiagErc, dummy(), ID_MATRIX_0, KiBitmap(), m_buttonList, m_diagErcTableInit, m_initialized, DIALOG_ERC_BASE::m_matrixPanel, max, PINTYPE_COUNT, setDRCMatrixButtonState(), wxPoint::x, and wxPoint::y.

Referenced by Init(), and ResetDefaultERCDiag().

272 {
273  // Try to know the size of bitmap button used in drc matrix
274  wxBitmapButton * dummy = new wxBitmapButton( m_matrixPanel, wxID_ANY, KiBitmap( ercerr_xpm ) );
275  wxSize bitmap_size = dummy->GetSize();
276  delete dummy;
277 
278  if( !m_diagErcTableInit )
279  {
280  memcpy( DiagErc, DefaultDiagErc, sizeof(DefaultDiagErc) );
281  m_diagErcTableInit = true;
282  }
283 
284  wxPoint pos;
285  // Get the current text size:use a dummy text.
286  wxStaticText* text = new wxStaticText( m_matrixPanel, -1, wxT( "W" ), pos );
287  int text_height = text->GetRect().GetHeight();
288  bitmap_size.y = std::max( bitmap_size.y, text_height );
289  delete text;
290 
291  // compute the Y pos interval:
292  pos.y = text_height;
293 
294  if( m_initialized == false )
295  {
296  // Print row labels
297  for( int ii = 0; ii < PINTYPE_COUNT; ii++ )
298  {
299  int y = pos.y + (ii * bitmap_size.y);
300  text = new wxStaticText( m_matrixPanel, -1, CommentERC_H[ii],
301  wxPoint( 5, y + ( bitmap_size.y / 2) - (text_height / 2) ) );
302 
303  int x = text->GetRect().GetRight();
304  pos.x = std::max( pos.x, x );
305  }
306 
307  pos.x += 5;
308  }
309  else
310  pos = m_buttonList[0][0]->GetPosition();
311 
312  for( int ii = 0; ii < PINTYPE_COUNT; ii++ )
313  {
314  int y = pos.y + (ii * bitmap_size.y);
315 
316  for( int jj = 0; jj <= ii; jj++ )
317  {
318  // Add column labels (only once)
319  int diag = DiagErc[ii][jj];
320  int x = pos.x + (jj * bitmap_size.x);
321 
322  if( (ii == jj) && !m_initialized )
323  {
324  wxPoint txtpos;
325  txtpos.x = x + (bitmap_size.x / 2);
326  txtpos.y = y - text_height;
327  text = new wxStaticText( m_matrixPanel, -1, CommentERC_V[ii], txtpos );
328  }
329 
330  int event_id = ID_MATRIX_0 + ii + ( jj * PINTYPE_COUNT );
331  BITMAP_DEF bitmap_butt = erc_green_xpm;
332 
333  delete m_buttonList[ii][jj];
334  m_buttonList[ii][jj] = new wxBitmapButton( m_matrixPanel,
335  event_id,
336  KiBitmap( bitmap_butt ),
337  wxPoint( x, y ) );
338  setDRCMatrixButtonState( m_buttonList[ii][jj], diag );
339  }
340  }
341 
342  m_initialized = true;
343 }
void setDRCMatrixButtonState(wxBitmapButton *aButton, int aState)
Definition: dialog_erc.cpp:346
PNG memory record (file in memory).
Definition: bitmap_types.h:41
const wxString CommentERC_H[]
Definition: erc.cpp:87
int DefaultDiagErc[PINTYPE_COUNT][PINTYPE_COUNT]
Default Look up table which gives the ERC error level for a pair of connected pins Same as DiagErc...
Definition: erc.cpp:133
#define ID_MATRIX_0
Definition: dialog_erc.cpp:66
wxBitmap KiBitmap(BITMAP_DEF aBitmap)
Function KiBitmap constructs a wxBitmap from a memory record, held in a BITMAP_DEF.
Definition: bitmap.cpp:78
bool m_initialized
Definition: dialog_erc.h:44
wxBitmapButton * m_buttonList[PINTYPE_COUNT][PINTYPE_COUNT]
Definition: dialog_erc.h:43
wxPanel * m_matrixPanel
int DiagErc[PINTYPE_COUNT][PINTYPE_COUNT]
Definition: erc.cpp:124
static bool m_diagErcTableInit
Definition: dialog_erc.h:47
static LIB_PART * dummy()
Used when a LIB_PART is not found in library to draw a dummy shape This component is a 400 mils squar...
#define max(a, b)
Definition: auxiliary.h:86
const wxString CommentERC_V[]
Definition: erc.cpp:103
void DIALOG_ERC::ResetDefaultERCDiag ( wxCommandEvent &  event)
private

Definition at line 404 of file dialog_erc.cpp.

References DefaultDiagErc, DiagErc, DIALOG_ERC_BASE::m_cbTestSimilarLabels, DIALOG_ERC_BASE::m_cbTestUniqueGlbLabels, m_TestSimilarLabels, m_tstUniqueGlobalLabels, and ReBuildMatrixPanel().

Referenced by OnResetMatrixClick().

405 {
406  memcpy( DiagErc, DefaultDiagErc, sizeof( DiagErc ) );
408  m_TestSimilarLabels = true;
412 }
static bool m_TestSimilarLabels
Definition: dialog_erc.h:51
int DefaultDiagErc[PINTYPE_COUNT][PINTYPE_COUNT]
Default Look up table which gives the ERC error level for a pair of connected pins Same as DiagErc...
Definition: erc.cpp:133
wxCheckBox * m_cbTestUniqueGlbLabels
int DiagErc[PINTYPE_COUNT][PINTYPE_COUNT]
Definition: erc.cpp:124
static bool m_tstUniqueGlobalLabels
Definition: dialog_erc.h:48
void ReBuildMatrixPanel()
Definition: dialog_erc.cpp:271
wxCheckBox * m_cbTestSimilarLabels
void DIALOG_ERC::SelLocal ( wxCommandEvent &  event)
private
void DIALOG_ERC::SelNewCmp ( wxCommandEvent &  event)
private
void DIALOG_ERC::setDRCMatrixButtonState ( wxBitmapButton *  aButton,
int  aState 
)
private

Definition at line 346 of file dialog_erc.cpp.

References ERR, KiBitmap(), OK, and WAR.

Referenced by ChangeErrorLevel(), and ReBuildMatrixPanel().

347 {
348  BITMAP_DEF bitmap_butt = NULL;
349  wxString tooltip;
350 
351  switch( aState )
352  {
353  case OK:
354  bitmap_butt = erc_green_xpm;
355  tooltip = _( "No error or warning" );
356  break;
357 
358  case WAR:
359  bitmap_butt = ercwarn_xpm;
360  tooltip = _( "Generate warning" );
361  break;
362 
363  case ERR:
364  bitmap_butt = ercerr_xpm;
365  tooltip = _( "Generate error" );
366  break;
367  }
368 
369  if( bitmap_butt )
370  {
371  aButton->SetBitmap( KiBitmap( bitmap_butt ) );
372  aButton->SetToolTip( tooltip );
373  }
374 }
Definition: erc.h:43
PNG memory record (file in memory).
Definition: bitmap_types.h:41
Definition: erc.h:42
wxBitmap KiBitmap(BITMAP_DEF aBitmap)
Function KiBitmap constructs a wxBitmap from a memory record, held in a BITMAP_DEF.
Definition: bitmap.cpp:78
Definition: erc.h:44
void KIWAY_HOLDER::SetKiway ( wxWindow *  aDest,
KIWAY aKiway 
)
inherited

Function SetKiway.

Parameters
aDestis the recipient of aKiway pointer. It is only used for debugging, since "this" is not a wxWindow*. "this" is a KIWAY_HOLDER mix-in.
aKiwayis often from a parent window, or from KIFACE::CreateWindow().

Definition at line 41 of file kiway_holder.cpp.

References KIWAY_HOLDER::m_kiway, and name.

Referenced by DIALOG_SHIM::DIALOG_SHIM(), KIWAY_HOLDER::Kiway(), and SIM_PLOT_FRAME::SIM_PLOT_FRAME().

42 {
43 #if defined(DEBUG)
44  // offer a trap point for debugging most any window
45  wxASSERT( aDest );
46  if( !strcmp( typeid(aDest).name(), "DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB" ) )
47  {
48  int breakhere=1;
49  (void) breakhere;
50  }
51 #endif
52 
53  (void) aDest;
54 
55  m_kiway = aKiway;
56 }
KIWAY * m_kiway
Definition: kiway_player.h:85
const char * name
Definition: DXF_plotter.cpp:61
void DIALOG_SHIM::SetSizeInDU ( int  x,
int  y 
)
protectedinherited

Set the dialog to the given dimensions in "dialog units".

These are units equivalent to 4* the average character width and 8* the average character height, allowing a dialog to be sized in a way that scales it with the system font.

Definition at line 118 of file dialog_shim.cpp.

Referenced by DIALOG_CHOOSE_COMPONENT::DIALOG_CHOOSE_COMPONENT(), DIALOG_EDIT_COMPONENTS_LIBID::DIALOG_EDIT_COMPONENTS_LIBID(), DIALOG_FIELDS_EDITOR_GLOBAL::DIALOG_FIELDS_EDITOR_GLOBAL(), DIALOG_RESCUE_EACH::DIALOG_RESCUE_EACH(), DIALOG_SYMBOL_LIB_TABLE::DIALOG_SYMBOL_LIB_TABLE(), HOTKEYS_EDITOR_DIALOG::HOTKEYS_EDITOR_DIALOG(), HTML_MESSAGE_BOX::HTML_MESSAGE_BOX(), DIALOG_SHIM::IsQuasiModal(), DIALOG_LAYERS_SETUP::OnInitDialog(), and HTML_MESSAGE_BOX::SetDialogSizeInDU().

119 {
120  wxSize sz( x, y );
121  SetSize( ConvertDialogToPixels( sz ) );
122 }
bool DIALOG_SHIM::Show ( bool  show)
overrideinherited

Definition at line 146 of file dialog_shim.cpp.

References class_map, EDA_RECT::GetPosition(), EDA_RECT::GetSize(), DIALOG_SHIM::m_hash_key, max, wxPoint::x, and wxPoint::y.

Referenced by DisplayHotkeyList(), DIALOG_SHIM::EndQuasiModal(), InvokeDialogERC(), DIALOG_SHIM::IsQuasiModal(), DIALOG_SCH_FIND::OnCancel(), DIALOG_DRC_CONTROL::OnLeftDClickClearance(), DIALOG_DRC_CONTROL::OnLeftDClickUnconnected(), DIALOG_DRC_CONTROL::OnPopupMenu(), DIALOG_EXCHANGE_FOOTPRINTS::OnQuit(), POSITION_RELATIVE_TOOL::PositionRelative(), CVPCB_MAINFRAME::ReadNetListAndFpFiles(), SCH_COMPONENT::SetPosition(), DRC::ShowDRCDialog(), and DIALOG_SHIM::ShowQuasiModal().

147 {
148  bool ret;
149  const char* hash_key;
150 
151  if( m_hash_key.size() )
152  {
153  // a special case like EDA_LIST_DIALOG, which has multiple uses.
154  hash_key = m_hash_key.c_str();
155  }
156  else
157  {
158  hash_key = typeid(*this).name();
159  }
160 
161  // Show or hide the window. If hiding, save current position and size.
162  // If showing, use previous position and size.
163  if( show )
164  {
165 #ifndef __WINDOWS__
166  wxDialog::Raise(); // Needed on OS X and some other window managers (i.e. Unity)
167 #endif
168  ret = wxDialog::Show( show );
169 
170  // classname is key, returns a zeroed out default EDA_RECT if none existed before.
171  EDA_RECT savedDialogRect = class_map[ hash_key ];
172 
173  if( savedDialogRect.GetSize().x != 0 && savedDialogRect.GetSize().y != 0 )
174  {
175  SetSize( savedDialogRect.GetPosition().x,
176  savedDialogRect.GetPosition().y,
177  std::max( wxDialog::GetSize().x, savedDialogRect.GetSize().x ),
178  std::max( wxDialog::GetSize().y, savedDialogRect.GetSize().y ),
179  0 );
180  }
181  }
182  else
183  {
184  // Save the dialog's position & size before hiding, using classname as key
185  class_map[ hash_key ] = EDA_RECT( wxDialog::GetPosition(), wxDialog::GetSize() );
186 
187 #ifdef __WXMAC__
188  if ( m_eventLoop )
189  m_eventLoop->Exit( GetReturnCode() ); // Needed for APP-MODAL dlgs on OSX
190 #endif
191 
192  ret = wxDialog::Show( show );
193  }
194 
195  return ret;
196 }
const wxSize GetSize() const
Definition: eda_rect.h:101
std::string m_hash_key
Definition: dialog_shim.h:151
static RECT_MAP class_map
const wxPoint GetPosition() const
Definition: eda_rect.h:113
#define max(a, b)
Definition: auxiliary.h:86
Class EDA_RECT handles the component boundary box.
Definition: eda_rect.h:44
int DIALOG_SHIM::ShowQuasiModal ( )
inherited

Definition at line 552 of file dialog_shim.cpp.

References DBG, DIALOG_SHIM::m_qmodal_loop, DIALOG_SHIM::m_qmodal_parent_disabler, DIALOG_SHIM::m_qmodal_showing, and DIALOG_SHIM::Show().

Referenced by SCH_EDIT_FRAME::EditComponent(), SCH_EDIT_FRAME::EditComponentFieldText(), LIB_EDIT_FRAME::EditField(), EDIT_TOOL::ExchangeFootprints(), PCB_EDIT_FRAME::InstallExchangeModuleFrame(), LIB_EDIT_FRAME::InstallFieldsEditorDialog(), SCH_EDIT_FRAME::InstallHierarchyFrame(), InvokeDialogCreateBOMEditor(), InvokeDialogEditComponentsLibId(), InvokeDialogUpdateFields(), SCH_EDIT_FRAME::OnRemapSymbols(), LIB_VIEW_FRAME::OnSelectSymbol(), SCH_EDIT_FRAME::OpenProjectFiles(), and SCH_BASE_FRAME::SelectComponentFromLibrary().

553 {
554  // This is an exception safe way to zero a pointer before returning.
555  // Yes, even though DismissModal() clears this first normally, this is
556  // here in case there's an exception before the dialog is dismissed.
557  struct NULLER
558  {
559  void*& m_what;
560  NULLER( void*& aPtr ) : m_what( aPtr ) {}
561  ~NULLER() { m_what = 0; } // indeed, set it to NULL on destruction
562  } clear_this( (void*&) m_qmodal_loop );
563 
564  // release the mouse if it's currently captured as the window having it
565  // will be disabled when this dialog is shown -- but will still keep the
566  // capture making it impossible to do anything in the modal dialog itself
567  wxWindow* win = wxWindow::GetCapture();
568  if( win )
569  win->ReleaseMouse();
570 
571  // Get the optimal parent
572  wxWindow* parent = GetParentForModalDialog( GetParent(), GetWindowStyle() );
573 
574  // Show the optimal parent
575  DBG( if( parent ) printf( "%s: optimal parent: %s\n", __func__, typeid(*parent).name() );)
576 
577  wxASSERT_MSG( !m_qmodal_parent_disabler,
578  wxT( "Caller using ShowQuasiModal() twice on same window?" ) );
579 
580  // quasi-modal: disable only my "optimal" parent
582 
583 #ifdef __WXMAC__
584  // Apple in its infinite wisdom will raise a disabled window before even passing
585  // us the event, so we have no way to stop it. Instead, we must set an order on
586  // the windows so that the quasi-modal will be pushed in front of the disabled
587  // window when it is raised.
588  ReparentQuasiModal();
589 #endif
590  Show( true );
591 
592  m_qmodal_showing = true;
593 
594  EVENT_LOOP event_loop;
595 
596  m_qmodal_loop = &event_loop;
597 
598  event_loop.Run();
599 
600  return GetReturnCode();
601 }
bool m_qmodal_showing
Definition: dialog_shim.h:155
EVENT_LOOP * m_qmodal_loop
Definition: dialog_shim.h:154
bool Show(bool show) override
WDO_ENABLE_DISABLE * m_qmodal_parent_disabler
Definition: dialog_shim.h:156
Toggle a window&#39;s "enable" status to disabled, then enabled on destruction.
Definition: dialog_shim.cpp:33
#define DBG(x)
Definition: fctsys.h:33
void DIALOG_ERC::TestErc ( REPORTER aReporter)
private

Definition at line 451 of file dialog_erc.cpp.

References SCH_SHEET_LIST::AnnotatePowerSymbols(), SCH_EDIT_FRAME::BuildNetListBase(), SCH_EDIT_FRAME::CheckAnnotate(), SCH_SCREENS::DeleteAllMarkers(), Diagnose(), DisplayERC_MarkersList(), ErcFileWildcard(), ExecuteFile(), g_RootSheet, EDA_DRAW_FRAME::GetCanvas(), SCH_SCREEN::GetFileName(), SCH_SHEET::GetScreen(), REPORTER::HasMessage(), DIALOG_ERC_BASE::m_cbTestSimilarLabels, DIALOG_ERC_BASE::m_cbTestUniqueGlbLabels, m_parent, m_TestSimilarLabels, m_tstUniqueGlobalLabels, m_writeErcFile, DIALOG_ERC_BASE::m_WriteResultOpt, MARKER_BASE::MARKER_ERC, NET_BUS, NET_BUSLABELMEMBER, NET_GLOBBUSLABELMEMBER, NET_GLOBLABEL, NET_HIERBUSLABELMEMBER, NET_HIERLABEL, NET_ITEM_UNSPECIFIED, NET_JUNCTION, NET_LABEL, NET_NC, NET_NOCONNECT, NET_PIN, NET_PINLABEL, NET_SEGMENT, NET_SHEETBUSLABELMEMBER, NET_SHEETLABEL, NOC, Pgm(), QuoteFullPath(), EDA_DRAW_PANEL::Refresh(), REPORTER::Report(), REPORTER::RPT_ERROR, REPORTER::RPT_INFO, TestDuplicateSheetNames(), TestMultiunitFootprints(), TestOthersItems(), UNC, updateMarkerCounts(), and WriteDiagnosticERC().

Referenced by OnErcCmpClick().

452 {
453  wxFileName fn;
454 
455  m_writeErcFile = m_WriteResultOpt->GetValue();
458 
459  // Build the whole sheet list in hierarchy (sheet, not screen)
460  SCH_SHEET_LIST sheets( g_RootSheet );
461  sheets.AnnotatePowerSymbols();
462 
463  if( m_parent->CheckAnnotate( aReporter, false ) )
464  {
465  if( aReporter.HasMessage() )
466  aReporter.Report( _( "Annotation required!" ), REPORTER::RPT_ERROR );
467 
468  return;
469  }
470 
471  SCH_SCREENS screens;
472 
473  // Erase all previous DRC markers.
475 
476  /* Test duplicate sheet names inside a given sheet, one cannot have sheets with
477  * duplicate names (file names can be duplicated).
478  */
479  TestDuplicateSheetNames( true );
480 
481  /* Test is all units of each multiunit component have the same footprint assigned.
482  */
483  TestMultiunitFootprints( sheets );
484 
485  std::unique_ptr<NETLIST_OBJECT_LIST> objectsConnectedList( m_parent->BuildNetListBase() );
486 
487  // Reset the connection type indicator
488  objectsConnectedList->ResetConnectionsType();
489 
490  unsigned lastItemIdx;
491  unsigned nextItemIdx = lastItemIdx = 0;
492  int MinConn = NOC;
493 
494  /* The netlist generated by SCH_EDIT_FRAME::BuildNetListBase is sorted
495  * by net number, which means we can group netlist items into ranges
496  * that live in the same net. The range from nextItem to the current
497  * item (exclusive) needs to be checked against the current item. The
498  * lastItem variable is used as a helper to pass the last item's number
499  * from one loop iteration to the next, which simplifies the initial
500  * pass.
501  */
502 
503  for( unsigned itemIdx = 0; itemIdx < objectsConnectedList->size(); itemIdx++ )
504  {
505  auto item = objectsConnectedList->GetItem( itemIdx );
506  auto lastItem = objectsConnectedList->GetItem( lastItemIdx );
507 
508  auto lastNet = lastItem->GetNet();
509  auto net = item->GetNet();
510 
511  wxASSERT_MSG( lastNet <= net, wxT( "Netlist not correctly ordered" ) );
512 
513  if( lastNet != net )
514  {
515  // New net found:
516  MinConn = NOC;
517  nextItemIdx = itemIdx;
518  }
519 
520  switch( item->m_Type )
521  {
522  // These items do not create erc problems
524  case NET_SEGMENT:
525  case NET_BUS:
526  case NET_JUNCTION:
527  case NET_LABEL:
528  case NET_BUSLABELMEMBER:
529  case NET_PINLABEL:
531  break;
532 
533  case NET_HIERLABEL:
535  case NET_SHEETLABEL:
537  // ERC problems when pin sheets do not match hierarchical labels.
538  // Each pin sheet must match a hierarchical label
539  // Each hierarchical label must match a pin sheet
540  objectsConnectedList->TestforNonOrphanLabel( itemIdx, nextItemIdx );
541  break;
542  case NET_GLOBLABEL:
544  objectsConnectedList->TestforNonOrphanLabel( itemIdx, nextItemIdx );
545  break;
546 
547  case NET_NOCONNECT:
548 
549  // ERC problems when a noconnect symbol is connected to more than one pin.
550  MinConn = NET_NC;
551 
552  if( objectsConnectedList->CountPinsInNet( nextItemIdx ) > 1 )
553  Diagnose( item, NULL, MinConn, UNC );
554 
555  break;
556 
557  case NET_PIN:
558 
559  // Look for ERC problems between pins:
560  TestOthersItems( objectsConnectedList.get(), itemIdx, nextItemIdx, &MinConn );
561  break;
562  }
563 
564  lastItemIdx = itemIdx;
565  }
566 
567  // Test similar labels (i;e. labels which are identical when
568  // using case insensitive comparisons)
569  if( m_TestSimilarLabels )
570  objectsConnectedList->TestforSimilarLabels();
571 
572  // Displays global results:
573  updateMarkerCounts( &screens );
574 
575  // Display diags:
577 
578  // Display new markers:
579  m_parent->GetCanvas()->Refresh();
580 
581  // Display message
582  aReporter.Report( _( "Finished" ), REPORTER::RPT_INFO );
583 
584  if( m_writeErcFile )
585  {
586  fn = g_RootSheet->GetScreen()->GetFileName();
587  fn.SetExt( wxT( "erc" ) );
588 
589  wxFileDialog dlg( this, _( "ERC File" ), fn.GetPath(), fn.GetFullName(),
590  ErcFileWildcard(), wxFD_SAVE );
591 
592  if( dlg.ShowModal() == wxID_CANCEL )
593  return;
594 
595  if( WriteDiagnosticERC( dlg.GetPath() ) )
596  ExecuteFile( this, Pgm().GetEditorName(), QuoteFullPath( fn ) );
597  }
598 }
Class SCH_SHEET_LIST.
virtual bool HasMessage() const =0
Function HasMessage Returns true if the reporter client is non-empty.
static bool m_TestSimilarLabels
Definition: dialog_erc.h:51
NETLIST_OBJECT_LIST * BuildNetListBase(bool updateStatusText=true)
Create a flat list which stores all connected objects.
void DeleteAllMarkers(enum MARKER_BASE::TYPEMARKER aMarkerType)
Delete all electronic rules check markers of aMarkerType from all the screens in the list...
void TestOthersItems(NETLIST_OBJECT_LIST *aList, unsigned aNetItemRef, unsigned aNetStart, int *aMinConnexion)
Perform ERC testing for electrical conflicts between NetItemRef and other items (mainly pin) on the s...
Definition: erc.cpp:430
static bool m_writeErcFile
Definition: dialog_erc.h:46
virtual void Refresh(bool eraseBackground=true, const wxRect *rect=NULL) override
Update the board display after modifying it bu a python script (note: it is automatically called by a...
Definition: draw_panel.cpp:339
EDA_DRAW_PANEL * GetCanvas()
Definition: draw_frame.h:342
const wxString & GetFileName() const
Definition: sch_screen.h:120
void Diagnose(NETLIST_OBJECT *aNetItemRef, NETLIST_OBJECT *aNetItemTst, int aMinConn, int aDiag)
Performs ERC testing and creates an ERC marker to show the ERC problem for aNetItemRef or between aNe...
Definition: erc.cpp:294
PGM_BASE & Pgm()
The global Program "get" accessor.
Definition: kicad.cpp:65
SCH_SCREEN * GetScreen()
Definition: sch_sheet.h:279
bool WriteDiagnosticERC(const wxString &aFullFileName)
Function WriteDiagnosticERC save the ERC errors to aFullFileName.
Definition: erc.cpp:583
int TestDuplicateSheetNames(bool aCreateMarker)
Function TestDuplicateSheetNames( ) inside a given sheet, one cannot have sheets with duplicate names...
Definition: erc.cpp:177
SCH_SHEET * g_RootSheet
Definition: eeschema.cpp:55
Definition: erc.h:45
SCH_EDIT_FRAME * m_parent
Definition: dialog_erc.h:42
wxCheckBox * m_cbTestUniqueGlbLabels
int CheckAnnotate(REPORTER &aReporter, bool aOneSheetOnly)
Check for annotation errors.
Definition: annotate.cpp:243
wxString ErcFileWildcard()
#define NOC
Definition: erc.h:71
wxString QuoteFullPath(wxFileName &fn, wxPathFormat format)
Quote return value of wxFileName::GetFullPath().
Definition: gestfich.cpp:417
void updateMarkerCounts(SCH_SCREENS *screens)
Definition: dialog_erc.cpp:122
static bool m_tstUniqueGlobalLabels
Definition: dialog_erc.h:48
virtual REPORTER & Report(const wxString &aText, SEVERITY aSeverity=RPT_UNDEFINED)=0
Function Report is a pure virtual function to override in the derived object.
wxCheckBox * m_WriteResultOpt
#define NET_NC
Definition: erc.h:69
int ExecuteFile(wxWindow *frame, const wxString &ExecFile, const wxString &param, wxProcess *callback)
Function ExecuteFile calls the executable file ExecFile with the command line parameters param...
Definition: gestfich.cpp:208
int TestMultiunitFootprints(SCH_SHEET_LIST &aSheetList)
Test if all units of each multiunit component have the same footprint assigned.
Definition: erc.cpp:228
Container class that holds multiple SCH_SCREEN objects in a hierarchy.
Definition: sch_screen.h:503
void DisplayERC_MarkersList()
Definition: dialog_erc.cpp:377
wxCheckBox * m_cbTestSimilarLabels
void DIALOG_ERC::updateMarkerCounts ( SCH_SCREENS screens)
private

Definition at line 122 of file dialog_erc.cpp.

References SCH_SCREENS::GetMarkerCount(), DIALOG_ERC_BASE::m_LastErrCount, DIALOG_ERC_BASE::m_LastWarningCount, DIALOG_ERC_BASE::m_TotalErrCount, MARKER_BASE::MARKER_ERC, MARKER_BASE::MARKER_SEVERITY_ERROR, MARKER_BASE::MARKER_SEVERITY_UNSPEC, and MARKER_BASE::MARKER_SEVERITY_WARNING.

Referenced by Init(), OnEraseDrcMarkersClick(), and TestErc().

123 {
124  int markers = screens->GetMarkerCount( MARKER_BASE::MARKER_ERC,
126  int warnings = screens->GetMarkerCount( MARKER_BASE::MARKER_ERC,
128  int errors = screens->GetMarkerCount( MARKER_BASE::MARKER_ERC,
130 
131  wxString num;
132  num.Printf( wxT( "%d" ), markers );
133  m_TotalErrCount->SetValue( num );
134 
135  num.Printf( wxT( "%d" ), errors );
136  m_LastErrCount->SetValue( num );
137 
138  num.Printf( wxT( "%d" ), warnings );
139  m_LastWarningCount->SetValue( num );
140 }
wxTextCtrl * m_TotalErrCount
wxTextCtrl * m_LastWarningCount
int GetMarkerCount(enum MARKER_BASE::TYPEMARKER aMarkerType, enum MARKER_BASE::MARKER_SEVERITY aSeverity)
Return the number of ERC markers of aMarkerType from all of the screens in the list.
wxTextCtrl * m_LastErrCount
int DIALOG_SHIM::VertPixelsFromDU ( int  y)
protectedinherited

Convert an integer number of dialog units to pixels, vertically.

See SetSizeInDU or wxDialog documentation for more information.

Definition at line 132 of file dialog_shim.cpp.

Referenced by DIALOG_CHOOSE_COMPONENT::DIALOG_CHOOSE_COMPONENT(), DIALOG_SHIM::IsQuasiModal(), and DIALOG_LAYERS_SETUP::OnInitDialog().

133 {
134  wxSize sz( 0, y );
135  return ConvertDialogToPixels( sz ).y;
136 }

Member Data Documentation

wxButton* DIALOG_ERC_BASE::m_buttonClose
protectedinherited
wxButton* DIALOG_ERC_BASE::m_buttondelmarkers
protectedinherited
wxButton* DIALOG_ERC_BASE::m_buttonERC
protectedinherited
wxBitmapButton* DIALOG_ERC::m_buttonList[PINTYPE_COUNT][PINTYPE_COUNT]
private

Definition at line 43 of file dialog_erc.h.

Referenced by Init(), and ReBuildMatrixPanel().

wxCheckBox* DIALOG_ERC_BASE::m_cbTestSimilarLabels
protectedinherited
wxCheckBox* DIALOG_ERC_BASE::m_cbTestUniqueGlbLabels
protectedinherited
bool DIALOG_ERC::m_diagErcTableInit = false
staticprivate

Definition at line 47 of file dialog_erc.h.

Referenced by ReBuildMatrixPanel().

wxStaticText* DIALOG_ERC_BASE::m_ErcTotalErrorsText
protectedinherited

Definition at line 53 of file dialog_erc_base.h.

Referenced by DIALOG_ERC_BASE::DIALOG_ERC_BASE().

bool DIALOG_SHIM::m_fixupsRun
protectedinherited

Definition at line 149 of file dialog_shim.h.

Referenced by DIALOG_SHIM::OnPaint().

std::string DIALOG_SHIM::m_hash_key
protectedinherited
bool DIALOG_ERC::m_initialized
private

Definition at line 44 of file dialog_erc.h.

Referenced by Init(), and ReBuildMatrixPanel().

wxTextCtrl* DIALOG_ERC_BASE::m_LastErrCount
protectedinherited

Definition at line 58 of file dialog_erc_base.h.

Referenced by DIALOG_ERC_BASE::DIALOG_ERC_BASE(), and updateMarkerCounts().

wxStaticText* DIALOG_ERC_BASE::m_LastErrCountText
protectedinherited

Definition at line 57 of file dialog_erc_base.h.

Referenced by DIALOG_ERC_BASE::DIALOG_ERC_BASE().

const SCH_MARKER* DIALOG_ERC::m_lastMarkerFound
private

Definition at line 45 of file dialog_erc.h.

Referenced by OnLeftClickMarkersList(), and OnLeftDblClickMarkersList().

wxTextCtrl* DIALOG_ERC_BASE::m_LastWarningCount
protectedinherited

Definition at line 56 of file dialog_erc_base.h.

Referenced by DIALOG_ERC_BASE::DIALOG_ERC_BASE(), and updateMarkerCounts().

wxPanel* DIALOG_ERC_BASE::m_matrixPanel
protectedinherited

Definition at line 71 of file dialog_erc_base.h.

Referenced by DIALOG_ERC_BASE::DIALOG_ERC_BASE(), and ReBuildMatrixPanel().

wxTextCtrl* DIALOG_ERC_BASE::m_MessagesList
protectedinherited

Definition at line 62 of file dialog_erc_base.h.

Referenced by DIALOG_ERC_BASE::DIALOG_ERC_BASE(), and OnErcCmpClick().

wxNotebook* DIALOG_ERC_BASE::m_NoteBook
protectedinherited

Definition at line 51 of file dialog_erc_base.h.

Referenced by DIALOG_ERC_BASE::DIALOG_ERC_BASE().

wxPanel* DIALOG_ERC_BASE::m_PanelERC
protectedinherited

Definition at line 52 of file dialog_erc_base.h.

Referenced by DIALOG_ERC_BASE::DIALOG_ERC_BASE().

wxPanel* DIALOG_ERC_BASE::m_PanelERCOptions
protectedinherited

Definition at line 68 of file dialog_erc_base.h.

Referenced by DIALOG_ERC_BASE::DIALOG_ERC_BASE().

SCH_EDIT_FRAME* DIALOG_ERC::m_parent
private
EVENT_LOOP* DIALOG_SHIM::m_qmodal_loop
protectedinherited

Definition at line 154 of file dialog_shim.h.

Referenced by DIALOG_SHIM::EndQuasiModal(), and DIALOG_SHIM::ShowQuasiModal().

WDO_ENABLE_DISABLE* DIALOG_SHIM::m_qmodal_parent_disabler
protectedinherited
bool DIALOG_SHIM::m_qmodal_showing
protectedinherited
wxButton* DIALOG_ERC_BASE::m_ResetOptButton
protectedinherited
wxStaticLine* DIALOG_ERC_BASE::m_staticline1
protectedinherited

Definition at line 59 of file dialog_erc_base.h.

Referenced by DIALOG_ERC_BASE::DIALOG_ERC_BASE().

wxStaticLine* DIALOG_ERC_BASE::m_staticline2
protectedinherited

Definition at line 72 of file dialog_erc_base.h.

Referenced by DIALOG_ERC_BASE::DIALOG_ERC_BASE().

wxStaticText* DIALOG_ERC_BASE::m_staticText8
protectedinherited

Definition at line 70 of file dialog_erc_base.h.

Referenced by DIALOG_ERC_BASE::DIALOG_ERC_BASE().

wxStaticText* DIALOG_ERC_BASE::m_staticText9
protectedinherited

Definition at line 73 of file dialog_erc_base.h.

Referenced by DIALOG_ERC_BASE::DIALOG_ERC_BASE().

bool DIALOG_ERC::m_TestSimilarLabels = true
static
wxStaticText* DIALOG_ERC_BASE::m_textMarkers
protectedinherited

Definition at line 63 of file dialog_erc_base.h.

Referenced by DIALOG_ERC_BASE::DIALOG_ERC_BASE().

wxStaticText* DIALOG_ERC_BASE::m_titleMessages
protectedinherited

Definition at line 61 of file dialog_erc_base.h.

Referenced by DIALOG_ERC_BASE::DIALOG_ERC_BASE().

wxTextCtrl* DIALOG_ERC_BASE::m_TotalErrCount
protectedinherited

Definition at line 54 of file dialog_erc_base.h.

Referenced by DIALOG_ERC_BASE::DIALOG_ERC_BASE(), and updateMarkerCounts().

bool DIALOG_ERC::m_tstUniqueGlobalLabels = true
staticprivate

Definition at line 48 of file dialog_erc.h.

Referenced by Init(), ResetDefaultERCDiag(), TestErc(), and ~DIALOG_ERC().

wxStaticText* DIALOG_ERC_BASE::m_WarnErcErrorsText
protectedinherited

Definition at line 55 of file dialog_erc_base.h.

Referenced by DIALOG_ERC_BASE::DIALOG_ERC_BASE().

bool DIALOG_ERC::m_writeErcFile = false
staticprivate

Definition at line 46 of file dialog_erc.h.

Referenced by Init(), and TestErc().

wxCheckBox* DIALOG_ERC_BASE::m_WriteResultOpt
protectedinherited

Definition at line 60 of file dialog_erc_base.h.

Referenced by DIALOG_ERC_BASE::DIALOG_ERC_BASE(), Init(), and TestErc().


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