Update fields list when source or target lib IDs change.

Fixes https://gitlab.com/kicad/code/kicad/issues/8263
This commit is contained in:
Jeff Young 2021-06-28 20:37:51 +01:00
parent c159500101
commit e2a2c3282a
5 changed files with 22 additions and 0 deletions

View File

@ -206,6 +206,18 @@ void DIALOG_CHANGE_SYMBOLS::onMatchTextKillFocus( wxFocusEvent& event )
}
void DIALOG_CHANGE_SYMBOLS::onMatchIDKillFocus( wxFocusEvent& event )
{
updateFieldsList();
}
void DIALOG_CHANGE_SYMBOLS::onNewLibIDKillFocus( wxFocusEvent& event )
{
updateFieldsList();
}
DIALOG_CHANGE_SYMBOLS::~DIALOG_CHANGE_SYMBOLS()
{
g_selectRefDes = m_fieldsBox->IsChecked( REFERENCE_FIELD );

View File

@ -47,6 +47,8 @@ protected:
void launchMatchIdSymbolBrowser( wxCommandEvent& aEvent ) override;
void launchNewIdSymbolBrowser( wxCommandEvent& aEvent ) override;
void onMatchTextKillFocus( wxFocusEvent& event ) override;
void onMatchIDKillFocus( wxFocusEvent& event ) override;
void onNewLibIDKillFocus( wxFocusEvent& event ) override;
void onOkButtonClicked( wxCommandEvent& aEvent ) override;
void onMatchByAll( wxCommandEvent& aEvent ) override;
void onMatchBySelected( wxCommandEvent& aEvent ) override;

View File

@ -187,7 +187,9 @@ DIALOG_CHANGE_SYMBOLS_BASE::DIALOG_CHANGE_SYMBOLS_BASE( wxWindow* parent, wxWind
m_specifiedValue->Connect( wxEVT_KILL_FOCUS, wxFocusEventHandler( DIALOG_CHANGE_SYMBOLS_BASE::onMatchTextKillFocus ), NULL, this );
m_specifiedValue->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_CHANGE_SYMBOLS_BASE::OnMatchText ), NULL, this );
m_matchById->Connect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( DIALOG_CHANGE_SYMBOLS_BASE::onMatchById ), NULL, this );
m_specifiedId->Connect( wxEVT_KILL_FOCUS, wxFocusEventHandler( DIALOG_CHANGE_SYMBOLS_BASE::onMatchIDKillFocus ), NULL, this );
m_matchIdBrowserButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_CHANGE_SYMBOLS_BASE::launchMatchIdSymbolBrowser ), NULL, this );
m_newId->Connect( wxEVT_KILL_FOCUS, wxFocusEventHandler( DIALOG_CHANGE_SYMBOLS_BASE::onNewLibIDKillFocus ), NULL, this );
m_newIdBrowserButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_CHANGE_SYMBOLS_BASE::launchNewIdSymbolBrowser ), NULL, this );
m_selAllBtn->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_CHANGE_SYMBOLS_BASE::onSelectAll ), NULL, this );
m_selNoneBtn->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_CHANGE_SYMBOLS_BASE::onSelectNone ), NULL, this );
@ -205,7 +207,9 @@ DIALOG_CHANGE_SYMBOLS_BASE::~DIALOG_CHANGE_SYMBOLS_BASE()
m_specifiedValue->Disconnect( wxEVT_KILL_FOCUS, wxFocusEventHandler( DIALOG_CHANGE_SYMBOLS_BASE::onMatchTextKillFocus ), NULL, this );
m_specifiedValue->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_CHANGE_SYMBOLS_BASE::OnMatchText ), NULL, this );
m_matchById->Disconnect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( DIALOG_CHANGE_SYMBOLS_BASE::onMatchById ), NULL, this );
m_specifiedId->Disconnect( wxEVT_KILL_FOCUS, wxFocusEventHandler( DIALOG_CHANGE_SYMBOLS_BASE::onMatchIDKillFocus ), NULL, this );
m_matchIdBrowserButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_CHANGE_SYMBOLS_BASE::launchMatchIdSymbolBrowser ), NULL, this );
m_newId->Disconnect( wxEVT_KILL_FOCUS, wxFocusEventHandler( DIALOG_CHANGE_SYMBOLS_BASE::onNewLibIDKillFocus ), NULL, this );
m_newIdBrowserButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_CHANGE_SYMBOLS_BASE::launchNewIdSymbolBrowser ), NULL, this );
m_selAllBtn->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_CHANGE_SYMBOLS_BASE::onSelectAll ), NULL, this );
m_selNoneBtn->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_CHANGE_SYMBOLS_BASE::onSelectNone ), NULL, this );

View File

@ -624,6 +624,7 @@
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style"></property>
<event name="OnKillFocus">onMatchIDKillFocus</event>
</object>
</object>
<object class="gbsizeritem" expanded="1">
@ -915,6 +916,7 @@
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style"></property>
<event name="OnKillFocus">onNewLibIDKillFocus</event>
</object>
</object>
<object class="sizeritem" expanded="1">

View File

@ -86,7 +86,9 @@ class DIALOG_CHANGE_SYMBOLS_BASE : public DIALOG_SHIM
virtual void onMatchByValue( wxCommandEvent& event ) { event.Skip(); }
virtual void OnMatchText( wxCommandEvent& event ) { event.Skip(); }
virtual void onMatchById( wxCommandEvent& event ) { event.Skip(); }
virtual void onMatchIDKillFocus( wxFocusEvent& event ) { event.Skip(); }
virtual void launchMatchIdSymbolBrowser( wxCommandEvent& event ) { event.Skip(); }
virtual void onNewLibIDKillFocus( wxFocusEvent& event ) { event.Skip(); }
virtual void launchNewIdSymbolBrowser( wxCommandEvent& event ) { event.Skip(); }
virtual void onSelectAll( wxCommandEvent& event ) { event.Skip(); }
virtual void onSelectNone( wxCommandEvent& event ) { event.Skip(); }