diff --git a/common/dialogs/dialog_grid_settings.cpp b/common/dialogs/dialog_grid_settings.cpp
index 42f7ccce01..54cc3a7b15 100644
--- a/common/dialogs/dialog_grid_settings.cpp
+++ b/common/dialogs/dialog_grid_settings.cpp
@@ -55,15 +55,22 @@ DIALOG_GRID_SETTINGS::DIALOG_GRID_SETTINGS( wxWindow* aParent, wxWindow* aEventS
bool DIALOG_GRID_SETTINGS::TransferDataFromWindow()
{
double gridX = m_gridSizeX.GetDoubleValue();
- double gridY = m_checkLinked->IsChecked() ? gridX : m_gridSizeY.GetDoubleValue();
- if( gridX <= 0.0f || gridY <= 0.0f )
+ if( !m_gridSizeX.Validate( 0.001, 1000.0, EDA_UNITS::MILLIMETRES ) )
{
- wxMessageBox( _( "Grid size must be greater than zero." ), _( "Error" ),
- wxOK | wxICON_ERROR );
+ wxMessageBox( _( "Grid size X out of range." ), _( "Error" ), wxOK | wxICON_ERROR );
return false;
}
+ if( !m_checkLinked->IsChecked()
+ && !m_gridSizeY.Validate( 0.001, 1000.0, EDA_UNITS::MILLIMETRES ) )
+ {
+ wxMessageBox( _( "Grid size Y out of range." ), _( "Error" ), wxOK | wxICON_ERROR );
+ return false;
+ }
+
+ double gridY = m_checkLinked->IsChecked() ? gridX : m_gridSizeY.GetDoubleValue();
+
m_grid.name = m_textName->GetValue();
// Grid X/Y are always stored in millimeters so we can compare them easily
m_grid.x = EDA_UNIT_UTILS::UI::StringFromValue( m_unitsProvider->GetIuScale(),
diff --git a/common/dialogs/panel_grid_settings.cpp b/common/dialogs/panel_grid_settings.cpp
index 241bb47f8f..9469d44f97 100644
--- a/common/dialogs/panel_grid_settings.cpp
+++ b/common/dialogs/panel_grid_settings.cpp
@@ -42,30 +42,20 @@ PANEL_GRID_SETTINGS::PANEL_GRID_SETTINGS( wxWindow* aParent, UNITS_PROVIDER* aUn
FRAME_T aFrameType ) :
PANEL_GRID_SETTINGS_BASE( aParent ),
m_unitsProvider( aUnitsProvider ), m_cfg( aCfg ), m_frameType( aFrameType ),
- m_eventSource( aEventSource ),
- m_gridOverrideConnected( aUnitsProvider, aEventSource, m_staticTextConnected,
- m_GridOverrideConnectedSize, m_staticTextConnectedUnits ),
- m_gridOverrideWires( aUnitsProvider, aEventSource, m_staticTextWires,
- m_GridOverrideWiresSize, m_staticTextWiresUnits ),
- m_gridOverrideVias( aUnitsProvider, aEventSource, m_staticTextVias, m_GridOverrideViasSize,
- m_staticTextViasUnits ),
- m_gridOverrideText( aUnitsProvider, aEventSource, m_staticTextText, m_GridOverrideTextSize,
- m_staticTextTextUnits ),
- m_gridOverrideGraphics( aUnitsProvider, aEventSource, m_staticTextGraphics,
- m_GridOverrideGraphicsSize, m_staticTextGraphicsUnits )
+ m_eventSource( aEventSource )
{
RebuildGridSizes();
if( m_frameType == FRAME_PCB_EDITOR || m_frameType == FRAME_FOOTPRINT_EDITOR )
{
- m_staticTextConnected->SetLabel( wxT( "Footprints/pads:" ) );
- m_staticTextWires->SetLabel( wxT( "Tracks:" ) );
+ m_checkGridOverrideConnected->SetLabel( wxT( "Footprints/pads:" ) );
+ m_checkGridOverrideWires->SetLabel( wxT( "Tracks:" ) );
}
else
{
- m_GridOverrideViasSize->SetValue( wxT( "50 mil" ) );
+ m_gridOverrideViasChoice->SetSelection( 0 );
+ m_gridOverrideViasChoice->Show( false );
m_checkGridOverrideVias->Show( false );
- m_gridOverrideVias.Show( false );
if( m_frameType != FRAME_SCH
&& m_frameType != FRAME_SCH_SYMBOL_EDITOR
@@ -74,10 +64,10 @@ PANEL_GRID_SETTINGS::PANEL_GRID_SETTINGS( wxWindow* aParent, UNITS_PROVIDER* aUn
&& m_frameType != FRAME_SIMULATOR )
{
m_checkGridOverrideConnected->Show( false );
- m_gridOverrideConnected.Show( false );
+ m_gridOverrideConnectedChoice->Show( false );
m_checkGridOverrideWires->Show( false );
- m_gridOverrideWires.Show( false );
+ m_gridOverrideWiresChoice->Show( false );
}
}
@@ -106,9 +96,16 @@ void PANEL_GRID_SETTINGS::ResetPanel()
void PANEL_GRID_SETTINGS::RebuildGridSizes()
{
wxString savedCurrentGrid = m_currentGridCtrl->GetStringSelection();
+
wxString savedGrid1 = m_grid1Ctrl->GetStringSelection();
wxString savedGrid2 = m_grid2Ctrl->GetStringSelection();
+ wxString savedConnectables = m_gridOverrideConnectedChoice->GetStringSelection();
+ wxString savedWires = m_gridOverrideWiresChoice->GetStringSelection();
+ wxString savedVias = m_gridOverrideViasChoice->GetStringSelection();
+ wxString savedText = m_gridOverrideTextChoice->GetStringSelection();
+ wxString savedGraphics = m_gridOverrideGraphicsChoice->GetStringSelection();
+
wxArrayString grids;
wxString msg;
EDA_IU_SCALE scale = m_unitsProvider->GetIuScale();
@@ -131,9 +128,16 @@ void PANEL_GRID_SETTINGS::RebuildGridSizes()
}
m_currentGridCtrl->Set( grids );
+
m_grid1Ctrl->Set( grids );
m_grid2Ctrl->Set( grids );
+ m_gridOverrideConnectedChoice->Set( grids );
+ m_gridOverrideWiresChoice->Set( grids );
+ m_gridOverrideViasChoice->Set( grids );
+ m_gridOverrideTextChoice->Set( grids );
+ m_gridOverrideGraphicsChoice->Set( grids );
+
if( !m_currentGridCtrl->SetStringSelection( savedCurrentGrid ) )
m_currentGridCtrl->SetStringSelection( grids.front() );
@@ -142,36 +146,44 @@ void PANEL_GRID_SETTINGS::RebuildGridSizes()
if( !m_grid2Ctrl->SetStringSelection( savedGrid2 ) )
m_grid2Ctrl->SetStringSelection( grids.back() );
+
+ if( !m_gridOverrideConnectedChoice->SetStringSelection( savedConnectables ) )
+ m_gridOverrideConnectedChoice->SetStringSelection( grids.front() );
+
+ if( !m_gridOverrideWiresChoice->SetStringSelection( savedWires ) )
+ m_gridOverrideWiresChoice->SetStringSelection( grids.front() );
+
+ if( !m_gridOverrideViasChoice->SetStringSelection( savedVias ) )
+ m_gridOverrideViasChoice->SetStringSelection( grids.front() );
+
+ if( !m_gridOverrideTextChoice->SetStringSelection( savedText ) )
+ m_gridOverrideTextChoice->SetStringSelection( grids.front() );
+
+ if( !m_gridOverrideGraphicsChoice->SetStringSelection( savedGraphics ) )
+ m_gridOverrideGraphicsChoice->SetStringSelection( grids.front() );
}
bool PANEL_GRID_SETTINGS::TransferDataFromWindow()
{
- // Validate new settings
- for( UNIT_BINDER* entry : { &m_gridOverrideConnected, &m_gridOverrideWires,
- &m_gridOverrideVias, &m_gridOverrideText, &m_gridOverrideGraphics } )
- {
- if( !entry->Validate( 0.001, 1000.0, EDA_UNITS::MILLIMETRES ) )
- return false;
- }
-
// Apply the new settings
GRID_SETTINGS& gridCfg = m_cfg->m_Window.grid;
gridCfg.last_size_idx = m_currentGridCtrl->GetSelection();
+
gridCfg.fast_grid_1 = m_grid1Ctrl->GetSelection();
gridCfg.fast_grid_2 = m_grid2Ctrl->GetSelection();
gridCfg.override_connected = m_checkGridOverrideConnected->GetValue();
- gridCfg.override_connected_size = m_unitsProvider->StringFromValue( m_gridOverrideConnected.GetValue(), true );
+ gridCfg.override_connected_idx = m_gridOverrideConnectedChoice->GetSelection();
gridCfg.override_wires = m_checkGridOverrideWires->GetValue();
- gridCfg.override_wires_size = m_unitsProvider->StringFromValue( m_gridOverrideWires.GetValue(), true );
+ gridCfg.override_wires_idx = m_gridOverrideWiresChoice->GetSelection();
gridCfg.override_vias = m_checkGridOverrideVias->GetValue();
- gridCfg.override_vias_size = m_unitsProvider->StringFromValue( m_gridOverrideVias.GetValue(), true );
+ gridCfg.override_vias_idx = m_gridOverrideViasChoice->GetSelection();
gridCfg.override_text = m_checkGridOverrideText->GetValue();
- gridCfg.override_text_size = m_unitsProvider->StringFromValue( m_gridOverrideText.GetValue(), true );
+ gridCfg.override_text_idx = m_gridOverrideTextChoice->GetSelection();
gridCfg.override_graphics = m_checkGridOverrideGraphics->GetValue();
- gridCfg.override_graphics_size = m_unitsProvider->StringFromValue( m_gridOverrideGraphics.GetValue(), true );
+ gridCfg.override_graphics_idx = m_gridOverrideGraphicsChoice->GetSelection();
return RESETTABLE_PANEL::TransferDataFromWindow();
}
@@ -181,24 +193,33 @@ bool PANEL_GRID_SETTINGS::TransferDataToWindow()
{
GRID_SETTINGS& gridCfg = m_cfg->m_Window.grid;
+ // lambda that gives us a safe index into grids regardless of config idx
+ auto safeGrid = [&gridCfg]( int idx ) -> int
+ {
+ if( idx < 0 || idx >= (int) gridCfg.grids.size() )
+ return 0;
+
+ return idx;
+ };
+
Layout();
- m_currentGridCtrl->SetSelection( gridCfg.last_size_idx );
+ m_currentGridCtrl->SetSelection( safeGrid( gridCfg.last_size_idx ) );
- m_gridOverrideConnected.SetValue( m_unitsProvider->ValueFromString( gridCfg.override_connected_size ) );
- m_gridOverrideWires.SetValue( m_unitsProvider->ValueFromString( gridCfg.override_wires_size ) );
- m_gridOverrideVias.SetValue( m_unitsProvider->ValueFromString( gridCfg.override_vias_size ) );
- m_gridOverrideText.SetValue( m_unitsProvider->ValueFromString( gridCfg.override_text_size ) );
- m_gridOverrideGraphics.SetValue( m_unitsProvider->ValueFromString( gridCfg.override_graphics_size ) );
+ m_grid1Ctrl->SetSelection( safeGrid( gridCfg.fast_grid_1 ) );
+ m_grid2Ctrl->SetSelection( safeGrid( gridCfg.fast_grid_2 ) );
- m_checkGridOverrideConnected->SetValue( gridCfg.override_connected );
- m_checkGridOverrideWires->SetValue( gridCfg.override_wires );
- m_checkGridOverrideVias->SetValue( gridCfg.override_vias );
- m_checkGridOverrideText->SetValue( gridCfg.override_text );
- m_checkGridOverrideGraphics->SetValue( gridCfg.override_graphics );
+ m_gridOverrideConnectedChoice->SetSelection( safeGrid( gridCfg.override_connected_idx ) );
+ m_gridOverrideWiresChoice->SetSelection( safeGrid( gridCfg.override_wires_idx ) );
+ m_gridOverrideViasChoice->SetSelection( safeGrid( gridCfg.override_vias_idx ) );
+ m_gridOverrideTextChoice->SetSelection( safeGrid( gridCfg.override_text_idx ) );
+ m_gridOverrideGraphicsChoice->SetSelection( safeGrid( gridCfg.override_graphics_idx ) );
- m_grid1Ctrl->SetSelection( gridCfg.fast_grid_1 );
- m_grid2Ctrl->SetSelection( gridCfg.fast_grid_2 );
+ m_checkGridOverrideConnected->SetValue( safeGrid( gridCfg.override_connected ) );
+ m_checkGridOverrideWires->SetValue( safeGrid( gridCfg.override_wires ) );
+ m_checkGridOverrideVias->SetValue( safeGrid( gridCfg.override_vias ) );
+ m_checkGridOverrideText->SetValue( safeGrid( gridCfg.override_text ) );
+ m_checkGridOverrideGraphics->SetValue( safeGrid( gridCfg.override_graphics ) );
return RESETTABLE_PANEL::TransferDataToWindow();
}
diff --git a/common/dialogs/panel_grid_settings_base.cpp b/common/dialogs/panel_grid_settings_base.cpp
index 007c96ee62..284c981076 100644
--- a/common/dialogs/panel_grid_settings_base.cpp
+++ b/common/dialogs/panel_grid_settings_base.cpp
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////
-// C++ code generated with wxFormBuilder (version 3.10.1-0-g8feb16b)
+// C++ code generated with wxFormBuilder (version 3.10.1-0-g8feb16b3)
// http://www.wxformbuilder.org/
//
// PLEASE DO *NOT* EDIT THIS FILE!
@@ -111,90 +111,50 @@ PANEL_GRID_SETTINGS_BASE::PANEL_GRID_SETTINGS_BASE( wxWindow* parent, wxWindowID
bSizerRightCol->Add( m_staticline3, 0, wxEXPAND|wxTOP|wxBOTTOM, 2 );
wxFlexGridSizer* fgGridOverrides;
- fgGridOverrides = new wxFlexGridSizer( 5, 4, 4, 0 );
- fgGridOverrides->AddGrowableCol( 2 );
+ fgGridOverrides = new wxFlexGridSizer( 0, 2, 4, 0 );
+ fgGridOverrides->AddGrowableCol( 1 );
fgGridOverrides->SetFlexibleDirection( wxBOTH );
fgGridOverrides->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
- m_checkGridOverrideConnected = new wxCheckBox( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
- fgGridOverrides->Add( m_checkGridOverrideConnected, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxLEFT, 8 );
+ m_checkGridOverrideConnected = new wxCheckBox( this, wxID_ANY, _("Connected items:"), wxDefaultPosition, wxDefaultSize, 0 );
+ fgGridOverrides->Add( m_checkGridOverrideConnected, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxLEFT, 8 );
- m_staticTextConnected = new wxStaticText( this, wxID_ANY, _("Connected items:"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT );
- m_staticTextConnected->Wrap( -1 );
- fgGridOverrides->Add( m_staticTextConnected, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxLEFT, 5 );
+ wxArrayString m_gridOverrideConnectedChoiceChoices;
+ m_gridOverrideConnectedChoice = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_gridOverrideConnectedChoiceChoices, 0 );
+ m_gridOverrideConnectedChoice->SetSelection( 0 );
+ fgGridOverrides->Add( m_gridOverrideConnectedChoice, 0, wxALL, 5 );
- m_GridOverrideConnectedSize = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
- m_GridOverrideConnectedSize->SetMinSize( wxSize( 80,-1 ) );
+ m_checkGridOverrideWires = new wxCheckBox( this, wxID_ANY, _("Wires:"), wxDefaultPosition, wxDefaultSize, 0 );
+ fgGridOverrides->Add( m_checkGridOverrideWires, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxLEFT, 8 );
- fgGridOverrides->Add( m_GridOverrideConnectedSize, 0, wxEXPAND|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
+ wxArrayString m_gridOverrideWiresChoiceChoices;
+ m_gridOverrideWiresChoice = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_gridOverrideWiresChoiceChoices, 0 );
+ m_gridOverrideWiresChoice->SetSelection( 0 );
+ fgGridOverrides->Add( m_gridOverrideWiresChoice, 0, wxALL, 5 );
- m_staticTextConnectedUnits = new wxStaticText( this, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextConnectedUnits->Wrap( -1 );
- fgGridOverrides->Add( m_staticTextConnectedUnits, 0, wxALIGN_CENTER_VERTICAL, 5 );
+ m_checkGridOverrideVias = new wxCheckBox( this, wxID_ANY, _("Vias:"), wxDefaultPosition, wxDefaultSize, 0 );
+ fgGridOverrides->Add( m_checkGridOverrideVias, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxLEFT, 8 );
- m_checkGridOverrideWires = new wxCheckBox( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
- fgGridOverrides->Add( m_checkGridOverrideWires, 0, wxALIGN_CENTER|wxALIGN_CENTER_HORIZONTAL|wxLEFT, 8 );
+ wxArrayString m_gridOverrideViasChoiceChoices;
+ m_gridOverrideViasChoice = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_gridOverrideViasChoiceChoices, 0 );
+ m_gridOverrideViasChoice->SetSelection( 0 );
+ fgGridOverrides->Add( m_gridOverrideViasChoice, 0, wxALL, 5 );
- m_staticTextWires = new wxStaticText( this, wxID_ANY, _("Wires:"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT );
- m_staticTextWires->Wrap( -1 );
- fgGridOverrides->Add( m_staticTextWires, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
+ m_checkGridOverrideText = new wxCheckBox( this, wxID_ANY, _("Text:"), wxDefaultPosition, wxDefaultSize, 0 );
+ fgGridOverrides->Add( m_checkGridOverrideText, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxLEFT, 8 );
- m_GridOverrideWiresSize = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
- m_GridOverrideWiresSize->SetMinSize( wxSize( 80,-1 ) );
+ wxArrayString m_gridOverrideTextChoiceChoices;
+ m_gridOverrideTextChoice = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_gridOverrideTextChoiceChoices, 0 );
+ m_gridOverrideTextChoice->SetSelection( 0 );
+ fgGridOverrides->Add( m_gridOverrideTextChoice, 0, wxALL, 5 );
- fgGridOverrides->Add( m_GridOverrideWiresSize, 0, wxEXPAND|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
+ m_checkGridOverrideGraphics = new wxCheckBox( this, wxID_ANY, _("Graphics:"), wxDefaultPosition, wxDefaultSize, 0 );
+ fgGridOverrides->Add( m_checkGridOverrideGraphics, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxLEFT, 8 );
- m_staticTextWiresUnits = new wxStaticText( this, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextWiresUnits->Wrap( -1 );
- fgGridOverrides->Add( m_staticTextWiresUnits, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT, 5 );
-
- m_checkGridOverrideVias = new wxCheckBox( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
- fgGridOverrides->Add( m_checkGridOverrideVias, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 8 );
-
- m_staticTextVias = new wxStaticText( this, wxID_ANY, _("Vias:"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextVias->Wrap( -1 );
- fgGridOverrides->Add( m_staticTextVias, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
-
- m_GridOverrideViasSize = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
- m_GridOverrideViasSize->SetMinSize( wxSize( 80,-1 ) );
-
- fgGridOverrides->Add( m_GridOverrideViasSize, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT|wxLEFT, 5 );
-
- m_staticTextViasUnits = new wxStaticText( this, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextViasUnits->Wrap( -1 );
- fgGridOverrides->Add( m_staticTextViasUnits, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
- m_checkGridOverrideText = new wxCheckBox( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
- fgGridOverrides->Add( m_checkGridOverrideText, 0, wxALIGN_CENTER|wxLEFT, 8 );
-
- m_staticTextText = new wxStaticText( this, wxID_ANY, _("Text:"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT );
- m_staticTextText->Wrap( -1 );
- fgGridOverrides->Add( m_staticTextText, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxLEFT, 5 );
-
- m_GridOverrideTextSize = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
- m_GridOverrideTextSize->SetMinSize( wxSize( 80,-1 ) );
-
- fgGridOverrides->Add( m_GridOverrideTextSize, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
-
- m_staticTextTextUnits = new wxStaticText( this, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT );
- m_staticTextTextUnits->Wrap( -1 );
- fgGridOverrides->Add( m_staticTextTextUnits, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT, 5 );
-
- m_checkGridOverrideGraphics = new wxCheckBox( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
- fgGridOverrides->Add( m_checkGridOverrideGraphics, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 8 );
-
- m_staticTextGraphics = new wxStaticText( this, wxID_ANY, _("Graphics:"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT );
- m_staticTextGraphics->Wrap( -1 );
- fgGridOverrides->Add( m_staticTextGraphics, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
-
- m_GridOverrideGraphicsSize = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
- m_GridOverrideGraphicsSize->SetMinSize( wxSize( 80,-1 ) );
-
- fgGridOverrides->Add( m_GridOverrideGraphicsSize, 0, wxEXPAND|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
-
- m_staticTextGraphicsUnits = new wxStaticText( this, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT );
- m_staticTextGraphicsUnits->Wrap( -1 );
- fgGridOverrides->Add( m_staticTextGraphicsUnits, 0, wxALIGN_CENTER_VERTICAL, 5 );
+ wxArrayString m_gridOverrideGraphicsChoiceChoices;
+ m_gridOverrideGraphicsChoice = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_gridOverrideGraphicsChoiceChoices, 0 );
+ m_gridOverrideGraphicsChoice->SetSelection( 0 );
+ fgGridOverrides->Add( m_gridOverrideGraphicsChoice, 0, wxALL, 5 );
bSizerRightCol->Add( fgGridOverrides, 0, wxEXPAND|wxTOP|wxBOTTOM|wxRIGHT, 10 );
diff --git a/common/dialogs/panel_grid_settings_base.fbp b/common/dialogs/panel_grid_settings_base.fbp
index 6058331265..2660fa64c2 100644
--- a/common/dialogs/panel_grid_settings_base.fbp
+++ b/common/dialogs/panel_grid_settings_base.fbp
@@ -1170,20 +1170,20 @@
wxEXPAND|wxTOP|wxBOTTOM|wxRIGHT
0