From 4558aff24bc4a0df621faf1069b307b714e8ff59 Mon Sep 17 00:00:00 2001 From: Jeff Young Date: Sat, 19 Sep 2020 20:41:54 +0100 Subject: [PATCH] Add textVar cross-reference support to Dimensions. Also adjusts spacing in the dialog. Fixes https://gitlab.com/kicad/code/kicad/issues/5664 --- pcbnew/class_board.cpp | 99 ++++++++ pcbnew/class_board.h | 6 + .../dialogs/dialog_dimension_properties.cpp | 16 +- .../dialog_dimension_properties_base.cpp | 146 ++++++----- .../dialog_dimension_properties_base.fbp | 236 +++++++----------- .../dialog_dimension_properties_base.h | 4 +- pcbnew/dialogs/dialog_text_properties.cpp | 107 +------- pcbnew/dialogs/dialog_text_properties.h | 3 - 8 files changed, 282 insertions(+), 335 deletions(-) diff --git a/pcbnew/class_board.cpp b/pcbnew/class_board.cpp index 56456049a8..339dab4ce9 100644 --- a/pcbnew/class_board.cpp +++ b/pcbnew/class_board.cpp @@ -836,6 +836,105 @@ void BOARD::FillItemMap( std::map& aMap ) } +wxString BOARD::ConvertCrossReferencesToKIIDs( const wxString& aSource ) +{ + wxString newbuf; + size_t sourceLen = aSource.length(); + + for( size_t i = 0; i < sourceLen; ++i ) + { + if( aSource[i] == '$' && i + 1 < sourceLen && aSource[i+1] == '{' ) + { + wxString token; + bool isCrossRef = false; + + for( i = i + 2; i < sourceLen; ++i ) + { + if( aSource[i] == '}' ) + break; + + if( aSource[i] == ':' ) + isCrossRef = true; + + token.append( aSource[i] ); + } + + if( isCrossRef ) + { + wxString remainder; + wxString ref = token.BeforeFirst( ':', &remainder ); + + for( MODULE* mod : Modules() ) + { + if( mod->GetReference().CmpNoCase( ref ) == 0 ) + { + wxString test( remainder ); + + if( mod->ResolveTextVar( &test ) ) + token = mod->m_Uuid.AsString() + ":" + remainder; + + break; + } + } + } + + newbuf.append( "${" + token + "}" ); + } + else + { + newbuf.append( aSource[i] ); + } + } + + return newbuf; +} + + +wxString BOARD::ConvertKIIDsToCrossReferences( const wxString& aSource ) +{ + wxString newbuf; + size_t sourceLen = aSource.length(); + + for( size_t i = 0; i < sourceLen; ++i ) + { + if( aSource[i] == '$' && i + 1 < sourceLen && aSource[i+1] == '{' ) + { + wxString token; + bool isCrossRef = false; + + for( i = i + 2; i < sourceLen; ++i ) + { + if( aSource[i] == '}' ) + break; + + if( aSource[i] == ':' ) + isCrossRef = true; + + token.append( aSource[i] ); + } + + if( isCrossRef ) + { + wxString remainder; + wxString ref = token.BeforeFirst( ':', &remainder ); + BOARD_ITEM* refItem = GetItem( KIID( ref ) ); + + if( refItem && refItem->Type() == PCB_MODULE_T ) + token = static_cast( refItem )->GetReference() + ":" + remainder; + } + + newbuf.append( "${" + token + "}" ); + } + else + { + newbuf.append( aSource[i] ); + } + } + + return newbuf; +} + + unsigned BOARD::GetNodesCount( int aNet ) { unsigned retval = 0; diff --git a/pcbnew/class_board.h b/pcbnew/class_board.h index 45a4473e06..cd6927a682 100644 --- a/pcbnew/class_board.h +++ b/pcbnew/class_board.h @@ -331,6 +331,12 @@ public: void FillItemMap( std::map& aMap ); + /** + * Convert cross-references back and forth between ${refDes:field} and ${kiid:field} + */ + wxString ConvertCrossReferencesToKIIDs( const wxString& aSource ); + wxString ConvertKIIDsToCrossReferences( const wxString& aSource ); + /** * Function GetConnectivity() * returns list of missing connections between components/tracks. diff --git a/pcbnew/dialogs/dialog_dimension_properties.cpp b/pcbnew/dialogs/dialog_dimension_properties.cpp index 0da4f115d5..bac1f90f52 100644 --- a/pcbnew/dialogs/dialog_dimension_properties.cpp +++ b/pcbnew/dialogs/dialog_dimension_properties.cpp @@ -231,9 +231,16 @@ bool DIALOG_DIMENSION_PROPERTIES::TransferDataToWindow() // Do this last; it depends on the other settings if( m_dimension->GetOverrideTextEnabled() ) - m_txtValueActual->SetValue( m_dimension->GetOverrideText() ); + { + BOARD* board = m_frame->GetBoard(); + wxString txt = board->ConvertKIIDsToCrossReferences( m_dimension->GetOverrideText() ); + + m_txtValueActual->SetValue( txt ); + } else + { m_txtValueActual->SetValue( m_dimension->GetValueText() ); + } m_orientValidator.TransferToWindow(); @@ -282,7 +289,12 @@ void DIALOG_DIMENSION_PROPERTIES::updateDimensionFromDialog( DIMENSION* aTarget aTarget->SetOverrideTextEnabled( m_cbOverrideValue->GetValue() ); if( m_cbOverrideValue->GetValue() ) - aTarget->SetOverrideText( m_txtValueActual->GetValue() ); + { + BOARD* board = m_frame->GetBoard(); + wxString txt = board->ConvertCrossReferencesToKIIDs( m_txtValueActual->GetValue() ); + + aTarget->SetOverrideText( txt ); + } aTarget->SetPrefix( m_txtPrefix->GetValue() ); aTarget->SetSuffix( m_txtSuffix->GetValue() ); diff --git a/pcbnew/dialogs/dialog_dimension_properties_base.cpp b/pcbnew/dialogs/dialog_dimension_properties_base.cpp index 32d6313d71..c4684584f1 100644 --- a/pcbnew/dialogs/dialog_dimension_properties_base.cpp +++ b/pcbnew/dialogs/dialog_dimension_properties_base.cpp @@ -26,10 +26,10 @@ DIALOG_DIMENSION_PROPERTIES_BASE::DIALOG_DIMENSION_PROPERTIES_BASE( wxWindow* pa m_lblLeaderValue = new wxStaticText( m_sizerLeader->GetStaticBox(), wxID_ANY, _("Value:"), wxDefaultPosition, wxDefaultSize, 0 ); m_lblLeaderValue->Wrap( -1 ); - gbSizerLeader->Add( m_lblLeaderValue, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 ); + gbSizerLeader->Add( m_lblLeaderValue, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); m_txtLeaderValue = new wxTextCtrl( m_sizerLeader->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); - gbSizerLeader->Add( m_txtLeaderValue, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxALL|wxEXPAND, 5 ); + gbSizerLeader->Add( m_txtLeaderValue, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); gbSizerLeader->Add( 60, 0, wxGBPosition( 0, 2 ), wxGBSpan( 1, 1 ), wxEXPAND, 5 ); @@ -38,7 +38,7 @@ DIALOG_DIMENSION_PROPERTIES_BASE::DIALOG_DIMENSION_PROPERTIES_BASE( wxWindow* pa m_lblTextFrame->Wrap( -1 ); m_lblTextFrame->SetToolTip( _("Draw a shape around the leader text") ); - gbSizerLeader->Add( m_lblTextFrame, wxGBPosition( 0, 3 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 ); + gbSizerLeader->Add( m_lblTextFrame, wxGBPosition( 0, 3 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); wxString m_cbTextFrameChoices[] = { _("None"), _("Rectangle"), _("Circle") }; int m_cbTextFrameNChoices = sizeof( m_cbTextFrameChoices ) / sizeof( wxString ); @@ -46,20 +46,23 @@ DIALOG_DIMENSION_PROPERTIES_BASE::DIALOG_DIMENSION_PROPERTIES_BASE( wxWindow* pa m_cbTextFrame->SetSelection( 0 ); m_cbTextFrame->SetToolTip( _("Draw a shape around the leader text") ); - gbSizerLeader->Add( m_cbTextFrame, wxGBPosition( 0, 4 ), wxGBSpan( 1, 1 ), wxALL|wxEXPAND, 5 ); + gbSizerLeader->Add( m_cbTextFrame, wxGBPosition( 0, 4 ), wxGBSpan( 1, 1 ), wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); m_lblLeaderLayer = new wxStaticText( m_sizerLeader->GetStaticBox(), wxID_ANY, _("Layer:"), wxDefaultPosition, wxDefaultSize, 0 ); m_lblLeaderLayer->Wrap( -1 ); - gbSizerLeader->Add( m_lblLeaderLayer, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 ); + gbSizerLeader->Add( m_lblLeaderLayer, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); m_cbLeaderLayer = new PCB_LAYER_BOX_SELECTOR( m_sizerLeader->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 ); - gbSizerLeader->Add( m_cbLeaderLayer, wxGBPosition( 1, 1 ), wxGBSpan( 1, 1 ), wxALL|wxEXPAND, 5 ); + gbSizerLeader->Add( m_cbLeaderLayer, wxGBPosition( 1, 1 ), wxGBSpan( 1, 1 ), wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); - m_sizerLeader->Add( gbSizerLeader, 1, wxBOTTOM|wxEXPAND, 5 ); + gbSizerLeader->AddGrowableCol( 1 ); + gbSizerLeader->AddGrowableCol( 4 ); + + m_sizerLeader->Add( gbSizerLeader, 0, wxEXPAND, 5 ); - m_mainSizer->Add( m_sizerLeader, 0, wxALL|wxEXPAND, 5 ); + m_mainSizer->Add( m_sizerLeader, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 10 ); m_sizerCenter = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Dimension Format") ), wxVERTICAL ); @@ -70,16 +73,16 @@ DIALOG_DIMENSION_PROPERTIES_BASE::DIALOG_DIMENSION_PROPERTIES_BASE( wxWindow* pa m_lblCenterLayer = new wxStaticText( m_sizerCenter->GetStaticBox(), wxID_ANY, _("Layer:"), wxDefaultPosition, wxDefaultSize, 0 ); m_lblCenterLayer->Wrap( -1 ); - gbSizerCenter->Add( m_lblCenterLayer, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 ); + gbSizerCenter->Add( m_lblCenterLayer, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); m_cbCenterLayer = new PCB_LAYER_BOX_SELECTOR( m_sizerCenter->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 ); - gbSizerCenter->Add( m_cbCenterLayer, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxALL|wxEXPAND, 5 ); + gbSizerCenter->Add( m_cbCenterLayer, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 ); - m_sizerCenter->Add( gbSizerCenter, 1, wxBOTTOM|wxEXPAND, 5 ); + m_sizerCenter->Add( gbSizerCenter, 0, wxEXPAND, 5 ); - m_mainSizer->Add( m_sizerCenter, 1, wxALL|wxEXPAND, 5 ); + m_mainSizer->Add( m_sizerCenter, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 10 ); m_sizerFormat = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Dimension Format") ), wxVERTICAL ); @@ -92,18 +95,18 @@ DIALOG_DIMENSION_PROPERTIES_BASE::DIALOG_DIMENSION_PROPERTIES_BASE( wxWindow* pa m_lblValue->Wrap( -1 ); m_lblValue->SetToolTip( _("Measured value of this dimension") ); - gbSizerFormat->Add( m_lblValue, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 ); + gbSizerFormat->Add( m_lblValue, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); m_txtValue = new wxTextCtrl( m_sizerFormat->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); m_txtValue->Enable( false ); m_txtValue->SetToolTip( _("Measured value of this dimension") ); - gbSizerFormat->Add( m_txtValue, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxALL|wxEXPAND, 5 ); + gbSizerFormat->Add( m_txtValue, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 ); m_cbOverrideValue = new wxCheckBox( m_sizerFormat->GetStaticBox(), wxID_ANY, _("Override value"), wxDefaultPosition, wxDefaultSize, 0 ); m_cbOverrideValue->SetToolTip( _("When checked, the actual measurement is ignored and any value can be entered") ); - gbSizerFormat->Add( m_cbOverrideValue, wxGBPosition( 0, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 ); + gbSizerFormat->Add( m_cbOverrideValue, wxGBPosition( 0, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); gbSizerFormat->Add( 20, 0, wxGBPosition( 0, 3 ), wxGBSpan( 1, 1 ), 0, 5 ); @@ -112,7 +115,7 @@ DIALOG_DIMENSION_PROPERTIES_BASE::DIALOG_DIMENSION_PROPERTIES_BASE( wxWindow* pa m_lblUnits->Wrap( -1 ); m_lblUnits->SetToolTip( _("Units of this dimension (\"automatic\" to follow the units selected in the editor)") ); - gbSizerFormat->Add( m_lblUnits, wxGBPosition( 0, 4 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 ); + gbSizerFormat->Add( m_lblUnits, wxGBPosition( 0, 4 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); wxString m_cbUnitsChoices[] = { _("Inches"), _("Mils"), _("Millimeters"), _("Automatic") }; int m_cbUnitsNChoices = sizeof( m_cbUnitsChoices ) / sizeof( wxString ); @@ -120,18 +123,18 @@ DIALOG_DIMENSION_PROPERTIES_BASE::DIALOG_DIMENSION_PROPERTIES_BASE( wxWindow* pa m_cbUnits->SetSelection( 0 ); m_cbUnits->SetToolTip( _("Units of this dimension (\"automatic\" to follow the units selected in the editor)") ); - gbSizerFormat->Add( m_cbUnits, wxGBPosition( 0, 5 ), wxGBSpan( 1, 1 ), wxALL|wxEXPAND, 5 ); + gbSizerFormat->Add( m_cbUnits, wxGBPosition( 0, 5 ), wxGBSpan( 1, 1 ), wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 ); m_lblPrefix = new wxStaticText( m_sizerFormat->GetStaticBox(), wxID_ANY, _("Prefix:"), wxDefaultPosition, wxDefaultSize, 0 ); m_lblPrefix->Wrap( -1 ); m_lblPrefix->SetToolTip( _("Text to print before the dimension value") ); - gbSizerFormat->Add( m_lblPrefix, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 ); + gbSizerFormat->Add( m_lblPrefix, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); m_txtPrefix = new wxTextCtrl( m_sizerFormat->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); m_txtPrefix->SetToolTip( _("Text to print before the dimension value") ); - gbSizerFormat->Add( m_txtPrefix, wxGBPosition( 1, 1 ), wxGBSpan( 1, 1 ), wxALL|wxEXPAND, 5 ); + gbSizerFormat->Add( m_txtPrefix, wxGBPosition( 1, 1 ), wxGBSpan( 1, 1 ), wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 ); m_txtUnitsFormat = new wxStaticText( m_sizerFormat->GetStaticBox(), wxID_ANY, _("Units format:"), wxDefaultPosition, wxDefaultSize, 0 ); m_txtUnitsFormat->Wrap( -1 ); @@ -145,24 +148,24 @@ DIALOG_DIMENSION_PROPERTIES_BASE::DIALOG_DIMENSION_PROPERTIES_BASE( wxWindow* pa m_cbUnitsFormat->SetSelection( 1 ); m_cbUnitsFormat->SetToolTip( _("Choose how to display the units") ); - gbSizerFormat->Add( m_cbUnitsFormat, wxGBPosition( 1, 5 ), wxGBSpan( 1, 1 ), wxALL|wxEXPAND, 5 ); + gbSizerFormat->Add( m_cbUnitsFormat, wxGBPosition( 1, 5 ), wxGBSpan( 1, 1 ), wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 ); m_lblSuffix = new wxStaticText( m_sizerFormat->GetStaticBox(), wxID_ANY, _("Suffix:"), wxDefaultPosition, wxDefaultSize, 0 ); m_lblSuffix->Wrap( -1 ); m_lblSuffix->SetToolTip( _("Text to print after the dimension value") ); - gbSizerFormat->Add( m_lblSuffix, wxGBPosition( 2, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 ); + gbSizerFormat->Add( m_lblSuffix, wxGBPosition( 2, 0 ), wxGBSpan( 1, 1 ), wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 ); m_txtSuffix = new wxTextCtrl( m_sizerFormat->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); m_txtSuffix->SetToolTip( _("Text to print after the dimension value") ); - gbSizerFormat->Add( m_txtSuffix, wxGBPosition( 2, 1 ), wxGBSpan( 1, 1 ), wxALL|wxEXPAND, 5 ); + gbSizerFormat->Add( m_txtSuffix, wxGBPosition( 2, 1 ), wxGBSpan( 1, 1 ), wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 ); m_lblPrecision = new wxStaticText( m_sizerFormat->GetStaticBox(), wxID_ANY, _("Precision:"), wxDefaultPosition, wxDefaultSize, 0 ); m_lblPrecision->Wrap( -1 ); m_lblPrecision->SetToolTip( _("Choose how many digits of precision to display") ); - gbSizerFormat->Add( m_lblPrecision, wxGBPosition( 2, 4 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 ); + gbSizerFormat->Add( m_lblPrecision, wxGBPosition( 2, 4 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); wxString m_cbPrecisionChoices[] = { _("0"), _("0.0"), _("0.00"), _("0.000"), _("0.0000"), _("0.00000") }; int m_cbPrecisionNChoices = sizeof( m_cbPrecisionChoices ) / sizeof( wxString ); @@ -170,19 +173,19 @@ DIALOG_DIMENSION_PROPERTIES_BASE::DIALOG_DIMENSION_PROPERTIES_BASE( wxWindow* pa m_cbPrecision->SetSelection( 0 ); m_cbPrecision->SetToolTip( _("Choose how many digits of precision to display") ); - gbSizerFormat->Add( m_cbPrecision, wxGBPosition( 2, 5 ), wxGBSpan( 1, 1 ), wxALL|wxEXPAND, 5 ); + gbSizerFormat->Add( m_cbPrecision, wxGBPosition( 2, 5 ), wxGBSpan( 1, 1 ), wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 ); m_cbSuppressZeroes = new wxCheckBox( m_sizerFormat->GetStaticBox(), wxID_ANY, _("Suppress trailing zeroes"), wxDefaultPosition, wxDefaultSize, 0 ); m_cbSuppressZeroes->SetToolTip( _("When checked, \"0.100\" will be shown as \"0.1\" even if the precision setting is higher") ); - gbSizerFormat->Add( m_cbSuppressZeroes, wxGBPosition( 3, 4 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 ); + gbSizerFormat->Add( m_cbSuppressZeroes, wxGBPosition( 3, 4 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); m_lblLayer = new wxStaticText( m_sizerFormat->GetStaticBox(), wxID_ANY, _("Layer:"), wxDefaultPosition, wxDefaultSize, 0 ); m_lblLayer->Wrap( -1 ); - gbSizerFormat->Add( m_lblLayer, wxGBPosition( 3, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 ); + gbSizerFormat->Add( m_lblLayer, wxGBPosition( 3, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); m_cbLayer = new PCB_LAYER_BOX_SELECTOR( m_sizerFormat->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 ); - gbSizerFormat->Add( m_cbLayer, wxGBPosition( 3, 1 ), wxGBSpan( 1, 1 ), wxALL, 5 ); + gbSizerFormat->Add( m_cbLayer, wxGBPosition( 3, 1 ), wxGBSpan( 1, 1 ), wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 ); m_lblPreview = new wxStaticText( m_sizerFormat->GetStaticBox(), wxID_ANY, _("Preview:"), wxDefaultPosition, wxDefaultSize, 0 ); m_lblPreview->Wrap( -1 ); @@ -199,30 +202,30 @@ DIALOG_DIMENSION_PROPERTIES_BASE::DIALOG_DIMENSION_PROPERTIES_BASE( wxWindow* pa gbSizerFormat->AddGrowableCol( 3 ); gbSizerFormat->AddGrowableCol( 5 ); - m_sizerFormat->Add( gbSizerFormat, 1, wxBOTTOM|wxEXPAND, 5 ); + m_sizerFormat->Add( gbSizerFormat, 0, wxEXPAND, 5 ); - m_mainSizer->Add( m_sizerFormat, 1, wxALL|wxEXPAND, 5 ); + m_mainSizer->Add( m_sizerFormat, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 10 ); m_sizerText = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Dimension Text") ), wxVERTICAL ); wxGridBagSizer* gbSizerText; gbSizerText = new wxGridBagSizer( 0, 0 ); - gbSizerText->SetFlexibleDirection( wxHORIZONTAL ); + gbSizerText->SetFlexibleDirection( wxBOTH ); gbSizerText->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); m_lblTextWidth = new wxStaticText( m_sizerText->GetStaticBox(), wxID_ANY, _("Width:"), wxDefaultPosition, wxDefaultSize, 0 ); m_lblTextWidth->Wrap( -1 ); m_lblTextWidth->SetToolTip( _("Text width") ); - gbSizerText->Add( m_lblTextWidth, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 ); + gbSizerText->Add( m_lblTextWidth, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); m_txtTextWidth = new wxTextCtrl( m_sizerText->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER ); - gbSizerText->Add( m_txtTextWidth, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxALL|wxEXPAND, 5 ); + gbSizerText->Add( m_txtTextWidth, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 ); m_lblTextWidthUnits = new wxStaticText( m_sizerText->GetStaticBox(), wxID_ANY, _("unit"), wxDefaultPosition, wxDefaultSize, 0 ); m_lblTextWidthUnits->Wrap( -1 ); - gbSizerText->Add( m_lblTextWidthUnits, wxGBPosition( 0, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 ); + gbSizerText->Add( m_lblTextWidthUnits, wxGBPosition( 0, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT, 5 ); gbSizerText->Add( 20, 0, wxGBPosition( 0, 3 ), wxGBSpan( 1, 1 ), wxEXPAND, 5 ); @@ -231,93 +234,93 @@ DIALOG_DIMENSION_PROPERTIES_BASE::DIALOG_DIMENSION_PROPERTIES_BASE( wxWindow* pa m_lblTextPosX->Wrap( -1 ); m_lblTextPosX->SetToolTip( _("Text pos X") ); - gbSizerText->Add( m_lblTextPosX, wxGBPosition( 0, 4 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 ); + gbSizerText->Add( m_lblTextPosX, wxGBPosition( 0, 4 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); m_txtTextPosX = new wxTextCtrl( m_sizerText->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER ); - gbSizerText->Add( m_txtTextPosX, wxGBPosition( 0, 5 ), wxGBSpan( 1, 1 ), wxALL|wxEXPAND, 5 ); + gbSizerText->Add( m_txtTextPosX, wxGBPosition( 0, 5 ), wxGBSpan( 1, 1 ), wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 ); m_lblTextPosXUnits = new wxStaticText( m_sizerText->GetStaticBox(), wxID_ANY, _("unit"), wxDefaultPosition, wxDefaultSize, 0 ); m_lblTextPosXUnits->Wrap( -1 ); - gbSizerText->Add( m_lblTextPosXUnits, wxGBPosition( 0, 6 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxALL, 5 ); + gbSizerText->Add( m_lblTextPosXUnits, wxGBPosition( 0, 6 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM|wxRIGHT, 5 ); m_lblTextHeight = new wxStaticText( m_sizerText->GetStaticBox(), wxID_ANY, _("Height:"), wxDefaultPosition, wxDefaultSize, 0 ); m_lblTextHeight->Wrap( -1 ); m_lblTextHeight->SetToolTip( _("Text height") ); - gbSizerText->Add( m_lblTextHeight, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 ); + gbSizerText->Add( m_lblTextHeight, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); m_txtTextHeight = new wxTextCtrl( m_sizerText->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER ); - gbSizerText->Add( m_txtTextHeight, wxGBPosition( 1, 1 ), wxGBSpan( 1, 1 ), wxALL|wxEXPAND, 5 ); + gbSizerText->Add( m_txtTextHeight, wxGBPosition( 1, 1 ), wxGBSpan( 1, 1 ), wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 ); m_lblTextHeightUnits = new wxStaticText( m_sizerText->GetStaticBox(), wxID_ANY, _("unit"), wxDefaultPosition, wxDefaultSize, 0 ); m_lblTextHeightUnits->Wrap( -1 ); - gbSizerText->Add( m_lblTextHeightUnits, wxGBPosition( 1, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 ); + gbSizerText->Add( m_lblTextHeightUnits, wxGBPosition( 1, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT, 5 ); m_lblTextPosY = new wxStaticText( m_sizerText->GetStaticBox(), wxID_ANY, _("Position Y:"), wxDefaultPosition, wxDefaultSize, 0 ); m_lblTextPosY->Wrap( -1 ); m_lblTextPosY->SetToolTip( _("Text pos Y") ); - gbSizerText->Add( m_lblTextPosY, wxGBPosition( 1, 4 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 ); + gbSizerText->Add( m_lblTextPosY, wxGBPosition( 1, 4 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); m_txtTextPosY = new wxTextCtrl( m_sizerText->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER ); - gbSizerText->Add( m_txtTextPosY, wxGBPosition( 1, 5 ), wxGBSpan( 1, 1 ), wxALL|wxEXPAND, 5 ); + gbSizerText->Add( m_txtTextPosY, wxGBPosition( 1, 5 ), wxGBSpan( 1, 1 ), wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 ); m_lblTextPosYUnits = new wxStaticText( m_sizerText->GetStaticBox(), wxID_ANY, _("unit"), wxDefaultPosition, wxDefaultSize, 0 ); m_lblTextPosYUnits->Wrap( -1 ); - gbSizerText->Add( m_lblTextPosYUnits, wxGBPosition( 1, 6 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxALL, 5 ); + gbSizerText->Add( m_lblTextPosYUnits, wxGBPosition( 1, 6 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM|wxRIGHT, 5 ); m_lblTextThickness = new wxStaticText( m_sizerText->GetStaticBox(), wxID_ANY, _("Thickness:"), wxDefaultPosition, wxDefaultSize, 0 ); m_lblTextThickness->Wrap( -1 ); m_lblTextThickness->SetToolTip( _("Text thickness") ); - gbSizerText->Add( m_lblTextThickness, wxGBPosition( 2, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 ); + gbSizerText->Add( m_lblTextThickness, wxGBPosition( 2, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); m_txtTextThickness = new wxTextCtrl( m_sizerText->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER ); - gbSizerText->Add( m_txtTextThickness, wxGBPosition( 2, 1 ), wxGBSpan( 1, 1 ), wxALL|wxEXPAND, 5 ); + gbSizerText->Add( m_txtTextThickness, wxGBPosition( 2, 1 ), wxGBSpan( 1, 1 ), wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 ); m_lblTextThicknessUnits = new wxStaticText( m_sizerText->GetStaticBox(), wxID_ANY, _("unit"), wxDefaultPosition, wxDefaultSize, 0 ); m_lblTextThicknessUnits->Wrap( -1 ); - gbSizerText->Add( m_lblTextThicknessUnits, wxGBPosition( 2, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 ); + gbSizerText->Add( m_lblTextThicknessUnits, wxGBPosition( 2, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT, 5 ); m_lblTextOrientation = new wxStaticText( m_sizerText->GetStaticBox(), wxID_ANY, _("Orientation:"), wxDefaultPosition, wxDefaultSize, 0 ); m_lblTextOrientation->Wrap( -1 ); m_lblTextOrientation->SetToolTip( _("Text orientation") ); - gbSizerText->Add( m_lblTextOrientation, wxGBPosition( 3, 4 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 ); + gbSizerText->Add( m_lblTextOrientation, wxGBPosition( 3, 4 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); m_cbTextOrientation = new wxComboBox( m_sizerText->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 ); m_cbTextOrientation->Append( _("0.0") ); m_cbTextOrientation->Append( _("90.0") ); m_cbTextOrientation->Append( _("-90.0") ); m_cbTextOrientation->Append( _("180.0") ); - gbSizerText->Add( m_cbTextOrientation, wxGBPosition( 3, 5 ), wxGBSpan( 1, 1 ), wxALL|wxEXPAND, 5 ); + gbSizerText->Add( m_cbTextOrientation, wxGBPosition( 3, 5 ), wxGBSpan( 1, 1 ), wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 ); m_cbItalic = new wxCheckBox( m_sizerText->GetStaticBox(), wxID_ANY, _("Italic"), wxDefaultPosition, wxDefaultSize, 0 ); - gbSizerText->Add( m_cbItalic, wxGBPosition( 3, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 ); + gbSizerText->Add( m_cbItalic, wxGBPosition( 3, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); m_cbKeepAligned = new wxCheckBox( m_sizerText->GetStaticBox(), wxID_ANY, _("Keep aligned with dimension"), wxDefaultPosition, wxDefaultSize, 0 ); m_cbKeepAligned->SetToolTip( _("Automatically set the text orientation to match the dimension lines") ); - gbSizerText->Add( m_cbKeepAligned, wxGBPosition( 4, 4 ), wxGBSpan( 1, 3 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 ); + gbSizerText->Add( m_cbKeepAligned, wxGBPosition( 4, 4 ), wxGBSpan( 1, 3 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); m_cbMirrored = new wxCheckBox( m_sizerText->GetStaticBox(), wxID_ANY, _("Mirrored"), wxDefaultPosition, wxDefaultSize, 0 ); m_cbMirrored->SetToolTip( _("Mirror text") ); - gbSizerText->Add( m_cbMirrored, wxGBPosition( 4, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 ); + gbSizerText->Add( m_cbMirrored, wxGBPosition( 4, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); m_lblJustification = new wxStaticText( m_sizerText->GetStaticBox(), wxID_ANY, _("Justification:"), wxDefaultPosition, wxDefaultSize, 0 ); m_lblJustification->Wrap( -1 ); - gbSizerText->Add( m_lblJustification, wxGBPosition( 5, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 ); + gbSizerText->Add( m_lblJustification, wxGBPosition( 5, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); wxString m_cbJustificationChoices[] = { _("Left"), _("Center"), _("Right") }; int m_cbJustificationNChoices = sizeof( m_cbJustificationChoices ) / sizeof( wxString ); m_cbJustification = new wxChoice( m_sizerText->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_cbJustificationNChoices, m_cbJustificationChoices, 0 ); m_cbJustification->SetSelection( 0 ); - gbSizerText->Add( m_cbJustification, wxGBPosition( 5, 1 ), wxGBSpan( 1, 1 ), wxALL|wxEXPAND, 5 ); + gbSizerText->Add( m_cbJustification, wxGBPosition( 5, 1 ), wxGBSpan( 1, 1 ), wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 ); m_lblTextPositionMode = new wxStaticText( m_sizerText->GetStaticBox(), wxID_ANY, _("Position mode:"), wxDefaultPosition, wxDefaultSize, 0 ); m_lblTextPositionMode->Wrap( -1 ); - gbSizerText->Add( m_lblTextPositionMode, wxGBPosition( 2, 4 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 ); + gbSizerText->Add( m_lblTextPositionMode, wxGBPosition( 2, 4 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); wxString m_cbTextPositionModeChoices[] = { _("Outside"), _("Inline"), _("Manual") }; int m_cbTextPositionModeNChoices = sizeof( m_cbTextPositionModeChoices ) / sizeof( wxString ); @@ -325,83 +328,77 @@ DIALOG_DIMENSION_PROPERTIES_BASE::DIALOG_DIMENSION_PROPERTIES_BASE( wxWindow* pa m_cbTextPositionMode->SetSelection( 0 ); m_cbTextPositionMode->SetToolTip( _("Choose how to position the text relative to the dimension line") ); - gbSizerText->Add( m_cbTextPositionMode, wxGBPosition( 2, 5 ), wxGBSpan( 1, 1 ), wxALL|wxEXPAND, 5 ); + gbSizerText->Add( m_cbTextPositionMode, wxGBPosition( 2, 5 ), wxGBSpan( 1, 1 ), wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 ); gbSizerText->AddGrowableCol( 1 ); gbSizerText->AddGrowableCol( 3 ); gbSizerText->AddGrowableCol( 5 ); - m_sizerText->Add( gbSizerText, 0, wxBOTTOM|wxEXPAND, 5 ); + m_sizerText->Add( gbSizerText, 0, wxEXPAND, 5 ); - m_mainSizer->Add( m_sizerText, 0, wxALL|wxEXPAND, 5 ); + m_mainSizer->Add( m_sizerText, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 10 ); wxStaticBoxSizer* sbSizerLine; sbSizerLine = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Dimension Line") ), wxVERTICAL ); wxGridBagSizer* gbSizerLine; gbSizerLine = new wxGridBagSizer( 0, 0 ); - gbSizerLine->SetFlexibleDirection( wxHORIZONTAL ); + gbSizerLine->SetFlexibleDirection( wxBOTH ); gbSizerLine->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); m_lblLineThickness = new wxStaticText( sbSizerLine->GetStaticBox(), wxID_ANY, _("Line thickness:"), wxDefaultPosition, wxDefaultSize, 0 ); m_lblLineThickness->Wrap( -1 ); m_lblLineThickness->SetToolTip( _("Thickness of the dimension lines") ); - gbSizerLine->Add( m_lblLineThickness, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 ); + gbSizerLine->Add( m_lblLineThickness, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); m_txtLineThickness = new wxTextCtrl( sbSizerLine->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER ); - gbSizerLine->Add( m_txtLineThickness, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxALL, 5 ); + gbSizerLine->Add( m_txtLineThickness, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 ); m_lblLineThicknessUnits = new wxStaticText( sbSizerLine->GetStaticBox(), wxID_ANY, _("unit"), wxDefaultPosition, wxDefaultSize, 0 ); m_lblLineThicknessUnits->Wrap( -1 ); - gbSizerLine->Add( m_lblLineThicknessUnits, wxGBPosition( 0, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 ); + gbSizerLine->Add( m_lblLineThicknessUnits, wxGBPosition( 0, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT, 5 ); gbSizerLine->Add( 20, 0, wxGBPosition( 0, 3 ), wxGBSpan( 1, 1 ), wxEXPAND, 5 ); m_lblArrowLength = new wxStaticText( sbSizerLine->GetStaticBox(), wxID_ANY, _("Arrow length:"), wxDefaultPosition, wxDefaultSize, 0 ); m_lblArrowLength->Wrap( -1 ); - gbSizerLine->Add( m_lblArrowLength, wxGBPosition( 0, 4 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 ); + gbSizerLine->Add( m_lblArrowLength, wxGBPosition( 0, 4 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); m_txtArrowLength = new wxTextCtrl( sbSizerLine->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER ); - gbSizerLine->Add( m_txtArrowLength, wxGBPosition( 0, 5 ), wxGBSpan( 1, 1 ), wxALL|wxEXPAND, 5 ); + gbSizerLine->Add( m_txtArrowLength, wxGBPosition( 0, 5 ), wxGBSpan( 1, 1 ), wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 ); m_lblArrowLengthUnits = new wxStaticText( sbSizerLine->GetStaticBox(), wxID_ANY, _("unit"), wxDefaultPosition, wxDefaultSize, 0 ); m_lblArrowLengthUnits->Wrap( -1 ); - gbSizerLine->Add( m_lblArrowLengthUnits, wxGBPosition( 0, 6 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 ); + gbSizerLine->Add( m_lblArrowLengthUnits, wxGBPosition( 0, 6 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT, 5 ); m_lblExtensionOffset = new wxStaticText( sbSizerLine->GetStaticBox(), wxID_ANY, _("Extension line offset:"), wxDefaultPosition, wxDefaultSize, 0 ); m_lblExtensionOffset->Wrap( -1 ); m_lblExtensionOffset->SetToolTip( _("Gap between the measured points and the start of the extension lines") ); - gbSizerLine->Add( m_lblExtensionOffset, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 ); + gbSizerLine->Add( m_lblExtensionOffset, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); m_txtExtensionOffset = new wxTextCtrl( sbSizerLine->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); m_txtExtensionOffset->SetToolTip( _("Gap between the measured points and the start of the extension lines") ); - gbSizerLine->Add( m_txtExtensionOffset, wxGBPosition( 1, 1 ), wxGBSpan( 1, 1 ), wxALL, 5 ); + gbSizerLine->Add( m_txtExtensionOffset, wxGBPosition( 1, 1 ), wxGBSpan( 1, 1 ), wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 ); m_lblExtensionOffsetUnits = new wxStaticText( sbSizerLine->GetStaticBox(), wxID_ANY, _("unit"), wxDefaultPosition, wxDefaultSize, 0 ); m_lblExtensionOffsetUnits->Wrap( -1 ); - gbSizerLine->Add( m_lblExtensionOffsetUnits, wxGBPosition( 1, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALL, 5 ); + gbSizerLine->Add( m_lblExtensionOffsetUnits, wxGBPosition( 1, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT, 5 ); gbSizerLine->AddGrowableCol( 1 ); gbSizerLine->AddGrowableCol( 3 ); gbSizerLine->AddGrowableCol( 5 ); - sbSizerLine->Add( gbSizerLine, 1, wxBOTTOM|wxEXPAND, 5 ); + sbSizerLine->Add( gbSizerLine, 1, wxEXPAND, 5 ); - m_mainSizer->Add( sbSizerLine, 0, wxALL|wxEXPAND, 5 ); - - - m_mainSizer->Add( 0, 0, 0, wxTOP, 5 ); - - m_staticline = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL ); - m_mainSizer->Add( m_staticline, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 10 ); + m_mainSizer->Add( sbSizerLine, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 10 ); wxBoxSizer* lowerSizer; lowerSizer = new wxBoxSizer( wxHORIZONTAL ); @@ -424,6 +421,7 @@ DIALOG_DIMENSION_PROPERTIES_BASE::DIALOG_DIMENSION_PROPERTIES_BASE( wxWindow* pa this->SetSizer( m_mainSizer ); this->Layout(); + m_mainSizer->Fit( this ); this->Centre( wxBOTH ); diff --git a/pcbnew/dialogs/dialog_dimension_properties_base.fbp b/pcbnew/dialogs/dialog_dimension_properties_base.fbp index cde8d1b5c8..02c96411f6 100644 --- a/pcbnew/dialogs/dialog_dimension_properties_base.fbp +++ b/pcbnew/dialogs/dialog_dimension_properties_base.fbp @@ -45,7 +45,7 @@ -1,-1 DIALOG_DIMENSION_PROPERTIES_BASE - 654,500 + -1,-1 wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER|wxSYSTEM_MENU DIALOG_SHIM; dialog_shim.h Dimension Properties @@ -60,8 +60,8 @@ wxVERTICAL protected - 5 - wxALL|wxEXPAND + 10 + wxEXPAND|wxTOP|wxRIGHT|wxLEFT 0 wxID_ANY @@ -73,12 +73,12 @@ protected 5 - wxBOTTOM|wxEXPAND - 1 + wxEXPAND + 0 wxBOTH - + 1,4 0 @@ -90,7 +90,7 @@ 5 1 0 - wxALIGN_CENTER_VERTICAL|wxALL + wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT 0 1 @@ -154,7 +154,7 @@ 5 1 1 - wxALL|wxEXPAND + wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT 0 1 @@ -234,7 +234,7 @@ 5 1 3 - wxALIGN_CENTER_VERTICAL|wxALL + wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT 0 1 @@ -298,7 +298,7 @@ 5 1 4 - wxALL|wxEXPAND + wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT 0 1 @@ -365,7 +365,7 @@ 5 1 0 - wxALIGN_CENTER_VERTICAL|wxALL + wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT 1 1 @@ -429,7 +429,7 @@ 5 1 1 - wxALL|wxEXPAND + wxEXPAND|wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT 1 1 @@ -498,9 +498,9 @@ - 5 - wxALL|wxEXPAND - 1 + 10 + wxEXPAND|wxTOP|wxRIGHT|wxLEFT + 0 wxID_ANY Dimension Format @@ -511,8 +511,8 @@ protected 5 - wxBOTTOM|wxEXPAND - 1 + wxEXPAND + 0 wxBOTH @@ -528,7 +528,7 @@ 5 1 0 - wxALIGN_CENTER_VERTICAL|wxALL + wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT 0 1 @@ -592,7 +592,7 @@ 5 1 1 - wxALL|wxEXPAND + wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL 0 1 @@ -661,9 +661,9 @@ - 5 - wxALL|wxEXPAND - 1 + 10 + wxEXPAND|wxTOP|wxRIGHT|wxLEFT + 0 wxID_ANY Dimension Format @@ -674,8 +674,8 @@ protected 5 - wxBOTTOM|wxEXPAND - 1 + wxEXPAND + 0 wxBOTH @@ -691,7 +691,7 @@ 5 1 0 - wxALIGN_CENTER_VERTICAL|wxALL + wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT 0 1 @@ -755,7 +755,7 @@ 5 1 1 - wxALL|wxEXPAND + wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL 0 1 @@ -822,7 +822,7 @@ 5 1 2 - wxALIGN_CENTER_VERTICAL|wxALL + wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT 0 1 @@ -902,7 +902,7 @@ 5 1 4 - wxALIGN_CENTER_VERTICAL|wxALL + wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT 0 1 @@ -966,7 +966,7 @@ 5 1 5 - wxALL|wxEXPAND + wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL 0 1 @@ -1034,7 +1034,7 @@ 5 1 0 - wxALIGN_CENTER_VERTICAL|wxALL + wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT 1 1 @@ -1098,7 +1098,7 @@ 5 1 1 - wxALL|wxEXPAND + wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL 1 1 @@ -1229,7 +1229,7 @@ 5 1 5 - wxALL|wxEXPAND + wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL 1 1 @@ -1296,7 +1296,7 @@ 5 1 0 - wxALIGN_CENTER_VERTICAL|wxALL + wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL 2 1 @@ -1360,7 +1360,7 @@ 5 1 1 - wxALL|wxEXPAND + wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL 2 1 @@ -1427,7 +1427,7 @@ 5 1 4 - wxALIGN_CENTER_VERTICAL|wxALL + wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT 2 1 @@ -1491,7 +1491,7 @@ 5 1 5 - wxALL|wxEXPAND + wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL 2 1 @@ -1558,7 +1558,7 @@ 5 2 4 - wxALIGN_CENTER_VERTICAL|wxALL + wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT 3 1 @@ -1625,7 +1625,7 @@ 5 1 0 - wxALIGN_CENTER_VERTICAL|wxALL + wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT 3 1 @@ -1689,7 +1689,7 @@ 5 1 1 - wxALL + wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL 3 1 @@ -1886,10 +1886,10 @@ - 5 - wxALL|wxEXPAND + 10 + wxEXPAND|wxTOP|wxRIGHT|wxLEFT 0 - + wxID_ANY Dimension Text @@ -1897,13 +1897,13 @@ wxVERTICAL 1 protected - + 5 - wxBOTTOM|wxEXPAND + wxEXPAND 0 - + - wxHORIZONTAL + wxBOTH 1,3,5 0 @@ -1916,7 +1916,7 @@ 5 1 0 - wxALIGN_CENTER_VERTICAL|wxALL + wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT 0 1 @@ -1980,7 +1980,7 @@ 5 1 1 - wxALL|wxEXPAND + wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL 0 1 @@ -2048,7 +2048,7 @@ 5 1 2 - wxALIGN_CENTER_VERTICAL|wxALL + wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT 0 1 @@ -2125,7 +2125,7 @@ 5 1 4 - wxALIGN_CENTER_VERTICAL|wxALL + wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT 0 1 @@ -2189,7 +2189,7 @@ 5 1 5 - wxALL|wxEXPAND + wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL 0 1 @@ -2257,7 +2257,7 @@ 5 1 6 - wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxALL + wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM|wxRIGHT 0 1 @@ -2321,7 +2321,7 @@ 5 1 0 - wxALIGN_CENTER_VERTICAL|wxALL + wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT 1 1 @@ -2385,7 +2385,7 @@ 5 1 1 - wxALL|wxEXPAND + wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL 1 1 @@ -2453,7 +2453,7 @@ 5 1 2 - wxALIGN_CENTER_VERTICAL|wxALL + wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT 1 1 @@ -2517,7 +2517,7 @@ 5 1 4 - wxALIGN_CENTER_VERTICAL|wxALL + wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT 1 1 @@ -2581,7 +2581,7 @@ 5 1 5 - wxALL|wxEXPAND + wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL 1 1 @@ -2649,7 +2649,7 @@ 5 1 6 - wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxALL + wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT|wxBOTTOM|wxRIGHT 1 1 @@ -2713,7 +2713,7 @@ 5 1 0 - wxALIGN_CENTER_VERTICAL|wxALL + wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT 2 1 @@ -2777,7 +2777,7 @@ 5 1 1 - wxALL|wxEXPAND + wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL 2 1 @@ -2845,7 +2845,7 @@ 5 1 2 - wxALIGN_CENTER_VERTICAL|wxALL + wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT 2 1 @@ -2909,7 +2909,7 @@ 5 1 4 - wxALIGN_CENTER_VERTICAL|wxALL + wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT 3 1 @@ -2973,7 +2973,7 @@ 5 1 5 - wxALL|wxEXPAND + wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL 3 1 @@ -3042,7 +3042,7 @@ 5 1 0 - wxALIGN_CENTER_VERTICAL|wxALL + wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT 3 1 @@ -3109,7 +3109,7 @@ 5 3 4 - wxALIGN_CENTER_VERTICAL|wxALL + wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT 4 1 @@ -3176,7 +3176,7 @@ 5 1 0 - wxALIGN_CENTER_VERTICAL|wxALL + wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT 4 1 @@ -3243,7 +3243,7 @@ 5 1 0 - wxALIGN_CENTER_VERTICAL|wxALL + wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT 5 1 @@ -3307,7 +3307,7 @@ 5 1 1 - wxALL|wxEXPAND + wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL 5 1 @@ -3374,7 +3374,7 @@ 5 1 4 - wxALIGN_CENTER_VERTICAL|wxALL + wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT 2 1 @@ -3438,7 +3438,7 @@ 5 1 5 - wxALL|wxEXPAND + wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL 2 1 @@ -3506,8 +3506,8 @@ - 5 - wxALL|wxEXPAND + 10 + wxEXPAND|wxTOP|wxRIGHT|wxLEFT 0 wxID_ANY @@ -3519,11 +3519,11 @@ none 5 - wxBOTTOM|wxEXPAND + wxEXPAND 1 - wxHORIZONTAL + wxBOTH 1,3,5 0 @@ -3536,7 +3536,7 @@ 5 1 0 - wxALIGN_CENTER_VERTICAL|wxALL + wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT 0 1 @@ -3600,7 +3600,7 @@ 5 1 1 - wxALL + wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL 0 1 @@ -3668,7 +3668,7 @@ 5 1 2 - wxALIGN_CENTER_VERTICAL|wxALL + wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT 0 1 @@ -3745,7 +3745,7 @@ 5 1 4 - wxALIGN_CENTER_VERTICAL|wxALL + wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT 0 1 @@ -3809,7 +3809,7 @@ 5 1 5 - wxALL|wxEXPAND + wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL 0 1 @@ -3876,7 +3876,7 @@ 5 1 6 - wxALIGN_CENTER_VERTICAL|wxALL + wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT 0 1 @@ -3940,7 +3940,7 @@ 5 1 0 - wxALIGN_CENTER_VERTICAL|wxALL + wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT 1 1 @@ -4004,7 +4004,7 @@ 5 1 1 - wxALL + wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL 1 1 @@ -4071,7 +4071,7 @@ 5 1 2 - wxALIGN_CENTER_VERTICAL|wxALL + wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT 1 1 @@ -4135,79 +4135,11 @@ - - 5 - wxTOP - 0 - - 0 - protected - 0 - - - - 10 - wxEXPAND|wxTOP|wxRIGHT|wxLEFT - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - - 1 - m_staticline - 1 - - - protected - 1 - - Resizable - 1 - - wxLI_HORIZONTAL - - 0 - - - - - - 5 wxEXPAND 0 - + lowerSizer wxHORIZONTAL diff --git a/pcbnew/dialogs/dialog_dimension_properties_base.h b/pcbnew/dialogs/dialog_dimension_properties_base.h index dc96128005..3c8575d0bf 100644 --- a/pcbnew/dialogs/dialog_dimension_properties_base.h +++ b/pcbnew/dialogs/dialog_dimension_properties_base.h @@ -27,7 +27,6 @@ class PCB_LAYER_BOX_SELECTOR; #include #include #include -#include #include #include @@ -106,7 +105,6 @@ class DIALOG_DIMENSION_PROPERTIES_BASE : public DIALOG_SHIM wxStaticText* m_lblExtensionOffset; wxTextCtrl* m_txtExtensionOffset; wxStaticText* m_lblExtensionOffsetUnits; - wxStaticLine* m_staticline; wxStdDialogButtonSizer* m_sdbSizer; wxButton* m_sdbSizerOK; wxButton* m_sdbSizerCancel; @@ -119,7 +117,7 @@ class DIALOG_DIMENSION_PROPERTIES_BASE : public DIALOG_SHIM public: - DIALOG_DIMENSION_PROPERTIES_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Dimension Properties"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 654,500 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER|wxSYSTEM_MENU ); + DIALOG_DIMENSION_PROPERTIES_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Dimension Properties"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER|wxSYSTEM_MENU ); ~DIALOG_DIMENSION_PROPERTIES_BASE(); }; diff --git a/pcbnew/dialogs/dialog_text_properties.cpp b/pcbnew/dialogs/dialog_text_properties.cpp index 1cdb2c9e86..33d783fd18 100644 --- a/pcbnew/dialogs/dialog_text_properties.cpp +++ b/pcbnew/dialogs/dialog_text_properties.cpp @@ -228,105 +228,6 @@ void DIALOG_TEXT_PROPERTIES::OnCharHook( wxKeyEvent& aEvent ) } -wxString DIALOG_TEXT_PROPERTIES::convertKIIDsToReferences( const wxString& aSource ) -{ - wxString newbuf; - size_t sourceLen = aSource.length(); - - for( size_t i = 0; i < sourceLen; ++i ) - { - if( aSource[i] == '$' && i + 1 < sourceLen && aSource[i+1] == '{' ) - { - wxString token; - bool isCrossRef = false; - - for( i = i + 2; i < sourceLen; ++i ) - { - if( aSource[i] == '}' ) - break; - - if( aSource[i] == ':' ) - isCrossRef = true; - - token.append( aSource[i] ); - } - - if( isCrossRef ) - { - wxString remainder; - wxString ref = token.BeforeFirst( ':', &remainder ); - BOARD_ITEM* refItem = m_Parent->GetBoard()->GetItem( KIID( ref ) ); - - if( refItem && refItem->Type() == PCB_MODULE_T ) - token = static_cast( refItem )->GetReference() + ":" + remainder; - } - - newbuf.append( "${" + token + "}" ); - } - else - { - newbuf.append( aSource[i] ); - } - } - - return newbuf; -} - - -wxString DIALOG_TEXT_PROPERTIES::convertReferencesToKIIDs( const wxString& aSource ) -{ - wxString newbuf; - size_t sourceLen = aSource.length(); - - for( size_t i = 0; i < sourceLen; ++i ) - { - if( aSource[i] == '$' && i + 1 < sourceLen && aSource[i+1] == '{' ) - { - wxString token; - bool isCrossRef = false; - - for( i = i + 2; i < sourceLen; ++i ) - { - if( aSource[i] == '}' ) - break; - - if( aSource[i] == ':' ) - isCrossRef = true; - - token.append( aSource[i] ); - } - - if( isCrossRef ) - { - wxString remainder; - wxString ref = token.BeforeFirst( ':', &remainder ); - - for( MODULE* mod : m_Parent->GetBoard()->Modules() ) - { - if( mod->GetReference().CmpNoCase( ref ) == 0 ) - { - wxString test( remainder ); - - if( mod->ResolveTextVar( &test ) ) - token = mod->m_Uuid.AsString() + ":" + remainder; - - break; - } - } - } - - newbuf.append( "${" + token + "}" ); - } - else - { - newbuf.append( aSource[i] ); - } - } - - return newbuf; -} - - bool DIALOG_TEXT_PROPERTIES::TransferDataToWindow() { if( m_SingleLineText->IsShown() ) @@ -340,7 +241,10 @@ bool DIALOG_TEXT_PROPERTIES::TransferDataToWindow() } else if( m_MultiLineText->IsShown() ) { - m_MultiLineText->SetValue( convertKIIDsToReferences( m_edaText->GetText() ) ); + BOARD* board = m_Parent->GetBoard(); + wxString converted = board->ConvertKIIDsToCrossReferences( m_edaText->GetText() ); + + m_MultiLineText->SetValue( converted ); m_MultiLineText->SetSelection( -1, -1 ); } @@ -425,7 +329,8 @@ bool DIALOG_TEXT_PROPERTIES::TransferDataFromWindow() { if( !m_MultiLineText->GetValue().IsEmpty() ) { - wxString txt = convertReferencesToKIIDs( m_MultiLineText->GetValue() ); + BOARD* board = m_Parent->GetBoard(); + wxString txt = board->ConvertCrossReferencesToKIIDs( m_MultiLineText->GetValue() ); // On Windows, a new line is coded as \r\n. // We use only \n in kicad files and in drawing routines. diff --git a/pcbnew/dialogs/dialog_text_properties.h b/pcbnew/dialogs/dialog_text_properties.h index 6a324b89d5..44b392c0cc 100644 --- a/pcbnew/dialogs/dialog_text_properties.h +++ b/pcbnew/dialogs/dialog_text_properties.h @@ -60,9 +60,6 @@ private: wxFloatingPointValidator m_OrientValidator; double m_OrientValue; - wxString convertReferencesToKIIDs( const wxString& aSource ); - wxString convertKIIDsToReferences( const wxString& aSource ); - bool TransferDataToWindow() override; bool TransferDataFromWindow() override;