From a0b5d1cd7b32de3fbe7235c1e27071b43c634c9a Mon Sep 17 00:00:00 2001 From: jean-pierre charras Date: Fri, 7 Aug 2015 10:28:14 +0200 Subject: [PATCH] Pcbnew, dialog exchange footprints: better messages in option radio box. --- .../dialogs/dialog_exchange_modules_base.cpp | 18 +- .../dialogs/dialog_exchange_modules_base.fbp | 182 +++++++++++++++++- pcbnew/dialogs/dialog_exchange_modules_base.h | 6 +- pcbnew/xchgmod.cpp | 15 +- 4 files changed, 202 insertions(+), 19 deletions(-) diff --git a/pcbnew/dialogs/dialog_exchange_modules_base.cpp b/pcbnew/dialogs/dialog_exchange_modules_base.cpp index c0faa9bc3c..79bc5cc04d 100644 --- a/pcbnew/dialogs/dialog_exchange_modules_base.cpp +++ b/pcbnew/dialogs/dialog_exchange_modules_base.cpp @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////// -// C++ code generated with wxFormBuilder (version Jun 5 2014) +// C++ code generated with wxFormBuilder (version Jun 17 2015) // http://www.wxformbuilder.org/ // // PLEASE DO "NOT" EDIT THIS FILE! @@ -28,18 +28,22 @@ DIALOG_EXCHANGE_MODULE_BASE::DIALOG_EXCHANGE_MODULE_BASE( wxWindow* parent, wxWi m_OldModule = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY ); m_OldModule->SetMaxLength( 0 ); - bLeftSizer->Add( m_OldModule, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND, 5 ); + bLeftSizer->Add( m_OldModule, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 ); m_staticText7 = new wxStaticText( this, wxID_ANY, _("Current value"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticText7->Wrap( -1 ); bLeftSizer->Add( m_staticText7, 0, wxTOP|wxRIGHT|wxLEFT, 5 ); - m_OldValue = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY ); - m_OldValue->SetMaxLength( 0 ); - bLeftSizer->Add( m_OldValue, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND, 5 ); + m_CurrValue = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY ); + m_CurrValue->SetMaxLength( 0 ); + bLeftSizer->Add( m_CurrValue, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 ); + m_staticText5 = new wxStaticText( this, wxID_ANY, _("Current reference"), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticText5->Wrap( -1 ); + bLeftSizer->Add( m_staticText5, 0, wxTOP|wxRIGHT|wxLEFT, 5 ); - bLeftSizer->Add( 5, 10, 1, wxEXPAND, 5 ); + m_CurrReference = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY ); + bLeftSizer->Add( m_CurrReference, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 ); m_staticText8 = new wxStaticText( this, wxID_ANY, _("New footprint"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticText8->Wrap( -1 ); @@ -55,7 +59,7 @@ DIALOG_EXCHANGE_MODULE_BASE::DIALOG_EXCHANGE_MODULE_BASE( wxWindow* parent, wxWi wxBoxSizer* bMiddleSizer; bMiddleSizer = new wxBoxSizer( wxVERTICAL ); - wxString m_SelectionChoices[] = { _("Change footprint"), _("Reload footprint"), _("Change footprint and value"), _("Change all footprints") }; + wxString m_SelectionChoices[] = { _("Change footprint"), _("Change footprints"), _("Change footprints having same value"), _("Update all footprints of the board") }; int m_SelectionNChoices = sizeof( m_SelectionChoices ) / sizeof( wxString ); m_Selection = new wxRadioBox( this, ID_SELECTION_CLICKED, _("Options"), wxDefaultPosition, wxDefaultSize, m_SelectionNChoices, m_SelectionChoices, 1, wxRA_SPECIFY_COLS ); m_Selection->SetSelection( 1 ); diff --git a/pcbnew/dialogs/dialog_exchange_modules_base.fbp b/pcbnew/dialogs/dialog_exchange_modules_base.fbp index c55077ae97..48c0d7a497 100644 --- a/pcbnew/dialogs/dialog_exchange_modules_base.fbp +++ b/pcbnew/dialogs/dialog_exchange_modules_base.fbp @@ -196,7 +196,7 @@ 5 - wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND + wxEXPAND|wxRIGHT|wxLEFT 0 1 @@ -370,7 +370,7 @@ 5 - wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND + wxEXPAND|wxRIGHT|wxLEFT 0 1 @@ -408,7 +408,7 @@ 0 1 - m_OldValue + m_CurrValue 1 @@ -461,12 +461,176 @@ 5 - wxEXPAND - 1 - - 10 + wxTOP|wxRIGHT|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Current reference + + 0 + + + 0 + + 1 + m_staticText5 + 1 + + protected - 5 + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxBOTTOM|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_CurrReference + 1 + + + protected + 1 + + Resizable + 1 + + wxTE_READONLY + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -672,7 +836,7 @@ 1 0 - "Change footprint" "Reload footprint" "Change footprint and value" "Change all footprints" + "Change footprint" "Change footprints" "Change footprints having same value" "Update all footprints of the board" 1 1 diff --git a/pcbnew/dialogs/dialog_exchange_modules_base.h b/pcbnew/dialogs/dialog_exchange_modules_base.h index b28cf192e3..cfae35ae5a 100644 --- a/pcbnew/dialogs/dialog_exchange_modules_base.h +++ b/pcbnew/dialogs/dialog_exchange_modules_base.h @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////// -// C++ code generated with wxFormBuilder (version Jun 5 2014) +// C++ code generated with wxFormBuilder (version Jun 17 2015) // http://www.wxformbuilder.org/ // // PLEASE DO "NOT" EDIT THIS FILE! @@ -41,7 +41,9 @@ class DIALOG_EXCHANGE_MODULE_BASE : public DIALOG_SHIM wxStaticText* m_staticText6; wxTextCtrl* m_OldModule; wxStaticText* m_staticText7; - wxTextCtrl* m_OldValue; + wxTextCtrl* m_CurrValue; + wxStaticText* m_staticText5; + wxTextCtrl* m_CurrReference; wxStaticText* m_staticText8; wxTextCtrl* m_NewModule; wxRadioBox* m_Selection; diff --git a/pcbnew/xchgmod.cpp b/pcbnew/xchgmod.cpp index 348cf7f61e..9070091667 100644 --- a/pcbnew/xchgmod.cpp +++ b/pcbnew/xchgmod.cpp @@ -116,7 +116,20 @@ void DIALOG_EXCHANGE_MODULE::init() m_OldModule->AppendText( FROM_UTF8( m_currentModule->GetFPID().Format().c_str() ) ); m_NewModule->AppendText( FROM_UTF8( m_currentModule->GetFPID().Format().c_str() ) ); - m_OldValue->AppendText( m_currentModule->GetValue() ); + m_CurrValue->AppendText( m_currentModule->GetValue() ); + m_CurrReference->AppendText( m_currentModule->GetReference() ); + m_Selection->SetString( 0, wxString::Format( + _("Change footprint of '%s'" ), + GetChars( m_currentModule->GetReference() ) ) ); + wxString fpname = m_OldModule->GetValue().AfterLast(':'); + + if( fpname.IsEmpty() ) // Happens for old fp names + fpname = m_OldModule->GetValue(); + + m_Selection->SetString( 1, wxString::Format( + _("Change footprints '%s'" ), + GetChars( fpname.Left( 12 ) ) ) ); + m_Selection->SetSelection( m_selectionMode ); // Enable/disable widgets: