Make sure user isn't surprised by Match All setting.
If they selected the dialog with a footprint selected, they're probably not expecting Match All.
This commit is contained in:
parent
9f350820ad
commit
adfe2fc267
|
@ -41,17 +41,20 @@
|
|||
|
||||
|
||||
#define ID_MATCH_FP_ALL 4200
|
||||
#define ID_MATCH_FP_REF 4201
|
||||
#define ID_MATCH_FP_VAL 4202
|
||||
#define ID_MATCH_FP_ID 4203
|
||||
#define ID_MATCH_FP_SELECTED 4201
|
||||
#define ID_MATCH_FP_REF 4202
|
||||
#define ID_MATCH_FP_VAL 4203
|
||||
#define ID_MATCH_FP_ID 4204
|
||||
|
||||
|
||||
int g_matchModeForUpdate = ID_MATCH_FP_ALL;
|
||||
int g_matchModeForUpdateSelected = ID_MATCH_FP_SELECTED;
|
||||
int g_matchModeForExchange = ID_MATCH_FP_REF;
|
||||
int g_matchModeForExchangeSelected = ID_MATCH_FP_SELECTED;
|
||||
|
||||
|
||||
DIALOG_EXCHANGE_FOOTPRINTS::DIALOG_EXCHANGE_FOOTPRINTS( PCB_EDIT_FRAME* aParent, MODULE* aModule,
|
||||
bool updateMode ) :
|
||||
bool updateMode, bool selectedMode ) :
|
||||
DIALOG_EXCHANGE_FOOTPRINTS_BASE( aParent ),
|
||||
m_commit( aParent ),
|
||||
m_parent( aParent ),
|
||||
|
@ -73,17 +76,17 @@ DIALOG_EXCHANGE_FOOTPRINTS::DIALOG_EXCHANGE_FOOTPRINTS( PCB_EDIT_FRAME* aParent,
|
|||
else
|
||||
{
|
||||
m_upperSizer->FindItem( m_matchAll )->Show( false );
|
||||
m_newIDBrowseButton->SetBitmap( KiBitmap( small_library_xpm ) );
|
||||
}
|
||||
|
||||
if( m_currentModule )
|
||||
{
|
||||
label.Printf( m_matchSelected->GetLabel(), verb );
|
||||
m_matchSelected->SetLabel( label );
|
||||
m_newID->AppendText( FROM_UTF8( m_currentModule->GetFPID().Format().c_str() ) );
|
||||
SetInitialFocus( m_newID );
|
||||
}
|
||||
else
|
||||
SetInitialFocus( m_specifiedRef );
|
||||
|
||||
m_newIDBrowseButton->SetBitmap( KiBitmap( small_library_xpm ) );
|
||||
}
|
||||
m_upperSizer->FindItem( m_matchSelected )->Show( false );
|
||||
|
||||
label.Printf( m_matchSpecifiedRef->GetLabel(), verb );
|
||||
m_matchSpecifiedRef->SetLabel( label );
|
||||
|
@ -110,10 +113,18 @@ DIALOG_EXCHANGE_FOOTPRINTS::DIALOG_EXCHANGE_FOOTPRINTS( PCB_EDIT_FRAME* aParent,
|
|||
m_upperSizer->RecalcSizes();
|
||||
|
||||
// initialize match-mode
|
||||
if( m_updateMode )
|
||||
m_matchMode = selectedMode ? &g_matchModeForUpdateSelected : &g_matchModeForUpdate;
|
||||
else
|
||||
m_matchMode = selectedMode ? &g_matchModeForExchangeSelected : &g_matchModeForExchange;
|
||||
|
||||
wxCommandEvent event;
|
||||
switch( m_updateMode ? g_matchModeForUpdate : g_matchModeForExchange )
|
||||
event.SetEventObject( this );
|
||||
|
||||
switch( *m_matchMode )
|
||||
{
|
||||
case ID_MATCH_FP_ALL: OnMatchAllClicked( event ); break;
|
||||
case ID_MATCH_FP_SELECTED: OnMatchSelectedClicked( event ); break;
|
||||
case ID_MATCH_FP_REF: OnMatchRefClicked( event ); break;
|
||||
case ID_MATCH_FP_VAL: OnMatchValueClicked( event ); break;
|
||||
case ID_MATCH_FP_ID: OnMatchIDClicked( event ); break;
|
||||
|
@ -135,23 +146,16 @@ DIALOG_EXCHANGE_FOOTPRINTS::DIALOG_EXCHANGE_FOOTPRINTS( PCB_EDIT_FRAME* aParent,
|
|||
}
|
||||
|
||||
|
||||
void DIALOG_EXCHANGE_FOOTPRINTS::setMatchMode( int aMatchMode )
|
||||
{
|
||||
if( m_updateMode )
|
||||
g_matchModeForUpdate = aMatchMode;
|
||||
else
|
||||
g_matchModeForExchange = aMatchMode;
|
||||
}
|
||||
|
||||
|
||||
bool DIALOG_EXCHANGE_FOOTPRINTS::isMatch( MODULE* aModule )
|
||||
{
|
||||
LIB_ID specifiedID;
|
||||
|
||||
switch( m_updateMode ? g_matchModeForUpdate : g_matchModeForExchange )
|
||||
switch( *m_matchMode )
|
||||
{
|
||||
case ID_MATCH_FP_ALL:
|
||||
return true;
|
||||
case ID_MATCH_FP_SELECTED:
|
||||
return aModule == m_currentModule;
|
||||
case ID_MATCH_FP_REF:
|
||||
return WildCompareString( m_specifiedRef->GetValue(), aModule->GetReference(), false );
|
||||
case ID_MATCH_FP_VAL:
|
||||
|
@ -167,9 +171,10 @@ bool DIALOG_EXCHANGE_FOOTPRINTS::isMatch( MODULE* aModule )
|
|||
|
||||
wxRadioButton* DIALOG_EXCHANGE_FOOTPRINTS::getRadioButtonForMode()
|
||||
{
|
||||
switch( m_updateMode ? g_matchModeForUpdate : g_matchModeForExchange )
|
||||
switch( *m_matchMode )
|
||||
{
|
||||
case ID_MATCH_FP_ALL: return m_matchAll;
|
||||
case ID_MATCH_FP_SELECTED: return m_matchSelected;
|
||||
case ID_MATCH_FP_REF: return m_matchSpecifiedRef;
|
||||
case ID_MATCH_FP_VAL: return m_matchSpecifiedValue;
|
||||
case ID_MATCH_FP_ID: return m_matchSpecifiedID;
|
||||
|
@ -184,6 +189,8 @@ void DIALOG_EXCHANGE_FOOTPRINTS::updateMatchModeRadioButtons( wxUpdateUIEvent& )
|
|||
|
||||
wxRadioButton* rb_butt_list[] =
|
||||
{
|
||||
m_matchAll,
|
||||
m_matchSelected,
|
||||
m_matchSpecifiedRef,
|
||||
m_matchSpecifiedValue,
|
||||
m_matchSpecifiedID,
|
||||
|
@ -205,34 +212,55 @@ void DIALOG_EXCHANGE_FOOTPRINTS::updateMatchModeRadioButtons( wxUpdateUIEvent& )
|
|||
|
||||
void DIALOG_EXCHANGE_FOOTPRINTS::OnMatchAllClicked( wxCommandEvent& event )
|
||||
{
|
||||
setMatchMode( ID_MATCH_FP_ALL );
|
||||
*m_matchMode = ID_MATCH_FP_ALL;
|
||||
|
||||
if( event.GetEventObject() == this )
|
||||
SetInitialFocus( m_matchAll );
|
||||
else
|
||||
m_matchAll->SetFocus();
|
||||
}
|
||||
|
||||
|
||||
void DIALOG_EXCHANGE_FOOTPRINTS::OnMatchSelectedClicked( wxCommandEvent& event )
|
||||
{
|
||||
*m_matchMode = ID_MATCH_FP_SELECTED;
|
||||
|
||||
if( event.GetEventObject() == this )
|
||||
SetInitialFocus( m_matchSelected );
|
||||
else
|
||||
m_matchSelected->SetFocus();
|
||||
}
|
||||
|
||||
|
||||
void DIALOG_EXCHANGE_FOOTPRINTS::OnMatchRefClicked( wxCommandEvent& event )
|
||||
{
|
||||
setMatchMode( ID_MATCH_FP_REF );
|
||||
*m_matchMode = ID_MATCH_FP_REF;
|
||||
|
||||
if( event.GetEventObject() != m_specifiedRef )
|
||||
if( event.GetEventObject() == this )
|
||||
SetInitialFocus( m_specifiedRef );
|
||||
else if( event.GetEventObject() != m_specifiedRef )
|
||||
m_specifiedRef->SetFocus();
|
||||
}
|
||||
|
||||
|
||||
void DIALOG_EXCHANGE_FOOTPRINTS::OnMatchValueClicked( wxCommandEvent& event )
|
||||
{
|
||||
setMatchMode( ID_MATCH_FP_VAL );
|
||||
*m_matchMode = ID_MATCH_FP_VAL;
|
||||
|
||||
if( event.GetEventObject() != m_specifiedValue )
|
||||
if( event.GetEventObject() == this )
|
||||
SetInitialFocus( m_specifiedValue );
|
||||
else if( event.GetEventObject() != m_specifiedValue )
|
||||
m_specifiedValue->SetFocus();
|
||||
}
|
||||
|
||||
|
||||
void DIALOG_EXCHANGE_FOOTPRINTS::OnMatchIDClicked( wxCommandEvent& event )
|
||||
{
|
||||
setMatchMode( ID_MATCH_FP_ID );
|
||||
*m_matchMode = ID_MATCH_FP_ID;
|
||||
|
||||
if( event.GetEventObject() != m_specifiedID )
|
||||
if( event.GetEventObject() == this )
|
||||
SetInitialFocus( m_specifiedID );
|
||||
else if( event.GetEventObject() != m_specifiedID )
|
||||
m_specifiedID->SetFocus();
|
||||
}
|
||||
|
||||
|
|
|
@ -40,21 +40,22 @@ private:
|
|||
PCB_EDIT_FRAME* m_parent;
|
||||
MODULE* m_currentModule;
|
||||
bool m_updateMode;
|
||||
int* m_matchMode;
|
||||
|
||||
public:
|
||||
DIALOG_EXCHANGE_FOOTPRINTS( PCB_EDIT_FRAME* aParent, MODULE* aModule, bool updateMode );
|
||||
DIALOG_EXCHANGE_FOOTPRINTS( PCB_EDIT_FRAME* aParent, MODULE* aModule, bool updateMode,
|
||||
bool selectedMode );
|
||||
|
||||
private:
|
||||
void updateMatchModeRadioButtons( wxUpdateUIEvent& event ) override;
|
||||
void OnMatchAllClicked( wxCommandEvent& event ) override;
|
||||
void OnMatchSelectedClicked( wxCommandEvent& event ) override;
|
||||
void OnMatchRefClicked( wxCommandEvent& event ) override;
|
||||
void OnMatchValueClicked( wxCommandEvent& event ) override;
|
||||
void OnMatchIDClicked( wxCommandEvent& event ) override;
|
||||
void OnApplyClicked( wxCommandEvent& event ) override;
|
||||
void ViewAndSelectFootprint( wxCommandEvent& event ) override;
|
||||
|
||||
void setMatchMode( int aMatchMode );
|
||||
|
||||
wxRadioButton* getRadioButtonForMode();
|
||||
|
||||
bool isMatch( MODULE* );
|
||||
|
|
|
@ -24,22 +24,25 @@ DIALOG_EXCHANGE_FOOTPRINTS_BASE::DIALOG_EXCHANGE_FOOTPRINTS_BASE( wxWindow* pare
|
|||
m_matchAll = new wxRadioButton( this, wxID_ANY, _("%s all footprints on board"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_upperSizer->Add( m_matchAll, wxGBPosition( 0, 0 ), wxGBSpan( 1, 2 ), wxEXPAND|wxALL, 5 );
|
||||
|
||||
m_matchSpecifiedRef = new wxRadioButton( this, wxID_ANY, _("%s footprint matching reference:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_upperSizer->Add( m_matchSpecifiedRef, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALL|wxEXPAND, 5 );
|
||||
m_matchSelected = new wxRadioButton( this, wxID_ANY, _("%s selected footprint"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_upperSizer->Add( m_matchSelected, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALL, 5 );
|
||||
|
||||
m_matchSpecifiedRef = new wxRadioButton( this, wxID_ANY, _("%s footprints matching reference:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_upperSizer->Add( m_matchSpecifiedRef, wxGBPosition( 2, 0 ), wxGBSpan( 1, 1 ), wxALL|wxEXPAND, 5 );
|
||||
|
||||
m_specifiedRef = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER );
|
||||
m_specifiedRef->SetMinSize( wxSize( 200,-1 ) );
|
||||
|
||||
m_upperSizer->Add( m_specifiedRef, wxGBPosition( 1, 1 ), wxGBSpan( 1, 1 ), wxBOTTOM|wxRIGHT|wxTOP|wxEXPAND, 5 );
|
||||
m_upperSizer->Add( m_specifiedRef, wxGBPosition( 2, 1 ), wxGBSpan( 1, 1 ), wxBOTTOM|wxRIGHT|wxTOP|wxEXPAND, 5 );
|
||||
|
||||
m_matchSpecifiedValue = new wxRadioButton( this, wxID_ANY, _("%s footprints matching value:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_upperSizer->Add( m_matchSpecifiedValue, wxGBPosition( 2, 0 ), wxGBSpan( 1, 1 ), wxEXPAND|wxALL, 5 );
|
||||
m_upperSizer->Add( m_matchSpecifiedValue, wxGBPosition( 3, 0 ), wxGBSpan( 1, 1 ), wxEXPAND|wxALL, 5 );
|
||||
|
||||
m_specifiedValue = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER );
|
||||
m_upperSizer->Add( m_specifiedValue, wxGBPosition( 2, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxEXPAND|wxTOP|wxBOTTOM|wxRIGHT, 5 );
|
||||
m_upperSizer->Add( m_specifiedValue, wxGBPosition( 3, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxEXPAND|wxTOP|wxBOTTOM|wxRIGHT, 5 );
|
||||
|
||||
m_matchSpecifiedID = new wxRadioButton( this, wxID_ANY, _("%s footprints with identifier:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_upperSizer->Add( m_matchSpecifiedID, wxGBPosition( 3, 0 ), wxGBSpan( 1, 2 ), wxLEFT|wxRIGHT|wxTOP|wxEXPAND, 5 );
|
||||
m_upperSizer->Add( m_matchSpecifiedID, wxGBPosition( 4, 0 ), wxGBSpan( 1, 2 ), wxLEFT|wxRIGHT|wxTOP|wxEXPAND, 5 );
|
||||
|
||||
|
||||
m_upperSizer->AddGrowableCol( 1 );
|
||||
|
@ -130,6 +133,7 @@ DIALOG_EXCHANGE_FOOTPRINTS_BASE::DIALOG_EXCHANGE_FOOTPRINTS_BASE( wxWindow* pare
|
|||
// Connect Events
|
||||
this->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_EXCHANGE_FOOTPRINTS_BASE::updateMatchModeRadioButtons ) );
|
||||
m_matchAll->Connect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( DIALOG_EXCHANGE_FOOTPRINTS_BASE::OnMatchAllClicked ), NULL, this );
|
||||
m_matchSelected->Connect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( DIALOG_EXCHANGE_FOOTPRINTS_BASE::OnMatchSelectedClicked ), NULL, this );
|
||||
m_matchSpecifiedRef->Connect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( DIALOG_EXCHANGE_FOOTPRINTS_BASE::OnMatchRefClicked ), NULL, this );
|
||||
m_specifiedRef->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_EXCHANGE_FOOTPRINTS_BASE::OnMatchRefClicked ), NULL, this );
|
||||
m_specifiedRef->Connect( wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler( DIALOG_EXCHANGE_FOOTPRINTS_BASE::OnMatchRefClicked ), NULL, this );
|
||||
|
@ -149,6 +153,7 @@ DIALOG_EXCHANGE_FOOTPRINTS_BASE::~DIALOG_EXCHANGE_FOOTPRINTS_BASE()
|
|||
// Disconnect Events
|
||||
this->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_EXCHANGE_FOOTPRINTS_BASE::updateMatchModeRadioButtons ) );
|
||||
m_matchAll->Disconnect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( DIALOG_EXCHANGE_FOOTPRINTS_BASE::OnMatchAllClicked ), NULL, this );
|
||||
m_matchSelected->Disconnect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( DIALOG_EXCHANGE_FOOTPRINTS_BASE::OnMatchSelectedClicked ), NULL, this );
|
||||
m_matchSpecifiedRef->Disconnect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( DIALOG_EXCHANGE_FOOTPRINTS_BASE::OnMatchRefClicked ), NULL, this );
|
||||
m_specifiedRef->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_EXCHANGE_FOOTPRINTS_BASE::OnMatchRefClicked ), NULL, this );
|
||||
m_specifiedRef->Disconnect( wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler( DIALOG_EXCHANGE_FOOTPRINTS_BASE::OnMatchRefClicked ), NULL, this );
|
||||
|
|
|
@ -203,9 +203,100 @@
|
|||
<property name="border">5</property>
|
||||
<property name="colspan">1</property>
|
||||
<property name="column">0</property>
|
||||
<property name="flag">wxALL|wxEXPAND</property>
|
||||
<property name="flag">wxALL</property>
|
||||
<property name="row">1</property>
|
||||
<property name="rowspan">1</property>
|
||||
<object class="wxRadioButton" expanded="1">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="default_pane">0</property>
|
||||
<property name="dock">Dock</property>
|
||||
<property name="dock_fixed">0</property>
|
||||
<property name="docking">Left</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="floatable">1</property>
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">%s selected footprint</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_matchSelected</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass">; forward_declare</property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="validator_data_type"></property>
|
||||
<property name="validator_style">wxFILTER_NONE</property>
|
||||
<property name="validator_type">wxDefaultValidator</property>
|
||||
<property name="validator_variable"></property>
|
||||
<property name="value">0</property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<event name="OnChar"></event>
|
||||
<event name="OnEnterWindow"></event>
|
||||
<event name="OnEraseBackground"></event>
|
||||
<event name="OnKeyDown"></event>
|
||||
<event name="OnKeyUp"></event>
|
||||
<event name="OnKillFocus"></event>
|
||||
<event name="OnLeaveWindow"></event>
|
||||
<event name="OnLeftDClick"></event>
|
||||
<event name="OnLeftDown"></event>
|
||||
<event name="OnLeftUp"></event>
|
||||
<event name="OnMiddleDClick"></event>
|
||||
<event name="OnMiddleDown"></event>
|
||||
<event name="OnMiddleUp"></event>
|
||||
<event name="OnMotion"></event>
|
||||
<event name="OnMouseEvents"></event>
|
||||
<event name="OnMouseWheel"></event>
|
||||
<event name="OnPaint"></event>
|
||||
<event name="OnRadioButton">OnMatchSelectedClicked</event>
|
||||
<event name="OnRightDClick"></event>
|
||||
<event name="OnRightDown"></event>
|
||||
<event name="OnRightUp"></event>
|
||||
<event name="OnSetFocus"></event>
|
||||
<event name="OnSize"></event>
|
||||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
</object>
|
||||
<object class="gbsizeritem" expanded="1">
|
||||
<property name="border">5</property>
|
||||
<property name="colspan">1</property>
|
||||
<property name="column">0</property>
|
||||
<property name="flag">wxALL|wxEXPAND</property>
|
||||
<property name="row">2</property>
|
||||
<property name="rowspan">1</property>
|
||||
<object class="wxRadioButton" expanded="0">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
|
@ -234,7 +325,7 @@
|
|||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">%s footprint matching reference:</property>
|
||||
<property name="label">%s footprints matching reference:</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
|
@ -295,7 +386,7 @@
|
|||
<property name="colspan">1</property>
|
||||
<property name="column">1</property>
|
||||
<property name="flag">wxBOTTOM|wxRIGHT|wxTOP|wxEXPAND</property>
|
||||
<property name="row">1</property>
|
||||
<property name="row">2</property>
|
||||
<property name="rowspan">1</property>
|
||||
<object class="wxTextCtrl" expanded="0">
|
||||
<property name="BottomDockable">1</property>
|
||||
|
@ -389,7 +480,7 @@
|
|||
<property name="colspan">1</property>
|
||||
<property name="column">0</property>
|
||||
<property name="flag">wxEXPAND|wxALL</property>
|
||||
<property name="row">2</property>
|
||||
<property name="row">3</property>
|
||||
<property name="rowspan">1</property>
|
||||
<object class="wxRadioButton" expanded="0">
|
||||
<property name="BottomDockable">1</property>
|
||||
|
@ -480,7 +571,7 @@
|
|||
<property name="colspan">1</property>
|
||||
<property name="column">1</property>
|
||||
<property name="flag">wxALIGN_CENTER_VERTICAL|wxEXPAND|wxTOP|wxBOTTOM|wxRIGHT</property>
|
||||
<property name="row">2</property>
|
||||
<property name="row">3</property>
|
||||
<property name="rowspan">1</property>
|
||||
<object class="wxTextCtrl" expanded="0">
|
||||
<property name="BottomDockable">1</property>
|
||||
|
@ -574,7 +665,7 @@
|
|||
<property name="colspan">2</property>
|
||||
<property name="column">0</property>
|
||||
<property name="flag">wxLEFT|wxRIGHT|wxTOP|wxEXPAND</property>
|
||||
<property name="row">3</property>
|
||||
<property name="row">4</property>
|
||||
<property name="rowspan">1</property>
|
||||
<object class="wxRadioButton" expanded="0">
|
||||
<property name="BottomDockable">1</property>
|
||||
|
|
|
@ -49,6 +49,7 @@ class DIALOG_EXCHANGE_FOOTPRINTS_BASE : public DIALOG_SHIM
|
|||
wxBoxSizer* m_mainSizer;
|
||||
wxGridBagSizer* m_upperSizer;
|
||||
wxRadioButton* m_matchAll;
|
||||
wxRadioButton* m_matchSelected;
|
||||
wxRadioButton* m_matchSpecifiedRef;
|
||||
wxTextCtrl* m_specifiedRef;
|
||||
wxRadioButton* m_matchSpecifiedValue;
|
||||
|
@ -71,6 +72,7 @@ class DIALOG_EXCHANGE_FOOTPRINTS_BASE : public DIALOG_SHIM
|
|||
// Virtual event handlers, overide them in your derived class
|
||||
virtual void updateMatchModeRadioButtons( wxUpdateUIEvent& event ) { event.Skip(); }
|
||||
virtual void OnMatchAllClicked( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void OnMatchSelectedClicked( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void OnMatchRefClicked( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void OnMatchValueClicked( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void OnMatchIDClicked( wxCommandEvent& event ) { event.Skip(); }
|
||||
|
|
|
@ -837,7 +837,7 @@ void PCB_EDIT_FRAME::Process_Special_Functions( wxCommandEvent& event )
|
|||
case ID_POPUP_PCB_UPDATE_FOOTPRINTS:
|
||||
if( GetCurItem() && GetCurItem()->Type() == PCB_MODULE_T )
|
||||
{
|
||||
InstallExchangeModuleFrame( (MODULE*) GetCurItem(), true );
|
||||
InstallExchangeModuleFrame( (MODULE*) GetCurItem(), true, true );
|
||||
m_canvas->MoveCursorToCrossHair();
|
||||
}
|
||||
break;
|
||||
|
@ -845,7 +845,7 @@ void PCB_EDIT_FRAME::Process_Special_Functions( wxCommandEvent& event )
|
|||
case ID_POPUP_PCB_EXCHANGE_FOOTPRINTS:
|
||||
if( GetCurItem() && GetCurItem()->Type() == PCB_MODULE_T )
|
||||
{
|
||||
InstallExchangeModuleFrame( (MODULE*) GetCurItem(), false );
|
||||
InstallExchangeModuleFrame( (MODULE*) GetCurItem(), false, true );
|
||||
m_canvas->MoveCursorToCrossHair();
|
||||
}
|
||||
break;
|
||||
|
@ -1216,11 +1216,11 @@ void PCB_EDIT_FRAME::Process_Special_Functions( wxCommandEvent& event )
|
|||
break;
|
||||
|
||||
case ID_MENU_PCB_UPDATE_FOOTPRINTS:
|
||||
InstallExchangeModuleFrame( (MODULE*) GetCurItem(), true );
|
||||
InstallExchangeModuleFrame( (MODULE*) GetCurItem(), true, false );
|
||||
break;
|
||||
|
||||
case ID_MENU_PCB_EXCHANGE_FOOTPRINTS:
|
||||
InstallExchangeModuleFrame( (MODULE*) GetCurItem(), false );
|
||||
InstallExchangeModuleFrame( (MODULE*) GetCurItem(), false, false );
|
||||
break;
|
||||
|
||||
case ID_MENU_PCB_SWAP_LAYERS:
|
||||
|
|
|
@ -1303,19 +1303,20 @@ void PCB_EDIT_FRAME::InstallFootprintPropertiesDialog( MODULE* Module, wxDC* DC
|
|||
|
||||
else if( retvalue == DIALOG_FOOTPRINT_BOARD_EDITOR::PRM_EDITOR_WANT_UPDATE_FP )
|
||||
{
|
||||
InstallExchangeModuleFrame( Module, true );
|
||||
InstallExchangeModuleFrame( Module, true, true );
|
||||
}
|
||||
|
||||
else if( retvalue == DIALOG_FOOTPRINT_BOARD_EDITOR::PRM_EDITOR_WANT_EXCHANGE_FP )
|
||||
{
|
||||
InstallExchangeModuleFrame( Module, false );
|
||||
InstallExchangeModuleFrame( Module, false, true );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
int PCB_EDIT_FRAME::InstallExchangeModuleFrame( MODULE* Module, bool updateMode )
|
||||
int PCB_EDIT_FRAME::InstallExchangeModuleFrame( MODULE* aModule, bool updateMode,
|
||||
bool selectedMode )
|
||||
{
|
||||
DIALOG_EXCHANGE_FOOTPRINTS dialog( this, Module, updateMode );
|
||||
DIALOG_EXCHANGE_FOOTPRINTS dialog( this, aModule, updateMode, selectedMode );
|
||||
|
||||
return dialog.ShowQuasiModal();
|
||||
}
|
||||
|
|
|
@ -1173,7 +1173,7 @@ public:
|
|||
*/
|
||||
void Change_Side_Module( MODULE* Module, wxDC* DC );
|
||||
|
||||
int InstallExchangeModuleFrame( MODULE* ExchangeModuleModule, bool updateMode );
|
||||
int InstallExchangeModuleFrame( MODULE* aModule, bool updateMode, bool selectedMode );
|
||||
|
||||
/**
|
||||
* Function Exchange_Module
|
||||
|
|
|
@ -1180,7 +1180,7 @@ int EDIT_TOOL::ExchangeFootprints( const TOOL_EVENT& aEvent )
|
|||
|
||||
// invoke the exchange dialog process
|
||||
{
|
||||
DIALOG_EXCHANGE_FOOTPRINTS dialog( frame(), mod, updateMode );
|
||||
DIALOG_EXCHANGE_FOOTPRINTS dialog( frame(), mod, updateMode, mod != nullptr );
|
||||
dialog.ShowQuasiModal();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue