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
 
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 FixOSXCancelButtonIssue ()
 A ugly hack to fix an issue on OSX: when typing ctrl+c in a wxTextCtrl inside a dialog, it is closed instead of copying a text if a button with wxID_CANCEL is used in a wxStdDialogButtonSizer, when the dlg is created by wxFormBuilder: the label is &Cancel, and this accelerator key has priority to copy text standard accelerator, and the dlg is closed when trying to copy text this function do nothing on other platforms. 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
 
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 (wxArrayString *aMessagesList)
 
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)
DIALOG_ERC::~DIALOG_ERC ( )

Definition at line 86 of file dialog_erc.cpp.

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

87 {
90 }
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:64
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:198
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
SCH_SHEET * g_RootSheet
Definition: eeschema.cpp:54
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 182 of file dialog_shim.cpp.

Referenced by DIALOG_PRINT_USING_PRINTER::InitValues().

183 {
184  // so we can do logging of this state change:
185 
186 #if defined(DEBUG)
187  const char* type_id = typeid( *this ).name();
188  printf( "wxDialog %s: %s\n", type_id, enable ? "enabled" : "disabled" );
189 #endif
190 
191  return wxDialog::Enable( enable );
192 }
void DIALOG_SHIM::EndQuasiModal ( int  retCode)
inherited

