diff --git a/pcbnew/dialogs/panel_setup_netclasses.cpp b/pcbnew/dialogs/panel_setup_netclasses.cpp index 4d88df75f6..8b214a50e1 100644 --- a/pcbnew/dialogs/panel_setup_netclasses.cpp +++ b/pcbnew/dialogs/panel_setup_netclasses.cpp @@ -64,11 +64,18 @@ PANEL_SETUP_NETCLASSES::PANEL_SETUP_NETCLASSES( PAGED_DIALOG* aParent, PCB_EDIT_ m_netclassesDirty = true; m_originalColWidths = new int[ m_netclassGrid->GetNumberCols() ]; + // Calculate a min best size to handle longest usual numeric values: + // (The 'M' large char is used to give a margin) + int min_best_width = m_netclassGrid->GetTextExtent( "555,555555 milsM" ).x; for( int i = 0; i < m_netclassGrid->GetNumberCols(); ++i ) { - m_originalColWidths[ i ] = m_netclassGrid->GetVisibleWidth( i, true, true, true ); - m_netclassGrid->SetColMinimalWidth( i, m_originalColWidths[ i ] ); + // We calculate the column min size only from texts sizes, not using the initial col width + // as this initial width is sometimes strange depending on the language (wxGrid bug?) + int min_width = m_netclassGrid->GetVisibleWidth( i, true, true, false ); + m_netclassGrid->SetColMinimalWidth( i, min_width ); + // We use a "best size" >= min_best_width + m_originalColWidths[ i ] = std::max( min_width, min_best_width ); m_netclassGrid->SetColSize( i, m_originalColWidths[ i ] ); } diff --git a/pcbnew/dialogs/panel_setup_netclasses_base.cpp b/pcbnew/dialogs/panel_setup_netclasses_base.cpp index 9e978eb7b4..b8a712845f 100644 --- a/pcbnew/dialogs/panel_setup_netclasses_base.cpp +++ b/pcbnew/dialogs/panel_setup_netclasses_base.cpp @@ -57,7 +57,7 @@ PANEL_SETUP_NETCLASSES_BASE::PANEL_SETUP_NETCLASSES_BASE( wxWindow* parent, wxWi m_netclassGrid->SetColLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER ); // Rows - m_netclassGrid->EnableDragRowSize( false ); + m_netclassGrid->EnableDragRowSize( true ); m_netclassGrid->SetRowLabelSize( 0 ); m_netclassGrid->SetRowLabelValue( 0, _("Default") ); m_netclassGrid->SetRowLabelAlignment( wxALIGN_LEFT, wxALIGN_CENTER ); diff --git a/pcbnew/dialogs/panel_setup_netclasses_base.fbp b/pcbnew/dialogs/panel_setup_netclasses_base.fbp index 5900caec76..887686f1a0 100644 --- a/pcbnew/dialogs/panel_setup_netclasses_base.fbp +++ b/pcbnew/dialogs/panel_setup_netclasses_base.fbp @@ -117,7 +117,7 @@ 0 1 0 - 0 + 1 1 1