Performance improvement for adding/removing dielectric layers.

(Roughly a 10X speedup on Mac.)
This commit is contained in:
Jeff Young 2021-06-27 09:38:11 +01:00
parent ff2190630e
commit 1fcd7992a0
1 changed files with 4 additions and 3 deletions

View File

@ -773,6 +773,9 @@ BOARD_STACKUP_ROW_UI_ITEM PANEL_SETUP_BOARD_STACKUP::createRowData( int aRow,
void PANEL_SETUP_BOARD_STACKUP::rebuildLayerStackPanel() void PANEL_SETUP_BOARD_STACKUP::rebuildLayerStackPanel()
{ {
wxWindowUpdateLocker locker( m_scGridWin );
m_scGridWin->Hide();
// Rebuild the stackup for the dialog, after dielectric parameters list is modified // Rebuild the stackup for the dialog, after dielectric parameters list is modified
// (added/removed): // (added/removed):
@ -832,13 +835,12 @@ void PANEL_SETUP_BOARD_STACKUP::rebuildLayerStackPanel()
showOnlyActiveLayers(); showOnlyActiveLayers();
m_scGridWin->Layout(); m_scGridWin->Layout();
m_scGridWin->Show();
} }
void PANEL_SETUP_BOARD_STACKUP::buildLayerStackPanel( bool aCreatedInitialStackup ) void PANEL_SETUP_BOARD_STACKUP::buildLayerStackPanel( bool aCreatedInitialStackup )
{ {
wxWindowUpdateLocker locker( m_scGridWin );
// Build a full stackup for the dialog, with a active copper layer count // Build a full stackup for the dialog, with a active copper layer count
// = current board layer count to calculate a reasonable default stackup: // = current board layer count to calculate a reasonable default stackup:
if( aCreatedInitialStackup ) if( aCreatedInitialStackup )
@ -894,7 +896,6 @@ void PANEL_SETUP_BOARD_STACKUP::buildLayerStackPanel( bool aCreatedInitialStacku
} }
updateIconColor(); updateIconColor();
m_scGridWin->Layout();
} }