LIB_TREE's SetFocus() override no longer getting called.
The KIPLATFORM stuff forces focus, but not through the SetFocus() call. Fixes https://gitlab.com/kicad/code/kicad/issues/6657
This commit is contained in:
parent
ac684ac7a3
commit
b26a5972c5
|
@ -110,6 +110,12 @@ LIB_TREE::LIB_TREE( wxWindow* aParent, LIB_TABLE* aLibTable,
|
||||||
m_tree_ctrl->Bind( wxEVT_DATAVIEW_SELECTION_CHANGED, &LIB_TREE::onTreeSelect, this );
|
m_tree_ctrl->Bind( wxEVT_DATAVIEW_SELECTION_CHANGED, &LIB_TREE::onTreeSelect, this );
|
||||||
m_tree_ctrl->Bind( wxEVT_COMMAND_DATAVIEW_ITEM_CONTEXT_MENU, &LIB_TREE::onContextMenu, this );
|
m_tree_ctrl->Bind( wxEVT_COMMAND_DATAVIEW_ITEM_CONTEXT_MENU, &LIB_TREE::onContextMenu, this );
|
||||||
|
|
||||||
|
if( m_query_ctrl )
|
||||||
|
{
|
||||||
|
m_query_ctrl->Bind( wxEVT_SET_FOCUS, &LIB_TREE::onFocus, this );
|
||||||
|
m_query_ctrl->Bind( wxEVT_KILL_FOCUS, &LIB_TREE::onKillFocus, this );
|
||||||
|
}
|
||||||
|
|
||||||
Bind( COMPONENT_PRESELECTED, &LIB_TREE::onPreselect, this );
|
Bind( COMPONENT_PRESELECTED, &LIB_TREE::onPreselect, this );
|
||||||
|
|
||||||
// If wxTextCtrl::SetHint() is called before binding wxEVT_TEXT, the event
|
// If wxTextCtrl::SetHint() is called before binding wxEVT_TEXT, the event
|
||||||
|
@ -148,6 +154,18 @@ LIB_TREE::~LIB_TREE()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void LIB_TREE::onFocus( wxFocusEvent& aEvent )
|
||||||
|
{
|
||||||
|
m_label = "OnFOCUS";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void LIB_TREE::onKillFocus( wxFocusEvent& aEvent )
|
||||||
|
{
|
||||||
|
m_label = "OnKILLFOCUS";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
LIB_ID LIB_TREE::GetSelectedLibId( int* aUnit ) const
|
LIB_ID LIB_TREE::GetSelectedLibId( int* aUnit ) const
|
||||||
{
|
{
|
||||||
auto sel = m_tree_ctrl->GetSelection();
|
auto sel = m_tree_ctrl->GetSelection();
|
||||||
|
@ -224,12 +242,12 @@ void LIB_TREE::RefreshLibTree()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void LIB_TREE::SetFocus()
|
wxWindow* LIB_TREE::GetFocusTarget()
|
||||||
{
|
{
|
||||||
if( m_query_ctrl )
|
if( m_query_ctrl )
|
||||||
m_query_ctrl->SetFocus();
|
return m_query_ctrl;
|
||||||
else
|
else
|
||||||
m_tree_ctrl->SetFocus();
|
return m_tree_ctrl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -104,7 +104,7 @@ public:
|
||||||
*/
|
*/
|
||||||
void RefreshLibTree();
|
void RefreshLibTree();
|
||||||
|
|
||||||
void SetFocus() override;
|
wxWindow* GetFocusTarget();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
/**
|
/**
|
||||||
|
@ -155,6 +155,9 @@ protected:
|
||||||
*/
|
*/
|
||||||
void setState( const STATE& aState );
|
void setState( const STATE& aState );
|
||||||
|
|
||||||
|
void onFocus( wxFocusEvent& aEvent );
|
||||||
|
void onKillFocus( wxFocusEvent& aEvent );
|
||||||
|
|
||||||
void onQueryText( wxCommandEvent& aEvent );
|
void onQueryText( wxCommandEvent& aEvent );
|
||||||
void onQueryEnter( wxCommandEvent& aEvent );
|
void onQueryEnter( wxCommandEvent& aEvent );
|
||||||
void onQueryCharHook( wxKeyEvent& aEvent );
|
void onQueryCharHook( wxKeyEvent& aEvent );
|
||||||
|
|
|
@ -158,15 +158,17 @@ DIALOG_CHOOSE_COMPONENT::DIALOG_CHOOSE_COMPONENT( SCH_BASE_FRAME* aParent, const
|
||||||
horizPixelsFromDU( 220 ) );
|
horizPixelsFromDU( 220 ) );
|
||||||
|
|
||||||
if( m_vsplitter )
|
if( m_vsplitter )
|
||||||
|
{
|
||||||
m_vsplitter->SetSashPosition( panelCfg.sash_pos_v > 0 ? panelCfg.sash_pos_v :
|
m_vsplitter->SetSashPosition( panelCfg.sash_pos_v > 0 ? panelCfg.sash_pos_v :
|
||||||
vertPixelsFromDU( 230 ) );
|
vertPixelsFromDU( 230 ) );
|
||||||
|
}
|
||||||
|
|
||||||
wxSize dlgSize( panelCfg.width > 0 ? panelCfg.width : horizPixelsFromDU( 390 ),
|
wxSize dlgSize( panelCfg.width > 0 ? panelCfg.width : horizPixelsFromDU( 390 ),
|
||||||
panelCfg.height > 0 ? panelCfg.height : vertPixelsFromDU( 300 ) );
|
panelCfg.height > 0 ? panelCfg.height : vertPixelsFromDU( 300 ) );
|
||||||
SetSize( dlgSize );
|
SetSize( dlgSize );
|
||||||
}
|
}
|
||||||
|
|
||||||
SetInitialFocus( m_tree );
|
SetInitialFocus( m_tree->GetFocusTarget() );
|
||||||
okButton->SetDefault();
|
okButton->SetDefault();
|
||||||
|
|
||||||
Bind( wxEVT_INIT_DIALOG, &DIALOG_CHOOSE_COMPONENT::OnInitDialog, this );
|
Bind( wxEVT_INIT_DIALOG, &DIALOG_CHOOSE_COMPONENT::OnInitDialog, this );
|
||||||
|
@ -175,17 +177,23 @@ DIALOG_CHOOSE_COMPONENT::DIALOG_CHOOSE_COMPONENT( SCH_BASE_FRAME* aParent, const
|
||||||
Bind( COMPONENT_SELECTED, &DIALOG_CHOOSE_COMPONENT::OnComponentSelected, this );
|
Bind( COMPONENT_SELECTED, &DIALOG_CHOOSE_COMPONENT::OnComponentSelected, this );
|
||||||
|
|
||||||
if( m_browser_button )
|
if( m_browser_button )
|
||||||
|
{
|
||||||
m_browser_button->Bind( wxEVT_COMMAND_BUTTON_CLICKED,
|
m_browser_button->Bind( wxEVT_COMMAND_BUTTON_CLICKED,
|
||||||
&DIALOG_CHOOSE_COMPONENT::OnUseBrowser, this );
|
&DIALOG_CHOOSE_COMPONENT::OnUseBrowser, this );
|
||||||
|
}
|
||||||
|
|
||||||
if( m_fp_sel_ctrl )
|
if( m_fp_sel_ctrl )
|
||||||
|
{
|
||||||
m_fp_sel_ctrl->Bind( EVT_FOOTPRINT_SELECTED,
|
m_fp_sel_ctrl->Bind( EVT_FOOTPRINT_SELECTED,
|
||||||
&DIALOG_CHOOSE_COMPONENT::OnFootprintSelected, this );
|
&DIALOG_CHOOSE_COMPONENT::OnFootprintSelected, this );
|
||||||
|
}
|
||||||
|
|
||||||
if( m_details )
|
if( m_details )
|
||||||
|
{
|
||||||
m_details->Connect( wxEVT_CHAR_HOOK,
|
m_details->Connect( wxEVT_CHAR_HOOK,
|
||||||
wxKeyEventHandler( DIALOG_CHOOSE_COMPONENT::OnCharHook ),
|
wxKeyEventHandler( DIALOG_CHOOSE_COMPONENT::OnCharHook ),
|
||||||
NULL, this );
|
NULL, this );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -134,7 +134,7 @@ DIALOG_CHOOSE_FOOTPRINT::DIALOG_CHOOSE_FOOTPRINT( PCB_BASE_FRAME* aParent,
|
||||||
horizPixelsFromDU( 340 ) : cfg->m_FootprintChooser.height;
|
horizPixelsFromDU( 340 ) : cfg->m_FootprintChooser.height;
|
||||||
SetSize( wxSize( w, h ) );
|
SetSize( wxSize( w, h ) );
|
||||||
|
|
||||||
SetInitialFocus( m_tree );
|
SetInitialFocus( m_tree->GetFocusTarget() );
|
||||||
okButton->SetDefault();
|
okButton->SetDefault();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue