Move search status messages to Find/Replace dialog.
Fixes: lp:1777699 * https://bugs.launchpad.net/kicad/+bug/1777699 (cherry picked from commit 1ae8a2b)
This commit is contained in:
parent
d016238c82
commit
1bca706115
|
@ -34,13 +34,13 @@ DEFINE_EVENT_TYPE( EVT_COMMAND_FIND_DRC_MARKER )
|
|||
DEFINE_EVENT_TYPE( EVT_COMMAND_FIND_COMPONENT_IN_LIB )
|
||||
|
||||
|
||||
DIALOG_SCH_FIND::DIALOG_SCH_FIND( wxWindow* aParent, wxFindReplaceData* aData,
|
||||
DIALOG_SCH_FIND::DIALOG_SCH_FIND( wxWindow* aParent, wxFindReplaceData* aData, wxString* aStatus,
|
||||
const wxPoint& aPosition, const wxSize& aSize, int aStyle ) :
|
||||
DIALOG_SCH_FIND_BASE( aParent, wxID_ANY, _( "Find" ), aPosition, aSize,
|
||||
wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER | aStyle )
|
||||
wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER | aStyle ),
|
||||
m_findReplaceData( aData ),
|
||||
m_status( aStatus )
|
||||
{
|
||||
SetData( aData );
|
||||
|
||||
wxASSERT_MSG( m_findReplaceData, wxT( "can't create find dialog without data" ) );
|
||||
|
||||
if( aStyle & wxFR_REPLACEDIALOG )
|
||||
|
@ -71,8 +71,10 @@ DIALOG_SCH_FIND::DIALOG_SCH_FIND( wxWindow* aParent, wxFindReplaceData* aData,
|
|||
m_checkWrap->SetValue( flags & FR_SEARCH_WRAP );
|
||||
m_checkCurrentSheetOnly->SetValue( flags & FR_CURRENT_SHEET_ONLY );
|
||||
|
||||
m_statusLine->SetLabel( wxEmptyString );
|
||||
m_buttonFind->SetDefault();
|
||||
m_comboFind->SetFocus();
|
||||
SetInitialFocus( m_comboFind );
|
||||
|
||||
SetPosition( aPosition );
|
||||
|
||||
// Adjust the height of the dialog to prevent controls from being hidden when
|
||||
|
@ -263,6 +265,8 @@ void DIALOG_SCH_FIND::SendEvent( const wxEventType& aEventType )
|
|||
|
||||
if( event.GetFlags() != flags )
|
||||
m_findReplaceData->SetFlags( event.GetFlags() );
|
||||
|
||||
m_statusLine->SetLabel( *m_status );
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -168,18 +168,16 @@ protected:
|
|||
|
||||
void SendEvent( const wxEventType& aEventType );
|
||||
|
||||
wxFindReplaceData *m_findReplaceData;
|
||||
wxFindReplaceData* m_findReplaceData;
|
||||
wxString* m_status;
|
||||
|
||||
DECLARE_NO_COPY_CLASS( DIALOG_SCH_FIND )
|
||||
|
||||
public:
|
||||
DIALOG_SCH_FIND( wxWindow* aParent, wxFindReplaceData* aData,
|
||||
DIALOG_SCH_FIND( wxWindow* aParent, wxFindReplaceData* aData, wxString* aStatus,
|
||||
const wxPoint& aPosition = wxDefaultPosition,
|
||||
const wxSize& aSize = wxDefaultSize, int aStyle = 0 );
|
||||
|
||||
const wxFindReplaceData *GetData() const { return m_findReplaceData; }
|
||||
void SetData(wxFindReplaceData *aData) { m_findReplaceData = aData; }
|
||||
|
||||
void SetFindEntries( const wxArrayString& aEntries );
|
||||
wxArrayString GetFindEntries() const;
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
///////////////////////////////////////////////////////////////////////////
|
||||
// C++ code generated with wxFormBuilder (version Apr 19 2018)
|
||||
// C++ code generated with wxFormBuilder (version Dec 30 2017)
|
||||
// http://www.wxformbuilder.org/
|
||||
//
|
||||
// PLEASE DO *NOT* EDIT THIS FILE!
|
||||
|
@ -14,7 +14,10 @@ DIALOG_SCH_FIND_BASE::DIALOG_SCH_FIND_BASE( wxWindow* parent, wxWindowID id, con
|
|||
this->SetSizeHints( wxDefaultSize, wxDefaultSize );
|
||||
|
||||
wxBoxSizer* mainSizer;
|
||||
mainSizer = new wxBoxSizer( wxHORIZONTAL );
|
||||
mainSizer = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
wxBoxSizer* topSizer;
|
||||
topSizer = new wxBoxSizer( wxHORIZONTAL );
|
||||
|
||||
wxBoxSizer* leftSizer;
|
||||
leftSizer = new wxBoxSizer( wxVERTICAL );
|
||||
|
@ -27,24 +30,24 @@ DIALOG_SCH_FIND_BASE::DIALOG_SCH_FIND_BASE( wxWindow* parent, wxWindowID id, con
|
|||
|
||||
m_staticText1 = new wxStaticText( this, wxID_ANY, _("&Search for:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_staticText1->Wrap( -1 );
|
||||
leftGridSizer->Add( m_staticText1, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 6 );
|
||||
leftGridSizer->Add( m_staticText1, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 6 );
|
||||
|
||||
m_comboFind = new wxComboBox( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_DROPDOWN|wxTE_PROCESS_ENTER );
|
||||
m_comboFind->SetToolTip( _("Text with optional wildcards") );
|
||||
m_comboFind->SetMinSize( wxSize( 125,-1 ) );
|
||||
m_comboFind->SetMinSize( wxSize( 200,-1 ) );
|
||||
|
||||
leftGridSizer->Add( m_comboFind, 1, wxEXPAND|wxLEFT|wxRIGHT, 6 );
|
||||
leftGridSizer->Add( m_comboFind, 0, wxEXPAND, 6 );
|
||||
|
||||
m_staticReplace = new wxStaticText( this, wxID_ANY, _("Replace &with:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_staticReplace->Wrap( -1 );
|
||||
m_staticReplace->Hide();
|
||||
|
||||
leftGridSizer->Add( m_staticReplace, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
|
||||
leftGridSizer->Add( m_staticReplace, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
|
||||
|
||||
m_comboReplace = new wxComboBox( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxTE_PROCESS_ENTER );
|
||||
m_comboReplace->Hide();
|
||||
|
||||
leftGridSizer->Add( m_comboReplace, 0, wxALL|wxEXPAND, 5 );
|
||||
leftGridSizer->Add( m_comboReplace, 0, wxEXPAND, 5 );
|
||||
|
||||
m_staticDirection = new wxStaticText( this, wxID_ANY, _("Direction:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_staticDirection->Wrap( -1 );
|
||||
|
@ -69,41 +72,47 @@ DIALOG_SCH_FIND_BASE::DIALOG_SCH_FIND_BASE( wxWindow* parent, wxWindowID id, con
|
|||
leftGridSizer->Add( directionSizer, 1, wxEXPAND, 5 );
|
||||
|
||||
|
||||
leftSizer->Add( leftGridSizer, 1, wxALL|wxEXPAND, 6 );
|
||||
leftSizer->Add( leftGridSizer, 0, wxALL|wxEXPAND, 5 );
|
||||
|
||||
wxBoxSizer* checkBoxes;
|
||||
checkBoxes = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
m_checkWholeWord = new wxCheckBox( this, wxID_ANY, _("Match whole wor&d"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_checkWholeWord->SetValue(true);
|
||||
leftSizer->Add( m_checkWholeWord, 0, wxALL, 6 );
|
||||
checkBoxes->Add( m_checkWholeWord, 0, wxALL, 3 );
|
||||
|
||||
m_checkMatchCase = new wxCheckBox( this, wxID_ANY, _("&Match case"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
leftSizer->Add( m_checkMatchCase, 0, wxBOTTOM|wxLEFT|wxRIGHT, 6 );
|
||||
checkBoxes->Add( m_checkMatchCase, 0, wxBOTTOM|wxLEFT|wxRIGHT, 3 );
|
||||
|
||||
m_checkWildcardMatch = new wxCheckBox( this, wxID_ANY, _("Search &using simple wildcard matching"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
leftSizer->Add( m_checkWildcardMatch, 0, wxBOTTOM|wxLEFT|wxRIGHT, 6 );
|
||||
checkBoxes->Add( m_checkWildcardMatch, 0, wxBOTTOM|wxLEFT|wxRIGHT, 3 );
|
||||
|
||||
m_checkWrap = new wxCheckBox( this, wxID_ANY, _("Wrap around &end of search list"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_checkWrap->SetValue(true);
|
||||
leftSizer->Add( m_checkWrap, 0, wxBOTTOM|wxLEFT|wxRIGHT, 6 );
|
||||
checkBoxes->Add( m_checkWrap, 0, wxBOTTOM|wxLEFT|wxRIGHT, 3 );
|
||||
|
||||
m_checkAllFields = new wxCheckBox( this, wxID_ANY, _("Search all com&ponent fields"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
leftSizer->Add( m_checkAllFields, 0, wxBOTTOM|wxLEFT|wxRIGHT, 6 );
|
||||
checkBoxes->Add( m_checkAllFields, 0, wxBOTTOM|wxLEFT|wxRIGHT, 3 );
|
||||
|
||||
m_checkAllPins = new wxCheckBox( this, wxID_ANY, _("Search all pin &names and numbers"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
leftSizer->Add( m_checkAllPins, 0, wxBOTTOM|wxRIGHT|wxLEFT, 6 );
|
||||
checkBoxes->Add( m_checkAllPins, 0, wxBOTTOM|wxRIGHT|wxLEFT, 3 );
|
||||
|
||||
m_checkCurrentSheetOnly = new wxCheckBox( this, wxID_ANY, _("Search the current &sheet only"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
leftSizer->Add( m_checkCurrentSheetOnly, 0, wxBOTTOM|wxLEFT|wxRIGHT, 6 );
|
||||
checkBoxes->Add( m_checkCurrentSheetOnly, 0, wxBOTTOM|wxLEFT|wxRIGHT, 3 );
|
||||
|
||||
m_checkReplaceReferences = new wxCheckBox( this, wxID_ANY, _("Replace componen&t reference designators"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_checkReplaceReferences->Hide();
|
||||
|
||||
leftSizer->Add( m_checkReplaceReferences, 0, wxBOTTOM|wxLEFT|wxRIGHT, 6 );
|
||||
checkBoxes->Add( m_checkReplaceReferences, 0, wxBOTTOM|wxLEFT|wxRIGHT, 3 );
|
||||
|
||||
m_checkNoWarpCursor = new wxCheckBox( this, wxID_ANY, _("D&o not warp cursor to found item"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
leftSizer->Add( m_checkNoWarpCursor, 0, wxBOTTOM|wxLEFT|wxRIGHT, 6 );
|
||||
checkBoxes->Add( m_checkNoWarpCursor, 0, wxBOTTOM|wxLEFT|wxRIGHT, 3 );
|
||||
|
||||
|
||||
mainSizer->Add( leftSizer, 1, wxALL|wxEXPAND, 6 );
|
||||
leftSizer->Add( checkBoxes, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
|
||||
topSizer->Add( leftSizer, 1, wxEXPAND|wxALL, 5 );
|
||||
|
||||
wxBoxSizer* rightSizer;
|
||||
rightSizer = new wxBoxSizer( wxVERTICAL );
|
||||
|
@ -126,7 +135,25 @@ DIALOG_SCH_FIND_BASE::DIALOG_SCH_FIND_BASE( wxWindow* parent, wxWindowID id, con
|
|||
rightSizer->Add( m_buttonCancel, 0, wxBOTTOM|wxLEFT|wxRIGHT|wxEXPAND, 6 );
|
||||
|
||||
|
||||
mainSizer->Add( rightSizer, 0, wxALL|wxEXPAND, 6 );
|
||||
topSizer->Add( rightSizer, 0, wxALL|wxEXPAND, 6 );
|
||||
|
||||
|
||||
mainSizer->Add( topSizer, 1, wxEXPAND, 5 );
|
||||
|
||||
wxBoxSizer* statusSizer;
|
||||
statusSizer = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
m_staticline1 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
|
||||
statusSizer->Add( m_staticline1, 0, wxEXPAND|wxALL, 3 );
|
||||
|
||||
m_statusLine = new wxStaticText( this, wxID_ANY, _("Status..."), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_statusLine->Wrap( -1 );
|
||||
m_statusLine->SetFont( wxFont( 10, wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false, wxEmptyString ) );
|
||||
|
||||
statusSizer->Add( m_statusLine, 0, wxBOTTOM|wxRIGHT|wxLEFT, 7 );
|
||||
|
||||
|
||||
mainSizer->Add( statusSizer, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
|
||||
this->SetSizer( mainSizer );
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,5 +1,5 @@
|
|||
///////////////////////////////////////////////////////////////////////////
|
||||
// C++ code generated with wxFormBuilder (version Apr 19 2018)
|
||||
// C++ code generated with wxFormBuilder (version Dec 30 2017)
|
||||
// http://www.wxformbuilder.org/
|
||||
//
|
||||
// PLEASE DO *NOT* EDIT THIS FILE!
|
||||
|
@ -23,6 +23,7 @@
|
|||
#include <wx/sizer.h>
|
||||
#include <wx/checkbox.h>
|
||||
#include <wx/button.h>
|
||||
#include <wx/statline.h>
|
||||
#include <wx/dialog.h>
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
@ -56,6 +57,8 @@ class DIALOG_SCH_FIND_BASE : public DIALOG_SHIM
|
|||
wxButton* m_buttonReplace;
|
||||
wxButton* m_buttonReplaceAll;
|
||||
wxButton* m_buttonCancel;
|
||||
wxStaticLine* m_staticline1;
|
||||
wxStaticText* m_statusLine;
|
||||
|
||||
// Virtual event handlers, overide them in your derived class
|
||||
virtual void OnClose( wxCloseEvent& event ) { event.Skip(); }
|
||||
|
|
|
@ -438,13 +438,8 @@ void SCH_EDIT_FRAME::updateFindReplaceView( wxFindDialogEvent& aEvent )
|
|||
wxString msg;
|
||||
SCH_SHEET_LIST schematic( g_RootSheet );
|
||||
SCH_FIND_COLLECTOR_DATA data;
|
||||
SCH_FIND_REPLACE_DATA searchCriteria;
|
||||
bool warpCursor = !( aEvent.GetFlags() & FR_NO_WARP_CURSOR );
|
||||
|
||||
searchCriteria.SetFlags( aEvent.GetFlags() );
|
||||
searchCriteria.SetFindString( aEvent.GetFindString() );
|
||||
searchCriteria.SetReplaceString( aEvent.GetReplaceString() );
|
||||
|
||||
if( m_foundItems.GetItem( data ) != NULL )
|
||||
{
|
||||
wxLogTrace( traceFindReplace, wxT( "Found " ) + m_foundItems.GetText( MILLIMETRES ) );
|
||||
|
@ -494,5 +489,6 @@ void SCH_EDIT_FRAME::updateFindReplaceView( wxFindDialogEvent& aEvent )
|
|||
msg.Printf( _( "No item found matching %s." ), GetChars( aEvent.GetFindString() ) );
|
||||
}
|
||||
|
||||
*m_findReplaceStatus = msg;
|
||||
SetStatusText( msg );
|
||||
}
|
||||
|
|
|
@ -498,14 +498,18 @@ wxString SCH_FIND_COLLECTOR::GetText( EDA_UNITS_T aUnits )
|
|||
|
||||
if( data.GetParent() )
|
||||
{
|
||||
return wxString::Format( _( "Child item %s of parent item %s found in sheet %s" ),
|
||||
return wxString::Format( _( "Match %i of %i: %s of %s in sheet %s" ),
|
||||
m_foundIndex + 1,
|
||||
GetCount(),
|
||||
foundItem->GetSelectMenuText( aUnits ),
|
||||
data.GetParent()->GetSelectMenuText( aUnits ),
|
||||
data.GetSheetPath() );
|
||||
}
|
||||
else
|
||||
{
|
||||
return wxString::Format( _( "Item %s found in sheet %s" ),
|
||||
return wxString::Format( _( "Match %i of %i: %s in sheet %s" ),
|
||||
m_foundIndex + 1,
|
||||
GetCount(),
|
||||
foundItem->GetSelectMenuText( aUnits ),
|
||||
data.GetSheetPath() );
|
||||
}
|
||||
|
|
|
@ -369,6 +369,7 @@ SCH_EDIT_FRAME::SCH_EDIT_FRAME( KIWAY* aKiway, wxWindow* aParent ):
|
|||
m_hotkeysDescrList = g_Schematic_Hokeys_Descr;
|
||||
m_dlgFindReplace = NULL;
|
||||
m_findReplaceData = new wxFindReplaceData( wxFR_DOWN );
|
||||
m_findReplaceStatus = new wxString( wxEmptyString );
|
||||
m_undoItem = NULL;
|
||||
m_hasAutoSave = true;
|
||||
|
||||
|
@ -462,11 +463,13 @@ SCH_EDIT_FRAME::~SCH_EDIT_FRAME()
|
|||
delete m_undoItem;
|
||||
delete g_RootSheet;
|
||||
delete m_findReplaceData;
|
||||
delete m_findReplaceStatus;
|
||||
|
||||
m_CurrentSheet = NULL;
|
||||
m_undoItem = NULL;
|
||||
g_RootSheet = NULL;
|
||||
m_findReplaceData = NULL;
|
||||
m_findReplaceStatus = NULL;
|
||||
}
|
||||
|
||||
|
||||
|
@ -974,8 +977,8 @@ void SCH_EDIT_FRAME::OnFindItems( wxCommandEvent& aEvent )
|
|||
if( aEvent.GetId() == wxID_REPLACE )
|
||||
style = wxFR_REPLACEDIALOG;
|
||||
|
||||
m_dlgFindReplace = new DIALOG_SCH_FIND( this, m_findReplaceData, position, m_findDialogSize,
|
||||
style );
|
||||
m_dlgFindReplace = new DIALOG_SCH_FIND( this, m_findReplaceData, m_findReplaceStatus,
|
||||
position, m_findDialogSize, style );
|
||||
|
||||
m_dlgFindReplace->SetFindEntries( m_findStringHistoryList );
|
||||
m_dlgFindReplace->SetReplaceEntries( m_replaceStringHistoryList );
|
||||
|
|
|
@ -124,6 +124,7 @@ private:
|
|||
PARAM_CFG_ARRAY m_configSettings;
|
||||
wxPageSetupDialogData m_pageSetupData;
|
||||
wxFindReplaceData* m_findReplaceData;
|
||||
wxString* m_findReplaceStatus;
|
||||
wxPoint m_previewPosition;
|
||||
wxSize m_previewSize;
|
||||
wxPoint m_printDialogPosition;
|
||||
|
|
Loading…
Reference in New Issue