mirror of
https://gitlab.com/kicad/code/kicad.git
synced 2025-04-21 14:31:42 +00:00
Search Panel hint in Find Dialogs.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19722
This commit is contained in:
parent
3b3fd95430
commit
97a0ec504b
@ -63,6 +63,12 @@ DIALOG_SCH_FIND::DIALOG_SCH_FIND( SCH_EDIT_FRAME* aParent, SCH_SEARCH_DATA* aDat
|
||||
m_checkCurrentSheetOnly->Enable( !m_findReplaceData->searchSelectedOnly );
|
||||
m_checkSelectedOnly->SetValue( m_findReplaceData->searchSelectedOnly );
|
||||
|
||||
if( int hotkey = ACTIONS::showSearch.GetHotKey() )
|
||||
{
|
||||
wxString hotkeyHint = wxString::Format( wxT( " (%s)" ), KeyNameFromKeyCode( hotkey ) );
|
||||
m_searchPanelLink->SetLabel( m_searchPanelLink->GetLabel() + hotkeyHint );
|
||||
}
|
||||
|
||||
m_buttonFind->SetDefault();
|
||||
SetInitialFocus( m_comboFind );
|
||||
|
||||
@ -83,14 +89,11 @@ DIALOG_SCH_FIND::DIALOG_SCH_FIND( SCH_EDIT_FRAME* aParent, SCH_SEARCH_DATA* aDat
|
||||
SetSize( size );
|
||||
|
||||
GetSizer()->Fit( this ); // Needed on Ubuntu/Unity to display the dialog
|
||||
|
||||
Connect( wxEVT_CHAR, wxKeyEventHandler( DIALOG_SCH_FIND::OnChar ), nullptr, this );
|
||||
}
|
||||
|
||||
|
||||
DIALOG_SCH_FIND::~DIALOG_SCH_FIND()
|
||||
{
|
||||
Disconnect( wxEVT_CHAR, wxKeyEventHandler( DIALOG_SCH_FIND::OnChar ), nullptr, this );
|
||||
}
|
||||
|
||||
|
||||
@ -118,6 +121,26 @@ void DIALOG_SCH_FIND::OnCancel( wxCommandEvent& aEvent )
|
||||
}
|
||||
|
||||
|
||||
void DIALOG_SCH_FIND::onShowSearchPanel( wxHyperlinkEvent& event )
|
||||
{
|
||||
if( m_frame->IsSearchPaneShown() )
|
||||
{
|
||||
EndModal( wxID_CANCEL );
|
||||
|
||||
CallAfter(
|
||||
[]()
|
||||
{
|
||||
if( wxWindow* frame = wxWindow::FindWindowByName( SCH_EDIT_FRAME_NAME ) )
|
||||
static_cast<SCH_EDIT_FRAME*>( frame )->FocusSearch();
|
||||
} );
|
||||
}
|
||||
else
|
||||
{
|
||||
m_frame->GetToolManager()->RunAction( ACTIONS::showSearch );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void DIALOG_SCH_FIND::OnUpdateReplaceUI( wxUpdateUIEvent& aEvent )
|
||||
{
|
||||
aEvent.Enable( HasFlag( wxFR_REPLACEDIALOG ) && !m_comboFind->GetValue().empty()
|
||||
@ -131,16 +154,6 @@ void DIALOG_SCH_FIND::OnUpdateReplaceAllUI( wxUpdateUIEvent& aEvent )
|
||||
}
|
||||
|
||||
|
||||
void DIALOG_SCH_FIND::OnChar( wxKeyEvent& aEvent )
|
||||
{
|
||||
if( aEvent.GetKeyCode() == WXK_RETURN || aEvent.GetKeyCode() == WXK_NUMPAD_ENTER )
|
||||
{
|
||||
wxCommandEvent dummyCommand;
|
||||
OnFind( dummyCommand );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void DIALOG_SCH_FIND::OnSearchForText( wxCommandEvent& aEvent )
|
||||
{
|
||||
m_findReplaceData->findString = m_comboFind->GetValue();
|
||||
|
@ -62,13 +62,14 @@ protected:
|
||||
void OnUpdateReplaceUI( wxUpdateUIEvent& aEvent ) override;
|
||||
void OnUpdateReplaceAllUI( wxUpdateUIEvent& aEvent ) override;
|
||||
void OnIdle( wxIdleEvent& event ) override;
|
||||
void OnChar( wxKeyEvent& aEvent );
|
||||
void OnFind( wxCommandEvent& aEvent ) override;
|
||||
void OnReplace( wxCommandEvent& aEvent ) override;
|
||||
void onShowSearchPanel( wxHyperlinkEvent& event ) override;
|
||||
|
||||
// Rebuild the search flags from dialog settings
|
||||
void updateFlags();
|
||||
|
||||
protected:
|
||||
SCH_EDIT_FRAME* m_frame;
|
||||
SCH_FIND_REPLACE_TOOL* m_findReplaceTool;
|
||||
SCH_SEARCH_DATA* m_findReplaceData;
|
||||
|
@ -140,6 +140,18 @@ DIALOG_SCH_FIND_BASE::DIALOG_SCH_FIND_BASE( wxWindow* parent, wxWindowID id, con
|
||||
|
||||
mainSizer->Add( topSizer, 1, wxEXPAND, 5 );
|
||||
|
||||
wxBoxSizer* bSizer6;
|
||||
bSizer6 = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
m_staticline1 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
|
||||
bSizer6->Add( m_staticline1, 0, wxEXPAND|wxTOP|wxBOTTOM, 5 );
|
||||
|
||||
m_searchPanelLink = new wxHyperlinkCtrl( this, wxID_ANY, _("Show search panel"), wxT("http://www.wxformbuilder.org"), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
|
||||
bSizer6->Add( m_searchPanelLink, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_RIGHT, 5 );
|
||||
|
||||
|
||||
mainSizer->Add( bSizer6, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
|
||||
this->SetSizer( mainSizer );
|
||||
this->Layout();
|
||||
@ -171,6 +183,7 @@ DIALOG_SCH_FIND_BASE::DIALOG_SCH_FIND_BASE( wxWindow* parent, wxWindowID id, con
|
||||
m_buttonReplaceAll->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_SCH_FIND_BASE::OnReplace ), NULL, this );
|
||||
m_buttonReplaceAll->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_SCH_FIND_BASE::OnUpdateReplaceAllUI ), NULL, this );
|
||||
m_buttonCancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_SCH_FIND_BASE::OnCancel ), NULL, this );
|
||||
m_searchPanelLink->Connect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( DIALOG_SCH_FIND_BASE::onShowSearchPanel ), NULL, this );
|
||||
}
|
||||
|
||||
DIALOG_SCH_FIND_BASE::~DIALOG_SCH_FIND_BASE()
|
||||
@ -199,5 +212,6 @@ DIALOG_SCH_FIND_BASE::~DIALOG_SCH_FIND_BASE()
|
||||
m_buttonReplaceAll->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_SCH_FIND_BASE::OnReplace ), NULL, this );
|
||||
m_buttonReplaceAll->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_SCH_FIND_BASE::OnUpdateReplaceAllUI ), NULL, this );
|
||||
m_buttonCancel->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_SCH_FIND_BASE::OnCancel ), NULL, this );
|
||||
m_searchPanelLink->Disconnect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( DIALOG_SCH_FIND_BASE::onShowSearchPanel ), NULL, this );
|
||||
|
||||
}
|
||||
|
@ -1454,6 +1454,141 @@
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="true">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxBoxSizer" expanded="true">
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">bSizer6</property>
|
||||
<property name="orient">wxVERTICAL</property>
|
||||
<property name="permission">none</property>
|
||||
<object class="sizeritem" expanded="true">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND|wxTOP|wxBOTTOM</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxStaticLine" expanded="true">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer">0</property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position">0</property>
|
||||
<property name="aui_row">0</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="drag_accept_files">0</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="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_staticline1</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">wxLI_HORIZONTAL</property>
|
||||
<property name="subclass">; ; forward_declare</property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="true">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_RIGHT</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxHyperlinkCtrl" expanded="true">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer">0</property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position">0</property>
|
||||
<property name="aui_row">0</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="drag_accept_files">0</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="hover_color"></property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">Show search panel</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_searchPanelLink</property>
|
||||
<property name="normal_color"></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">wxHL_DEFAULT_STYLE</property>
|
||||
<property name="subclass">; ; forward_declare</property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="url">http://www.wxformbuilder.org</property>
|
||||
<property name="visited_color"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<event name="OnHyperlink">onShowSearchPanel</event>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
|
@ -26,6 +26,8 @@
|
||||
#include <wx/bitmap.h>
|
||||
#include <wx/image.h>
|
||||
#include <wx/icon.h>
|
||||
#include <wx/statline.h>
|
||||
#include <wx/hyperlink.h>
|
||||
#include <wx/dialog.h>
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
@ -57,6 +59,8 @@ class DIALOG_SCH_FIND_BASE : public DIALOG_SHIM
|
||||
wxButton* m_buttonReplace;
|
||||
wxButton* m_buttonReplaceAll;
|
||||
wxButton* m_buttonCancel;
|
||||
wxStaticLine* m_staticline1;
|
||||
wxHyperlinkCtrl* m_searchPanelLink;
|
||||
|
||||
// Virtual event handlers, override them in your derived class
|
||||
virtual void OnClose( wxCloseEvent& event ) { event.Skip(); }
|
||||
@ -74,6 +78,7 @@ class DIALOG_SCH_FIND_BASE : public DIALOG_SHIM
|
||||
virtual void OnUpdateReplaceUI( wxUpdateUIEvent& event ) { event.Skip(); }
|
||||
virtual void OnUpdateReplaceAllUI( wxUpdateUIEvent& event ) { event.Skip(); }
|
||||
virtual void OnCancel( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void onShowSearchPanel( wxHyperlinkEvent& event ) { event.Skip(); }
|
||||
|
||||
|
||||
public:
|
||||
|
@ -1164,6 +1164,12 @@ void SCH_EDIT_FRAME::doCloseWindow()
|
||||
}
|
||||
|
||||
|
||||
void SCH_EDIT_FRAME::FocusSearch()
|
||||
{
|
||||
m_searchPane->FocusSearch();
|
||||
}
|
||||
|
||||
|
||||
SEVERITY SCH_EDIT_FRAME::GetSeverity( int aErrorCode ) const
|
||||
{
|
||||
return Schematic().ErcSettings().GetSeverity( aErrorCode );
|
||||
|
@ -930,6 +930,10 @@ public:
|
||||
*/
|
||||
static const wxString SearchPaneName() { return wxT( "Search" ); }
|
||||
|
||||
bool IsSearchPaneShown() { return m_auimgr.GetPane( SearchPaneName() ).IsShown(); }
|
||||
|
||||
void FocusSearch();
|
||||
|
||||
/**
|
||||
* Add \a aListener to post #EDA_EVT_SCHEMATIC_CHANGED command events to.
|
||||
*
|
||||
|
@ -31,6 +31,7 @@
|
||||
#include <zone.h>
|
||||
#include <dialog_find.h>
|
||||
#include <string_utils.h>
|
||||
#include <hotkeys_basic.h>
|
||||
#include <string>
|
||||
#include <tool/tool_manager.h>
|
||||
#include <tools/pcb_actions.h>
|
||||
@ -51,10 +52,10 @@ bool FindIncludeMarkers = true;
|
||||
bool FindIncludeNets = true;
|
||||
|
||||
|
||||
DIALOG_FIND::DIALOG_FIND( PCB_BASE_FRAME *aFrame ) :
|
||||
DIALOG_FIND_BASE( aFrame, wxID_ANY, _( "Find" ) )
|
||||
DIALOG_FIND::DIALOG_FIND( PCB_EDIT_FRAME *aFrame ) :
|
||||
DIALOG_FIND_BASE( aFrame, wxID_ANY, _( "Find" ) ),
|
||||
m_frame( aFrame )
|
||||
{
|
||||
m_frame = aFrame;
|
||||
GetSizer()->SetSizeHints( this );
|
||||
|
||||
m_searchCombo->Append( m_frame->GetFindHistoryList() );
|
||||
@ -88,6 +89,12 @@ DIALOG_FIND::DIALOG_FIND( PCB_BASE_FRAME *aFrame ) :
|
||||
m_hitList.clear();
|
||||
m_it = m_hitList.begin();
|
||||
|
||||
if( int hotkey = ACTIONS::showSearch.GetHotKey() )
|
||||
{
|
||||
wxString hotkeyHint = wxString::Format( wxT( " (%s)" ), KeyNameFromKeyCode( hotkey ) );
|
||||
m_searchPanelLink->SetLabel( m_searchPanelLink->GetLabel() + hotkeyHint );
|
||||
}
|
||||
|
||||
m_findNext->SetDefault();
|
||||
SetInitialFocus( m_searchCombo );
|
||||
|
||||
@ -130,6 +137,26 @@ void DIALOG_FIND::onSearchAgainClick( wxCommandEvent& aEvent )
|
||||
}
|
||||
|
||||
|
||||
void DIALOG_FIND::onShowSearchPanel( wxHyperlinkEvent& event )
|
||||
{
|
||||
if( m_frame->IsSearchPaneShown() )
|
||||
{
|
||||
EndModal( wxID_CANCEL );
|
||||
|
||||
CallAfter(
|
||||
[]()
|
||||
{
|
||||
if( wxWindow* frame = wxWindow::FindWindowByName( PCB_EDIT_FRAME_NAME ) )
|
||||
static_cast<PCB_EDIT_FRAME*>( frame )->FocusSearch();
|
||||
} );
|
||||
}
|
||||
else
|
||||
{
|
||||
m_frame->GetToolManager()->RunAction( ACTIONS::showSearch );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void DIALOG_FIND::search( bool aDirection )
|
||||
{
|
||||
PCB_SCREEN* screen = m_frame->GetScreen();
|
||||
|
@ -40,7 +40,7 @@ using namespace std;
|
||||
class DIALOG_FIND : public DIALOG_FIND_BASE
|
||||
{
|
||||
public:
|
||||
DIALOG_FIND( PCB_BASE_FRAME* aParent );
|
||||
DIALOG_FIND( PCB_EDIT_FRAME* aParent );
|
||||
|
||||
void Preload( const wxString& aFindString );
|
||||
|
||||
@ -87,9 +87,12 @@ private:
|
||||
void onFindNextClick( wxCommandEvent& event ) override;
|
||||
void onFindPreviousClick( wxCommandEvent& event ) override;
|
||||
void onSearchAgainClick( wxCommandEvent& event ) override;
|
||||
void onShowSearchPanel( wxHyperlinkEvent& event ) override;
|
||||
|
||||
void search( bool direction );
|
||||
|
||||
PCB_BASE_FRAME* m_frame;
|
||||
private:
|
||||
PCB_EDIT_FRAME* m_frame;
|
||||
std::deque<BOARD_ITEM*> m_hitList;
|
||||
std::deque<BOARD_ITEM*>::iterator m_it;
|
||||
bool m_upToDate;
|
||||
|
@ -120,6 +120,12 @@ DIALOG_FIND_BASE::DIALOG_FIND_BASE( wxWindow* parent, wxWindowID id, const wxStr
|
||||
sizerStatus->Add( m_status, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
|
||||
sizerStatus->Add( 0, 0, 1, wxEXPAND, 5 );
|
||||
|
||||
m_searchPanelLink = new wxHyperlinkCtrl( this, wxID_ANY, _("Show search panel"), wxT("http://www.wxformbuilder.org"), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
|
||||
sizerStatus->Add( m_searchPanelLink, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
|
||||
bSizer10->Add( sizerStatus, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
|
||||
@ -136,6 +142,7 @@ DIALOG_FIND_BASE::DIALOG_FIND_BASE( wxWindow* parent, wxWindowID id, const wxStr
|
||||
m_findPrevious->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FIND_BASE::onFindPreviousClick ), NULL, this );
|
||||
m_searchAgain->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FIND_BASE::onSearchAgainClick ), NULL, this );
|
||||
m_closeButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FIND_BASE::OnCloseButtonClick ), NULL, this );
|
||||
m_searchPanelLink->Connect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( DIALOG_FIND_BASE::onShowSearchPanel ), NULL, this );
|
||||
}
|
||||
|
||||
DIALOG_FIND_BASE::~DIALOG_FIND_BASE()
|
||||
@ -147,5 +154,6 @@ DIALOG_FIND_BASE::~DIALOG_FIND_BASE()
|
||||
m_findPrevious->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FIND_BASE::onFindPreviousClick ), NULL, this );
|
||||
m_searchAgain->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FIND_BASE::onSearchAgainClick ), NULL, this );
|
||||
m_closeButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_FIND_BASE::OnCloseButtonClick ), NULL, this );
|
||||
m_searchPanelLink->Disconnect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( DIALOG_FIND_BASE::onShowSearchPanel ), NULL, this );
|
||||
|
||||
}
|
||||
|
@ -1275,6 +1275,81 @@
|
||||
<property name="wrap">-1</property>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="true">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND</property>
|
||||
<property name="proportion">1</property>
|
||||
<object class="spacer" expanded="true">
|
||||
<property name="height">0</property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="width">0</property>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="true">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxBOTTOM|wxRIGHT|wxLEFT</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxHyperlinkCtrl" expanded="true">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer">0</property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position">0</property>
|
||||
<property name="aui_row">0</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="drag_accept_files">0</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="hover_color"></property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">Show search panel</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_searchPanelLink</property>
|
||||
<property name="normal_color"></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">wxHL_DEFAULT_STYLE</property>
|
||||
<property name="subclass">; ; forward_declare</property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="url">http://www.wxformbuilder.org</property>
|
||||
<property name="visited_color"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<event name="OnHyperlink">onShowSearchPanel</event>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
|
@ -25,6 +25,7 @@
|
||||
#include <wx/image.h>
|
||||
#include <wx/icon.h>
|
||||
#include <wx/statline.h>
|
||||
#include <wx/hyperlink.h>
|
||||
#include <wx/dialog.h>
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
@ -53,6 +54,7 @@ class DIALOG_FIND_BASE : public DIALOG_SHIM
|
||||
wxButton* m_searchAgain;
|
||||
wxButton* m_closeButton;
|
||||
wxStaticText* m_status;
|
||||
wxHyperlinkCtrl* m_searchPanelLink;
|
||||
|
||||
// Virtual event handlers, override them in your derived class
|
||||
virtual void OnClose( wxCloseEvent& event ) { event.Skip(); }
|
||||
@ -61,6 +63,7 @@ class DIALOG_FIND_BASE : public DIALOG_SHIM
|
||||
virtual void onFindPreviousClick( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void onSearchAgainClick( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void OnCloseButtonClick( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void onShowSearchPanel( wxHyperlinkEvent& event ) { event.Skip(); }
|
||||
|
||||
|
||||
public:
|
||||
|
@ -1419,6 +1419,12 @@ void PCB_EDIT_FRAME::ShowBoardSetupDialog( const wxString& aInitialPage )
|
||||
}
|
||||
|
||||
|
||||
void PCB_EDIT_FRAME::FocusSearch()
|
||||
{
|
||||
m_searchPane->FocusSearch();
|
||||
}
|
||||
|
||||
|
||||
void PCB_EDIT_FRAME::LoadSettings( APP_SETTINGS_BASE* aCfg )
|
||||
{
|
||||
PCB_BASE_FRAME::LoadSettings( aCfg );
|
||||
|
@ -314,6 +314,9 @@ public:
|
||||
|
||||
void ToggleSearch();
|
||||
|
||||
bool IsSearchPaneShown() { return m_auimgr.GetPane( SearchPaneName() ).IsShown(); }
|
||||
void FocusSearch();
|
||||
|
||||
/**
|
||||
* Create an ASCII footprint position file.
|
||||
*
|
||||
|
@ -42,7 +42,7 @@
|
||||
FP_LIB_TABLE GFootprintTable;
|
||||
|
||||
|
||||
DIALOG_FIND::DIALOG_FIND( PCB_BASE_FRAME* aParent ) :
|
||||
DIALOG_FIND::DIALOG_FIND( PCB_EDIT_FRAME* aParent ) :
|
||||
DIALOG_FIND_BASE( aParent )
|
||||
{
|
||||
// these members are initialized to avoid warnings about non initialized vars
|
||||
@ -68,6 +68,10 @@ void DIALOG_FIND::onTextEnter( wxCommandEvent& event )
|
||||
{
|
||||
}
|
||||
|
||||
void DIALOG_FIND::onShowSearchPanel( wxHyperlinkEvent& event )
|
||||
{
|
||||
}
|
||||
|
||||
void DIALOG_FIND::OnCloseButtonClick( wxCommandEvent& aEvent )
|
||||
{
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user