Definition at line 540 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 HK_PROMPT_DIALOG::EndFlexible(), 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_MODULE::OnQuit(), DIALOG_CHOOSE_COMPONENT::OnSchViewDClick(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::SetInitCmp(), and DIALOG_SHIM::~DIALOG_SHIM().

541 {
542  // Hook up validator and transfer data from controls handling so quasi-modal dialogs
543  // handle validation in the same way as other dialogs.
544  if( ( retCode == wxID_OK ) && ( !Validate() || !TransferDataFromWindow() ) )
545  return;
546 
547  SetReturnCode( retCode );
548 
549  if( !IsQuasiModal() )
550  {
551  wxFAIL_MSG( wxT( "either DIALOG_SHIM::EndQuasiModal called twice or ShowQuasiModal wasn't called" ) );
552  return;
553  }
554 
555  m_qmodal_showing = false;
556 
557  if( m_qmodal_loop )
558  {
559  if( m_qmodal_loop->IsRunning() )
560  m_qmodal_loop->Exit( 0 );
561  else
562  m_qmodal_loop->ScheduleExit( 0 );
563 
564  m_qmodal_loop = NULL;
565  }
566 
569 
570  Show( false );
571 }
bool m_qmodal_showing
Definition: dialog_shim.h:132
EVENT_LOOP * m_qmodal_loop
Definition: dialog_shim.h:131
bool IsQuasiModal()
Definition: dialog_shim.h:93
bool Show(bool show) override
WDO_ENABLE_DISABLE * m_qmodal_parent_disabler
Definition: dialog_shim.h:133
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 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_EESCHEMA_OPTIONS::DIALOG_EESCHEMA_OPTIONS(), DIALOG_ENUM_PADS::DIALOG_ENUM_PADS(), 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_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_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(), 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(), DialogEditModuleText::OnInitDlg(), DIALOG_SET_GRID::OnInitDlg(), DIALOG_PCB_TEXT_PROPERTIES::OnInitDlg(), DIALOG_PRINT_FOR_MODEDIT::OnInitDlg(), DIALOG_GRAPHIC_ITEM_PROPERTIES::OnInitDlg(), DIALOG_MODULE_MODULE_EDITOR::OnInitDlg(), DIALOG_SIM_SETTINGS::onInitDlg(), DIALOG_SPICE_MODEL::onInitDlg(), DIALOG_MODULE_BOARD_EDITOR::OnInitDlg(), DIALOG_PRINT_USING_PRINTER::OnInitDlg(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnInitDlg(), TARGET_PROPERTIES_DIALOG_EDITOR::TARGET_PROPERTIES_DIALOG_EDITOR(), and DIALOG_SIGNAL_LIST::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 }
void DIALOG_SHIM::FixOSXCancelButtonIssue ( )
protectedinherited

A ugly hack to fix an issue on OSX: when typing ctrl+c in a wxTextCtrl inside a dialog, it is closed instead of copying a text if a button with wxID_CANCEL is used in a wxStdDialogButtonSizer, when the dlg is created by wxFormBuilder: the label is &Cancel, and this accelerator key has priority to copy text standard accelerator, and the dlg is closed when trying to copy text this function do nothing on other platforms.

Definition at line 117 of file dialog_shim.cpp.

Referenced by DIALOG_SHIM::Show().

118 {
119 #ifdef __WXMAC__
120  // A ugly hack to fix an issue on OSX: ctrl+c closes the dialog instead of
121  // copying a text if a button with wxID_CANCEL is used in a wxStdDialogButtonSizer
122  // created by wxFormBuilder: the label is &Cancel, and this accelerator key has priority
123  // to copy text standard accelerator, and the dlg is closed when trying to copy text
124  wxButton* button = dynamic_cast< wxButton* > ( wxWindow::FindWindowById( wxID_CANCEL, this ) );
125 
126  if( button )
127  button->SetLabel( _( "Cancel" ) );
128 #endif
129 }
void DIALOG_ERC::Init ( )
private

Definition at line 93 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().

94 {
95  m_initialized = false;
96 
97  for( int ii = 0; ii < PINTYPE_COUNT; ii++ )
98  {
99  for( int jj = 0; jj < PINTYPE_COUNT; jj++ )
100  m_buttonList[ii][jj] = NULL;
101  }
102 
103  m_WriteResultOpt->SetValue( m_writeErcFile );
106 
107  SCH_SCREENS screens;
108  updateMarkerCounts( &screens );
109 
111 
112  // Init Panel Matrix
114 
115  // Set the run ERC button as the default button.
116  m_buttonERC->SetDefault();
117 }
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:120
static bool m_tstUniqueGlobalLabels
Definition: dialog_erc.h:48
wxCheckBox * m_WriteResultOpt
void ReBuildMatrixPanel()
Definition: dialog_erc.cpp:271
Class SCH_SCREENS is a container class that holds multiple SCH_SCREENs in a hierarchy.
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.

Referenced by SCH_EDIT_FRAME::AppendOneEEProject(), 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(), FOOTPRINT_EDIT_FRAME::GetPlotSettings(), DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB::initBuffers(), LIB_EDIT_FRAME::InstallConfigFrame(), PCB_EDIT_FRAME::InstallModuleOptionsFrame(), KIWAY_PLAYER::language_change(), SCH_SHEET::Load(), CVPCB_MAINFRAME::LoadFootprintFiles(), KIWAY_PLAYER::OnChangeIconsOptions(), CVPCB_MAINFRAME::OnEditFootprintLibraryTable(), 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::ReadNetListAndLinkFiles(), FOOTPRINT_VIEWER_FRAME::ReCreateFootprintList(), LIB_EDIT_FRAME::refreshSchematic(), SCH_EDIT_FRAME::SaveEEFile(), CVPCB_MAINFRAME::SaveFootprintAssociation(), SCH_BASE_FRAME::SelectComponentFromLibBrowser(), 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(), and DIALOG_EXCHANGE_MODULE::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 158 of file dialog_erc.cpp.

159 {
160  Close();
161 }
void DIALOG_ERC::OnCloseErcDialog ( wxCloseEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_ERC_BASE.

Definition at line 164 of file dialog_erc.cpp.

165 {
166  Destroy();
167 }
void DIALOG_ERC::OnEraseDrcMarkersClick ( wxCommandEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_ERC_BASE.

Definition at line 143 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().

144 {
145  SCH_SCREENS ScreenList;
146 
148  updateMarkerCounts( &ScreenList );
149 
151  m_parent->GetCanvas()->Refresh();
152 }
void DeleteAllMarkers(enum MARKER_BASE::TYPEMARKER aMarkerType)
Function DeleteAllMarkers deletes all electronic rules check markers of aMarkerType from all the scre...
virtual void Refresh(bool eraseBackground=true, const wxRect *rect=NULL) override
Definition: draw_panel.cpp:326
EDA_DRAW_PANEL * GetCanvas()
Definition: draw_frame.h:299
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:120
Class SCH_SCREENS is a container class that holds multiple SCH_SCREENs in a hierarchy.
void DIALOG_ERC::OnErcCmpClick ( wxCommandEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_ERC_BASE.

Definition at line 176 of file dialog_erc.cpp.

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

177 {
178  wxBusyCursor();
180 
181  m_MessagesList->Clear();
182  wxSafeYield(); // m_MarkersList must be redraw
183  wxArrayString messageList;
184  TestErc( &messageList );
185 
186  for( unsigned ii = 0; ii < messageList.GetCount(); ii++ )
187  m_MessagesList->AppendText( messageList[ii] );
188 }
wxTextCtrl * m_MessagesList
ERC_HTML_LISTFRAME * m_MarkersList
void ClearList()
Function ClearList deletes all items shown in the list.
void TestErc(wxArrayString *aMessagesList)
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)
Definition: schframe.cpp:574
Class SCH_SHEET_LIST.
double GetZoom() const
Function GetZoom returns the current "zoom factor", which is a measure of "internal units per device ...
wxPoint m_Pos
position of the marker
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.
Definition: schframe.cpp:521
SCH_SHEET * g_RootSheet
Definition: eeschema.cpp:54
SCH_SHEET_PATH & GetCurrentSheet()
Definition: schframe.cpp:566
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
void SkipNextLeftButtonReleaseEvent()
function SkipNextLeftButtonReleaseEvent after calling this function, if the left mouse button is down...
Definition: draw_frame.cpp:275
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_ERC::OnResetMatrixClick ( wxCommandEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_ERC_BASE.

Definition at line 170 of file dialog_erc.cpp.

References ResetDefaultERCDiag().

171 {
172  ResetDefaultERCDiag( event );
173 }
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::AnnotateComponents(), SCH_EDIT_FRAME::AppendOneEEProject(), PCB_EDIT_FRAME::ArchiveModulesOnBoard(), LIB_VIEW_FRAME::BestZoom(), DIALOG_MODULE_MODULE_EDITOR::BrowseAndAdd3DShapeFile(), DIALOG_MODULE_BOARD_EDITOR::BrowseAndAdd3DShapeFile(), DIALOG_EDIT_COMPONENT_IN_LIBRARY::BrowseAndSelectDocFile(), DIALOG_EXCHANGE_MODULE::BrowseAndSelectFootprint(), CVPCB_MAINFRAME::BuildLIBRARY_LISTBOX(), DIALOG_MODULE_MODULE_EDITOR::Cfg3DPath(), DIALOG_MODULE_BOARD_EDITOR::Cfg3DPath(), SCH_EDIT_FRAME::CheckAnnotate(), SCH_SCREEN::CheckComponentsToPartsLinks(), SCH_EDIT_FRAME::ConvertPart(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::copyPanelToOptions(), SCH_EDIT_FRAME::CreateArchiveLibrary(), PCB_BASE_EDIT_FRAME::CreateNewLibrary(), DIALOG_PLOT_SCHEMATIC::createPlotFileName(), DIALOG_SYMBOL_REMAP::createProjectSymbolLibTable(), FOOTPRINT_EDIT_FRAME::DeleteModuleFromCurrentLibrary(), LIB_EDIT_FRAME::DeleteOnePart(), DIALOG_CONFIG_EQUFILES::DIALOG_CONFIG_EQUFILES(), DIALOG_EESCHEMA_CONFIG::DIALOG_EESCHEMA_CONFIG(), DIALOG_FP_LIB_TABLE::DIALOG_FP_LIB_TABLE(), DIALOG_MODULE_BOARD_EDITOR::DIALOG_MODULE_BOARD_EDITOR(), DIALOG_MODULE_MODULE_EDITOR::DIALOG_MODULE_MODULE_EDITOR(), DIALOG_PAGES_SETTINGS::DIALOG_PAGES_SETTINGS(), DIALOG_SCH_EDIT_ONE_FIELD::DIALOG_SCH_EDIT_ONE_FIELD(), LIB_VIEW_FRAME::DisplayLibInfos(), SCH_BASE_FRAME::DisplayListComponentsInLib(), PCB_EDIT_FRAME::doAutoSave(), DIALOG_MODULE_MODULE_EDITOR::Edit3DShapeFileName(), DIALOG_MODULE_BOARD_EDITOR::Edit3DShapeFileName(), SCH_EDIT_FRAME::EditComponentFieldText(), SCH_EDIT_FRAME::EditSheet(), PCB_EDIT_FRAME::Export_IDF3(), PCB_EDIT_FRAME::ExportToGenCAD(), PCB_EDIT_FRAME::ExportVRML_File(), PCB_EDIT_FRAME::Files_io_from_id(), PCB_EDIT_FRAME::GenD356File(), NETLIST_DIALOG::GenNetlist(), DISPLAY_FOOTPRINTS_FRAME::Get_Module(), FOOTPRINT_VIEWER_FRAME::getCurFootprintName(), LIB_EDIT_FRAME::GetCurLib(), FOOTPRINT_VIEWER_FRAME::getCurNickname(), LIB_EDIT_FRAME::GetCurPart(), FOOTPRINT_EDIT_FRAME::GetCurrentLib(), FOOTPRINT_EDIT_FRAME::getLibPath(), DIALOG_SYMBOL_REMAP::getLibsNotInGlobalSymbolLibTable(), DIALOG_BOM::getPluginFileName(), LIB_VIEW_FRAME::getSelectedAlias(), FP_THREAD_IFACE::GetTable(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::InitBuffers(), DIALOG_MODULE_MODULE_EDITOR::initModeditProperties(), DIALOG_MODULE_BOARD_EDITOR::InitModeditProperties(), LIB_EDIT_FRAME::InstallConfigFrame(), SCH_EDIT_FRAME::InstallConfigFrame(), PCB_EDIT_FRAME::InstallNetlistFrame(), SCH_EDIT_FRAME::IsSearchCacheObsolete(), SCH_EDIT_FRAME::Load_Component(), SCH_EDIT_FRAME::LoadCmpToFootprintLinkFile(), DIALOG_BOM_EDITOR::LoadComponents(), CVPCB_MAINFRAME::LoadFootprintFiles(), SCH_EDIT_FRAME::LoadOneEEFile(), LIB_EDIT_FRAME::LoadOneLibraryPart(), LIB_EDIT_FRAME::LoadOneSymbol(), CVPCB_MAINFRAME::LoadProjectFile(), SCH_EDIT_FRAME::LoadProjectFile(), PCB_EDIT_FRAME::LoadProjectSettings(), DIALOG_DRC_CONTROL::makeValidFileNameReport(), FOOTPRINT_VIEWER_FRAME::OnActivate(), DIALOG_EESCHEMA_CONFIG::OnAddOrInsertLibClick(), DIALOG_EESCHEMA_CONFIG::OnAddOrInsertPath(), DIALOG_DRC_CONTROL::OnButtonBrowseRptFileClick(), LIB_EDIT_FRAME::OnCloseWindow(), CVPCB_MAINFRAME::OnEditFootprintLibraryTable(), DIALOG_GENDRILL::OnGenReportFile(), DIALOG_CHOOSE_COMPONENT::OnInitDialog(), PCB_EDIT_FRAME::OnLeftClick(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnOKButtonClick(), DIALOG_NETLIST::OnOpenNetlistClick(), DIALOG_PLOT::OnOutputDirectoryBrowseClicked(), DIALOG_SVG_PRINT::OnOutputDirectoryBrowseClicked(), DIALOG_GENDRILL::OnOutputDirectoryBrowseClicked(), DIALOG_PLOT_SCHEMATIC::OnOutputDirectoryBrowseClicked(), DIALOG_GEN_MODULE_POSITION::OnOutputDirectoryBrowseClicked(), LIB_EDIT_FRAME::OnPlotCurrentComponent(), DIALOG_SYMBOL_REMAP::OnRemapSymbols(), SCH_EDIT_FRAME::OnRightClick(), DIALOG_BOM::OnRunPlugin(), DIALOG_NETLIST::OnSaveMessagesToFile(), SCH_EDIT_FRAME::OnSaveProject(), DIALOG_SPICE_MODEL::onSelectIcLib(), LIB_VIEW_FRAME::OnSelectSymbol(), SCH_EDIT_FRAME::OnSelectUnit(), DIALOG_SPICE_MODEL::onSemiSelectLib(), 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(), SCH_EDIT_FRAME::prepareForNetlist(), SCH_EDIT_FRAME::Process_Config(), PCB_EDIT_FRAME::Process_Config(), SCH_EDIT_FRAME::Process_Special_Functions(), SCH_EDIT_FRAME::ProcessCmpToFootprintLinkFile(), FOOTPRINT_EDIT_FRAME::ProcessPreferences(), CVPCB_MAINFRAME::ReadNetListAndLinkFiles(), 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(), SCH_EDIT_FRAME::RescueProject(), FOOTPRINT_EDIT_FRAME::restoreLastFootprint(), FOOTPRINT_EDIT_FRAME::retainLastFootprint(), SCH_SCREEN::Save(), LIB_EDIT_FRAME::SaveActiveLibrary(), SCH_EDIT_FRAME::SaveEEFile(), FOOTPRINT_EDIT_FRAME::SaveFootprintInLibrary(), LIB_EDIT_FRAME::SaveOneSymbol(), CVPCB_MAINFRAME::SaveProjectFile(), SCH_EDIT_FRAME::SaveProjectSettings(), PCB_EDIT_FRAME::SaveProjectSettings(), FOOTPRINT_VIEWER_FRAME::SelectAndViewFootprint(), SCH_BASE_FRAME::SelectComponentFromLibrary(), FOOTPRINT_VIEWER_FRAME::SelectCurrentFootprint(), PCB_BASE_FRAME::SelectLibrary(), SCH_BASE_FRAME::SelectLibraryFromList(), SCH_EDIT_FRAME::sendNetlist(), FOOTPRINT_VIEWER_FRAME::setCurFootprintName(), LIB_EDIT_FRAME::SetCurLib(), FOOTPRINT_VIEWER_FRAME::setCurNickname(), LIB_EDIT_FRAME::SetCurPart(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::SetInitCmp(), SIM_PLOT_FRAME::SIM_PLOT_FRAME(), EDA_3D_VIEWER::takeScreenshot(), TestErc(), DIALOG_SPICE_MODEL::updateFromFile(), SIM_PLOT_FRAME::updateNetlistExporter(), FOOTPRINT_VIEWER_FRAME::UpdateTitle(), CVPCB_MAINFRAME::UpdateTitle(), FOOTPRINT_EDIT_FRAME::updateTitle(), SCH_EDIT_FRAME::WriteNetListFile(), DIALOG_MODULE_BOARD_EDITOR::~DIALOG_MODULE_BOARD_EDITOR(), and DIALOG_MODULE_MODULE_EDITOR::~DIALOG_MODULE_MODULE_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:144
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:38
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:64
wxBitmap KiBitmap(BITMAP_DEF aBitmap)
Function KiBitmap constructs a wxBitmap from a memory record, held in a BITMAP_DEF.
Definition: bitmap.cpp:36
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:38
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:36
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(), 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
bool DIALOG_SHIM::Show ( bool  show)
overrideinherited

Definition at line 139 of file dialog_shim.cpp.

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

Referenced by DisplayHotkeyList(), DIALOG_SHIM::EndQuasiModal(), InvokeDialogERC(), DIALOG_SCH_FIND::OnCancel(), DIALOG_DRC_CONTROL::OnLeftDClickClearance(), DIALOG_DRC_CONTROL::OnLeftDClickUnconnected(), DIALOG_DRC_CONTROL::OnPopupMenu(), DIALOG_EXCHANGE_MODULE::OnQuit(), CVPCB_MAINFRAME::ReadNetListAndLinkFiles(), DRC::ShowDRCDialog(), and DIALOG_SHIM::ShowQuasiModal().

140 {
141  bool ret;
142  const char* hash_key;
143 
144  if( m_hash_key.size() )
145  {
146  // a special case like EDA_LIST_DIALOG, which has multiple uses.
147  hash_key = m_hash_key.c_str();
148  }
149  else
150  {
151  hash_key = typeid(*this).name();
152  }
153 
154  // Show or hide the window. If hiding, save current position and size.
155  // If showing, use previous position and size.
156  if( show )
157  {
158  wxDialog::Raise(); // Needed on OS X and some other window managers (i.e. Unity)
159  ret = wxDialog::Show( show );
160 
161  // classname is key, returns a zeroed out default EDA_RECT if none existed before.
162  EDA_RECT r = class_map[ hash_key ];
163 
164  if( r.GetSize().x != 0 && r.GetSize().y != 0 )
165  SetSize( r.GetPosition().x, r.GetPosition().y, r.GetSize().x, r.GetSize().y, 0 );
166  }
167  else
168  {
169  // Save the dialog's position & size before hiding, using classname as key
170  EDA_RECT r( wxDialog::GetPosition(), wxDialog::GetSize() );
171  class_map[ hash_key ] = r;
172 
173  ret = wxDialog::Show( show );
174  }
175 
177 
178  return ret;
179 }
std::string m_hash_key
Definition: dialog_shim.h:128
void FixOSXCancelButtonIssue()
A ugly hack to fix an issue on OSX: when typing ctrl+c in a wxTextCtrl inside a dialog, it is closed instead of copying a text if a button with wxID_CANCEL is used in a wxStdDialogButtonSizer, when the dlg is created by wxFormBuilder: the label is &Cancel, and this accelerator key has priority to copy text standard accelerator, and the dlg is closed when trying to copy text this function do nothing on other platforms.
static RECT_MAP class_map
const wxPoint & GetPosition() const
Class EDA_RECT handles the component boundary box.
const wxSize & GetSize() const
int DIALOG_SHIM::ShowQuasiModal ( )
inherited

Definition at line 495 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 LIB_EDIT_FRAME::DeleteOnePart(), SCH_EDIT_FRAME::EditComponent(), SCH_EDIT_FRAME::EditComponentFieldText(), LIB_EDIT_FRAME::EditField(), EDIT_TOOL::ExchangeFootprints(), PCB_EDIT_FRAME::InstallExchangeModuleFrame(), LIB_EDIT_FRAME::InstallFieldsEditorDialog(), LIB_VIEW_FRAME::OnSelectSymbol(), and SCH_BASE_FRAME::SelectComponentFromLibrary().

496 {
497  // This is an exception safe way to zero a pointer before returning.
498  // Yes, even though DismissModal() clears this first normally, this is
499  // here in case there's an exception before the dialog is dismissed.
500  struct NULLER
501  {
502  void*& m_what;
503  NULLER( void*& aPtr ) : m_what( aPtr ) {}
504  ~NULLER() { m_what = 0; } // indeed, set it to NULL on destruction
505  } clear_this( (void*&) m_qmodal_loop );
506 
507  // release the mouse if it's currently captured as the window having it
508  // will be disabled when this dialog is shown -- but will still keep the
509  // capture making it impossible to do anything in the modal dialog itself
510  wxWindow* win = wxWindow::GetCapture();
511  if( win )
512  win->ReleaseMouse();
513 
514  // Get the optimal parent
515  wxWindow* parent = GetParentForModalDialog( GetParent(), GetWindowStyle() );
516 
517  // Show the optimal parent
518  DBG( if( parent ) printf( "%s: optimal parent: %s\n", __func__, typeid(*parent).name() );)
519 
520  wxASSERT_MSG( !m_qmodal_parent_disabler,
521  wxT( "Caller using ShowQuasiModal() twice on same window?" ) );
522 
523  // quasi-modal: disable only my "optimal" parent
525 
526  Show( true );
527 
528  m_qmodal_showing = true;
529 
530  EVENT_LOOP event_loop;
531 
532  m_qmodal_loop = &event_loop;
533 
534  event_loop.Run();
535 
536  return GetReturnCode();
537 }
bool m_qmodal_showing
Definition: dialog_shim.h:132
EVENT_LOOP * m_qmodal_loop
Definition: dialog_shim.h:131
bool Show(bool show) override
WDO_ENABLE_DISABLE * m_qmodal_parent_disabler
Definition: dialog_shim.h:133
Toggle a window'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 ( wxArrayString *  aMessagesList)
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(), ExecuteFile(), g_RootSheet, EDA_DRAW_FRAME::GetCanvas(), SCH_SCREEN::GetFileName(), SCH_SCREENS::GetFirst(), SCH_SCREENS::GetNext(), SCH_SHEET::GetScreen(), 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(), KIWAY_HOLDER::Prj(), QuoteFullPath(), EDA_DRAW_PANEL::Refresh(), TestDuplicateSheetNames(), 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( Prj().SchLibs() );
462 
463  if( m_parent->CheckAnnotate( aMessagesList, false ) )
464  {
465  if( aMessagesList )
466  {
467  wxString msg = _( "Annotation required!" );
468  msg += wxT( "\n" );
469  aMessagesList->Add( msg );
470  }
471 
472  return;
473  }
474 
475  SCH_SCREENS screens;
476 
477  // Erase all previous DRC markers.
479 
480  for( SCH_SCREEN* screen = screens.GetFirst(); screen != NULL; screen = screens.GetNext() )
481  {
482  /* Ff wire list has changed, delete Undo Redo list to avoid pointers on deleted
483  * data problems.
484  */
485  if( screen->SchematicCleanUp() )
486  screen->ClearUndoRedoList();
487  }
488 
489  /* Test duplicate sheet names inside a given sheet, one cannot have sheets with
490  * duplicate names (file names can be duplicated).
491  */
492  TestDuplicateSheetNames( true );
493 
494  std::unique_ptr<NETLIST_OBJECT_LIST> objectsConnectedList( m_parent->BuildNetListBase() );
495 
496  // Reset the connection type indicator
497  objectsConnectedList->ResetConnectionsType();
498 
499  unsigned lastItemIdx;
500  unsigned nextItemIdx = lastItemIdx = 0;
501  int MinConn = NOC;
502 
503  /* The netlist generated by SCH_EDIT_FRAME::BuildNetListBase is sorted
504  * by net number, which means we can group netlist items into ranges
505  * that live in the same net. The range from nextItem to the current
506  * item (exclusive) needs to be checked against the current item. The
507  * lastItem variable is used as a helper to pass the last item's number
508  * from one loop iteration to the next, which simplifies the initial
509  * pass.
510  */
511 
512  for( unsigned itemIdx = 0; itemIdx < objectsConnectedList->size(); itemIdx++ )
513  {
514  auto item = objectsConnectedList->GetItem( itemIdx );
515  auto lastItem = objectsConnectedList->GetItem( lastItemIdx );
516 
517  auto lastNet = lastItem->GetNet();
518  auto net = item->GetNet();
519 
520  wxASSERT_MSG( lastNet <= net, wxT( "Netlist not correctly ordered" ) );
521 
522  if( lastNet != net )
523  {
524  // New net found:
525  MinConn = NOC;
526  nextItemIdx = itemIdx;
527  }
528 
529  switch( item->m_Type )
530  {
531  // These items do not create erc problems
533  case NET_SEGMENT:
534  case NET_BUS:
535  case NET_JUNCTION:
536  case NET_LABEL:
537  case NET_BUSLABELMEMBER:
538  case NET_PINLABEL:
540  break;
541 
542  case NET_HIERLABEL:
544  case NET_SHEETLABEL:
546  // ERC problems when pin sheets do not match hierarchical labels.
547  // Each pin sheet must match a hierarchical label
548  // Each hierarchical label must match a pin sheet
549  objectsConnectedList->TestforNonOrphanLabel( itemIdx, nextItemIdx );
550  break;
551  case NET_GLOBLABEL:
553  objectsConnectedList->TestforNonOrphanLabel( itemIdx, nextItemIdx );
554  break;
555 
556  case NET_NOCONNECT:
557 
558  // ERC problems when a noconnect symbol is connected to more than one pin.
559  MinConn = NET_NC;
560 
561  if( objectsConnectedList->CountPinsInNet( nextItemIdx ) > 1 )
562  Diagnose( item, NULL, MinConn, UNC );
563 
564  break;
565 
566  case NET_PIN:
567 
568  // Look for ERC problems between pins:
569  TestOthersItems( objectsConnectedList.get(), itemIdx, nextItemIdx, &MinConn );
570  break;
571  }
572 
573  lastItemIdx = itemIdx;
574  }
575 
576  // Test similar labels (i;e. labels which are identical when
577  // using case insensitive comparisons)
578  if( m_TestSimilarLabels )
579  objectsConnectedList->TestforSimilarLabels();
580 
581  // Displays global results:
582  updateMarkerCounts( &screens );
583 
584  // Display diags:
586 
587  // Display new markers:
588  m_parent->GetCanvas()->Refresh();
589 
590  // Display message
591  wxString msg = _( "Finished" );
592  msg += wxT( "\n" );
593  aMessagesList->Add( msg );
594 
595  if( m_writeErcFile )
596  {
597  fn = g_RootSheet->GetScreen()->GetFileName();
598  fn.SetExt( wxT( "erc" ) );
599 
600  wxFileDialog dlg( this, _( "ERC File" ), fn.GetPath(), fn.GetFullName(),
601  _( "Electronic rule check file (.erc)|*.erc" ),
602  wxFD_SAVE );
603 
604  if( dlg.ShowModal() == wxID_CANCEL )
605  return;
606 
607  if( WriteDiagnosticERC( dlg.GetPath() ) )
608  ExecuteFile( this, Pgm().GetEditorName(), QuoteFullPath( fn ) );
609  }
610 }
Class SCH_SHEET_LIST.
static bool m_TestSimilarLabels
Definition: dialog_erc.h:51
SCH_SCREEN * GetNext()
NETLIST_OBJECT_LIST * BuildNetListBase(bool updateStatusText=true)
BuildNetListBase netlist generation: Creates a flat list which stores all connected objects...
void DeleteAllMarkers(enum MARKER_BASE::TYPEMARKER aMarkerType)
Function DeleteAllMarkers deletes all electronic rules check markers of aMarkerType from all the scre...
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:372
static bool m_writeErcFile
Definition: dialog_erc.h:46
virtual void Refresh(bool eraseBackground=true, const wxRect *rect=NULL) override
Definition: draw_panel.cpp:326
EDA_DRAW_PANEL * GetCanvas()
Definition: draw_frame.h:299
int CheckAnnotate(wxArrayString *aMessageList, bool aOneSheetOnly)
Function CheckAnnotate checks for annotation errors.
Definition: annotate.cpp:187
const wxString & GetFileName() const
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:228
PGM_BASE & Pgm()
The global Program "get" accessor.
Definition: kicad.cpp:65
SCH_SCREEN * GetScreen()
Definition: sch_sheet.h:286
bool WriteDiagnosticERC(const wxString &aFullFileName)
Function WriteDiagnosticERC save the ERC errors to aFullFileName.
Definition: erc.cpp:525
PROJECT & Prj() const
Function Prj returns a reference to the PROJECT "associated with" this KIWAY.
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:54
Definition: erc.h:45
SCH_EDIT_FRAME * m_parent
Definition: dialog_erc.h:42
wxCheckBox * m_cbTestUniqueGlbLabels
#define NOC
Definition: erc.h:69
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:120
static bool m_tstUniqueGlobalLabels
Definition: dialog_erc.h:48
wxCheckBox * m_WriteResultOpt
SCH_SCREEN * GetFirst()
#define NET_NC
Definition: erc.h:67
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
Class SCH_SCREENS is a container class that holds multiple SCH_SCREENs in a hierarchy.
void DisplayERC_MarkersList()
Definition: dialog_erc.cpp:377
wxCheckBox * m_cbTestSimilarLabels
void DIALOG_ERC::updateMarkerCounts ( SCH_SCREENS screens)
private

Definition at line 120 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().

121 {
122  int markers = screens->GetMarkerCount( MARKER_BASE::MARKER_ERC,
124  int warnings = screens->GetMarkerCount( MARKER_BASE::MARKER_ERC,
126  int errors = screens->GetMarkerCount( MARKER_BASE::MARKER_ERC,
128 
129  wxString num;
130  num.Printf( wxT( "%d" ), markers );
131  m_TotalErrCount->SetValue( num );
132 
133  num.Printf( wxT( "%d" ), errors );
134  m_LastErrCount->SetValue( num );
135 
136  num.Printf( wxT( "%d" ), warnings );
137  m_LastWarningCount->SetValue( num );
138 }
wxTextCtrl * m_TotalErrCount
wxTextCtrl * m_LastWarningCount
int GetMarkerCount(enum MARKER_BASE::TYPEMARKER aMarkerType, enum MARKER_BASE::MARKER_SEVERITY aSeverity)
Function GetMarkerCount returns the number of ERC markers of aMarkerType from all of the screens in t...
wxTextCtrl * m_LastErrCount

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 54 of file dialog_erc_base.h.

Referenced by DIALOG_ERC_BASE::DIALOG_ERC_BASE().

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 59 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 58 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 57 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 72 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 63 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 52 of file dialog_erc_base.h.

Referenced by DIALOG_ERC_BASE::DIALOG_ERC_BASE().

wxPanel* DIALOG_ERC_BASE::m_PanelERC
protectedinherited

Definition at line 53 of file dialog_erc_base.h.

Referenced by DIALOG_ERC_BASE::DIALOG_ERC_BASE().

wxPanel* DIALOG_ERC_BASE::m_PanelERCOptions
protectedinherited

Definition at line 69 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 131 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 60 of file dialog_erc_base.h.

Referenced by DIALOG_ERC_BASE::DIALOG_ERC_BASE().

wxStaticLine* DIALOG_ERC_BASE::m_staticline2
protectedinherited

Definition at line 73 of file dialog_erc_base.h.

Referenced by DIALOG_ERC_BASE::DIALOG_ERC_BASE().

wxStaticText* DIALOG_ERC_BASE::m_staticText8
protectedinherited

Definition at line 71 of file dialog_erc_base.h.

Referenced by DIALOG_ERC_BASE::DIALOG_ERC_BASE().

wxStaticText* DIALOG_ERC_BASE::m_staticText9
protectedinherited

Definition at line 74 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 64 of file dialog_erc_base.h.

Referenced by DIALOG_ERC_BASE::DIALOG_ERC_BASE().

wxStaticText* DIALOG_ERC_BASE::m_titleMessages
protectedinherited

Definition at line 62 of file dialog_erc_base.h.

Referenced by DIALOG_ERC_BASE::DIALOG_ERC_BASE().

wxTextCtrl* DIALOG_ERC_BASE::m_TotalErrCount
protectedinherited

Definition at line 55 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 56 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 61 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: