Commit c29ee59c authored by Mark Roszko's avatar Mark Roszko

Centralize error count update logic, clear the count on marker deletion.

parent 1d80fb74
...@@ -88,8 +88,21 @@ void DIALOG_ERC::Init() ...@@ -88,8 +88,21 @@ void DIALOG_ERC::Init()
m_WriteResultOpt->SetValue( m_writeErcFile ); m_WriteResultOpt->SetValue( m_writeErcFile );
SCH_SCREENS screens; SCH_SCREENS screens;
int markers = screens.GetMarkerCount(); updateMarkerCounts( &screens );
int warnings = screens.GetMarkerCount( WAR );
DisplayERC_MarkersList();
// Init Panel Matrix
ReBuildMatrixPanel();
// Set the run ERC button as the default button.
m_buttonERC->SetDefault();
}
void DIALOG_ERC::updateMarkerCounts( SCH_SCREENS *screens )
{
int markers = screens->GetMarkerCount();
int warnings = screens->GetMarkerCount( WAR );
wxString num; wxString num;
num.Printf( wxT( "%d" ), markers ); num.Printf( wxT( "%d" ), markers );
...@@ -100,14 +113,6 @@ void DIALOG_ERC::Init() ...@@ -100,14 +113,6 @@ void DIALOG_ERC::Init()
num.Printf( wxT( "%d" ), warnings ); num.Printf( wxT( "%d" ), warnings );
m_LastWarningCount->SetValue( num ); m_LastWarningCount->SetValue( num );
DisplayERC_MarkersList();
// Init Panel Matrix
ReBuildMatrixPanel();
// Set the run ERC button as the default button.
m_buttonERC->SetDefault();
} }
/* Delete the old ERC markers, over the whole hierarchy /* Delete the old ERC markers, over the whole hierarchy
...@@ -117,6 +122,8 @@ void DIALOG_ERC::OnEraseDrcMarkersClick( wxCommandEvent& event ) ...@@ -117,6 +122,8 @@ void DIALOG_ERC::OnEraseDrcMarkersClick( wxCommandEvent& event )
SCH_SCREENS ScreenList; SCH_SCREENS ScreenList;
ScreenList.DeleteAllMarkers( MARK_ERC ); ScreenList.DeleteAllMarkers( MARK_ERC );
updateMarkerCounts( &ScreenList );
m_MarkersList->ClearList(); m_MarkersList->ClearList();
m_parent->GetCanvas()->Refresh(); m_parent->GetCanvas()->Refresh();
} }
...@@ -521,18 +528,7 @@ void DIALOG_ERC::TestErc( wxArrayString* aMessagesList ) ...@@ -521,18 +528,7 @@ void DIALOG_ERC::TestErc( wxArrayString* aMessagesList )
} }
// Displays global results: // Displays global results:
wxString num; updateMarkerCounts(&screens);
int markers = screens.GetMarkerCount();
int warnings = screens.GetMarkerCount( WAR );
num.Printf( wxT( "%d" ), markers );
m_TotalErrCount->SetValue( num );
num.Printf( wxT( "%d" ), markers - warnings );
m_LastErrCount->SetValue( num );
num.Printf( wxT( "%d" ), warnings );
m_LastWarningCount->SetValue( num );
// Display diags: // Display diags:
DisplayERC_MarkersList(); DisplayERC_MarkersList();
......
...@@ -62,6 +62,7 @@ private: ...@@ -62,6 +62,7 @@ private:
void ChangeErrorLevel( wxCommandEvent& event ); void ChangeErrorLevel( wxCommandEvent& event );
void ReBuildMatrixPanel(); void ReBuildMatrixPanel();
void setDRCMatrixButtonState( wxBitmapButton *aButton, int aState ); void setDRCMatrixButtonState( wxBitmapButton *aButton, int aState );
void updateMarkerCounts( SCH_SCREENS *screens );
}; };
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment