From 90d2ea5dd5aab1679ce322113e4ff3bb069e449c Mon Sep 17 00:00:00 2001 From: Jonatan Liljedahl Date: Wed, 20 Nov 2019 14:48:08 +0000 Subject: [PATCH] Eeschema: simulator: add keyboard shortcuts for add signal, etc (cherry picked from commit bc4caa8913ceff15391f6347a9edb8acbc60172e) --- eeschema/sim/sim_plot_frame_base.cpp | 243 +++++----- eeschema/sim/sim_plot_frame_base.fbp | 673 +-------------------------- eeschema/sim/sim_plot_frame_base.h | 28 +- 3 files changed, 143 insertions(+), 801 deletions(-) diff --git a/eeschema/sim/sim_plot_frame_base.cpp b/eeschema/sim/sim_plot_frame_base.cpp index fc6d1c7d1d..256e6b2c75 100644 --- a/eeschema/sim/sim_plot_frame_base.cpp +++ b/eeschema/sim/sim_plot_frame_base.cpp @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////// -// C++ code generated with wxFormBuilder (version Dec 30 2017) +// C++ code generated with wxFormBuilder (version Oct 26 2018) // http://www.wxformbuilder.org/ // // PLEASE DO *NOT* EDIT THIS FILE! @@ -12,291 +12,291 @@ SIM_PLOT_FRAME_BASE::SIM_PLOT_FRAME_BASE( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style, const wxString& name ) : KIWAY_PLAYER( parent, id, title, pos, size, style, name ) { this->SetSizeHints( wxSize( -1,-1 ), wxDefaultSize ); - + m_mainMenu = new wxMenuBar( 0 ); m_fileMenu = new wxMenu(); wxMenuItem* m_newPlot; m_newPlot = new wxMenuItem( m_fileMenu, wxID_NEW, wxString( _("New Plot") ) , wxEmptyString, wxITEM_NORMAL ); m_fileMenu->Append( m_newPlot ); - + m_fileMenu->AppendSeparator(); - + wxMenuItem* m_openWorkbook; m_openWorkbook = new wxMenuItem( m_fileMenu, wxID_OPEN, wxString( _("Open Workbook") ) , wxEmptyString, wxITEM_NORMAL ); m_fileMenu->Append( m_openWorkbook ); - + wxMenuItem* m_saveWorkbook; m_saveWorkbook = new wxMenuItem( m_fileMenu, wxID_SAVE, wxString( _("Save Workbook") ) , wxEmptyString, wxITEM_NORMAL ); m_fileMenu->Append( m_saveWorkbook ); - + m_fileMenu->AppendSeparator(); - + wxMenuItem* m_saveImage; m_saveImage = new wxMenuItem( m_fileMenu, ID_SAVE_AS_IMAGE, wxString( _("Save as Image") ) , wxEmptyString, wxITEM_NORMAL ); m_fileMenu->Append( m_saveImage ); - + wxMenuItem* m_saveCsv; m_saveCsv = new wxMenuItem( m_fileMenu, ID_SAVE_AS_CSV, wxString( _("Save as .csv File") ) , wxEmptyString, wxITEM_NORMAL ); m_fileMenu->Append( m_saveCsv ); - + m_fileMenu->AppendSeparator(); - + wxMenuItem* m_exitSim; m_exitSim = new wxMenuItem( m_fileMenu, wxID_CLOSE, wxString( _("Close Simulation") ) + wxT('\t') + wxT("CTRL+W"), wxEmptyString, wxITEM_NORMAL ); m_fileMenu->Append( m_exitSim ); - - m_mainMenu->Append( m_fileMenu, _("File") ); - + + m_mainMenu->Append( m_fileMenu, _("File") ); + m_simulationMenu = new wxMenu(); - m_runSimulation = new wxMenuItem( m_simulationMenu, ID_MENU_RUN_SIM, wxString( _("Run Simulation") ) , wxEmptyString, wxITEM_NORMAL ); + m_runSimulation = new wxMenuItem( m_simulationMenu, ID_MENU_RUN_SIM, wxString( _("Run Simulation") ) + wxT('\t') + wxT("R"), wxEmptyString, wxITEM_NORMAL ); m_simulationMenu->Append( m_runSimulation ); - + m_simulationMenu->AppendSeparator(); - - m_addSignals = new wxMenuItem( m_simulationMenu, ID_MENU_ADD_SIGNAL, wxString( _("Add Signals...") ) , wxEmptyString, wxITEM_NORMAL ); + + m_addSignals = new wxMenuItem( m_simulationMenu, ID_MENU_ADD_SIGNAL, wxString( _("Add Signals...") ) + wxT('\t') + wxT("A"), wxEmptyString, wxITEM_NORMAL ); m_simulationMenu->Append( m_addSignals ); - - m_probeSignals = new wxMenuItem( m_simulationMenu, ID_MENU_PROBE_SIGNALS, wxString( _("Probe from schematics") ) , wxEmptyString, wxITEM_NORMAL ); + + m_probeSignals = new wxMenuItem( m_simulationMenu, ID_MENU_PROBE_SIGNALS, wxString( _("Probe from schematics") ) + wxT('\t') + wxT("P"), wxEmptyString, wxITEM_NORMAL ); m_simulationMenu->Append( m_probeSignals ); - - m_tuneValue = new wxMenuItem( m_simulationMenu, ID_MENU_TUNE_SIGNALS, wxString( _("Tune Component Value") ) , wxEmptyString, wxITEM_NORMAL ); + + m_tuneValue = new wxMenuItem( m_simulationMenu, ID_MENU_TUNE_SIGNALS, wxString( _("Tune Component Value") ) + wxT('\t') + wxT("T"), wxEmptyString, wxITEM_NORMAL ); m_simulationMenu->Append( m_tuneValue ); - + m_simulationMenu->AppendSeparator(); - + m_showNetlist = new wxMenuItem( m_simulationMenu, ID_MENU_SHOW_NETLIST, wxString( _("Show SPICE Netlist...") ) , _("Shows current simulation's netlist. Useful for debugging SPICE errors."), wxITEM_NORMAL ); m_simulationMenu->Append( m_showNetlist ); - + m_simulationMenu->AppendSeparator(); - + m_settings = new wxMenuItem( m_simulationMenu, ID_MENU_SET_SIMUL, wxString( _("Settings...") ) , wxEmptyString, wxITEM_NORMAL ); m_simulationMenu->Append( m_settings ); - - m_mainMenu->Append( m_simulationMenu, _("Simulation") ); - + + m_mainMenu->Append( m_simulationMenu, _("Simulation") ); + m_viewMenu = new wxMenu(); wxMenuItem* m_zoomIn; m_zoomIn = new wxMenuItem( m_viewMenu, wxID_ZOOM_IN, wxString( _("Zoom In") ) , wxEmptyString, wxITEM_NORMAL ); m_viewMenu->Append( m_zoomIn ); - + wxMenuItem* m_zoomOut; m_zoomOut = new wxMenuItem( m_viewMenu, wxID_ZOOM_OUT, wxString( _("Zoom Out") ) , wxEmptyString, wxITEM_NORMAL ); m_viewMenu->Append( m_zoomOut ); - + wxMenuItem* m_zoomFit; m_zoomFit = new wxMenuItem( m_viewMenu, wxID_ZOOM_FIT, wxString( _("Fit on Screen") ) , wxEmptyString, wxITEM_NORMAL ); m_viewMenu->Append( m_zoomFit ); - + m_viewMenu->AppendSeparator(); - + wxMenuItem* m_showGrid; m_showGrid = new wxMenuItem( m_viewMenu, ID_MENU_SHOW_GRID, wxString( _("Show &Grid") ) , wxEmptyString, wxITEM_CHECK ); m_viewMenu->Append( m_showGrid ); - + wxMenuItem* m_showLegend; m_showLegend = new wxMenuItem( m_viewMenu, ID_MENU_SHOW_LEGEND, wxString( _("Show &Legend") ) , wxEmptyString, wxITEM_CHECK ); m_viewMenu->Append( m_showLegend ); - - m_mainMenu->Append( m_viewMenu, _("View") ); - + + m_mainMenu->Append( m_viewMenu, _("View") ); + this->SetMenuBar( m_mainMenu ); - + m_sizerMain = new wxBoxSizer( wxVERTICAL ); - - m_toolBar = new wxToolBar( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTB_FLAT|wxTB_HORIZONTAL|wxTB_TEXT ); - m_toolBar->Realize(); - + + m_toolBar = new wxToolBar( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTB_FLAT|wxTB_HORIZONTAL|wxTB_TEXT ); + m_toolBar->Realize(); + m_sizerMain->Add( m_toolBar, 0, wxEXPAND, 5 ); - - m_splitterLeftRight = new wxSplitterWindow( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSP_3DSASH|wxSP_LIVE_UPDATE|wxNO_BORDER ); + + m_splitterLeftRight = new wxSplitterWindow( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSP_3DSASH|wxSP_LIVE_UPDATE|wxBORDER_NONE ); m_splitterLeftRight->SetSashGravity( 0.7 ); m_splitterLeftRight->Connect( wxEVT_IDLE, wxIdleEventHandler( SIM_PLOT_FRAME_BASE::m_splitterLeftRightOnIdle ), NULL, this ); m_splitterLeftRight->SetMinimumPaneSize( 50 ); - + m_panelLeft = new wxPanel( m_splitterLeftRight, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); m_panelLeft->SetMinSize( wxSize( 300,-1 ) ); - + m_sizer11 = new wxBoxSizer( wxVERTICAL ); - + m_splitterPlotAndConsole = new wxSplitterWindow( m_panelLeft, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSP_3DSASH|wxSP_LIVE_UPDATE ); m_splitterPlotAndConsole->SetSashGravity( 0.8 ); m_splitterPlotAndConsole->Connect( wxEVT_IDLE, wxIdleEventHandler( SIM_PLOT_FRAME_BASE::m_splitterPlotAndConsoleOnIdle ), NULL, this ); m_splitterPlotAndConsole->SetMinimumPaneSize( 50 ); - + m_plotPanel = new wxPanel( m_splitterPlotAndConsole, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); m_plotPanel->SetMinSize( wxSize( -1,200 ) ); - + m_sizerPlot = new wxBoxSizer( wxHORIZONTAL ); - + m_plotNotebook = new wxAuiNotebook( m_plotPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxAUI_NB_CLOSE_ON_ALL_TABS|wxAUI_NB_MIDDLE_CLICK_CLOSE|wxAUI_NB_TAB_MOVE|wxAUI_NB_TAB_SPLIT|wxAUI_NB_TOP ); m_plotNotebook->SetMinSize( wxSize( 200,-1 ) ); - + m_welcomePanel = new wxPanel( m_plotNotebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); m_sizer8 = new wxBoxSizer( wxVERTICAL ); - - + + m_sizer8->Add( 0, 0, 1, wxEXPAND, 5 ); - + wxBoxSizer* bSizer81; bSizer81 = new wxBoxSizer( wxHORIZONTAL ); - - + + bSizer81->Add( 0, 0, 1, wxEXPAND, 5 ); - + m_staticTextInfo = new wxStaticText( m_welcomePanel, wxID_ANY, _("Start the simulation by clicking the Run Simulation button"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticTextInfo->Wrap( -1 ); m_staticTextInfo->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_BOLD, false, wxEmptyString ) ); m_staticTextInfo->SetForegroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_GRAYTEXT ) ); - + bSizer81->Add( m_staticTextInfo, 0, wxALL|wxEXPAND, 5 ); - - + + bSizer81->Add( 0, 0, 1, wxEXPAND, 5 ); - - + + m_sizer8->Add( bSizer81, 0, wxEXPAND, 5 ); - - + + m_sizer8->Add( 0, 0, 1, wxEXPAND, 5 ); - - + + m_welcomePanel->SetSizer( m_sizer8 ); m_welcomePanel->Layout(); m_sizer8->Fit( m_welcomePanel ); m_plotNotebook->AddPage( m_welcomePanel, _("a page"), false, wxNullBitmap ); - + m_sizerPlot->Add( m_plotNotebook, 1, wxEXPAND, 5 ); - - + + m_plotPanel->SetSizer( m_sizerPlot ); m_plotPanel->Layout(); m_sizerPlot->Fit( m_plotPanel ); m_panelConsole = new wxPanel( m_splitterPlotAndConsole, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); m_panelConsole->SetMinSize( wxSize( -1,100 ) ); - + m_sizerConsole = new wxBoxSizer( wxVERTICAL ); - + m_simConsole = new wxTextCtrl( m_panelConsole, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_DONTWRAP|wxTE_MULTILINE|wxTE_READONLY ); m_simConsole->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_TELETYPE, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false, wxEmptyString ) ); - + m_sizerConsole->Add( m_simConsole, 1, wxEXPAND, 5 ); - - + + m_panelConsole->SetSizer( m_sizerConsole ); m_panelConsole->Layout(); m_sizerConsole->Fit( m_panelConsole ); m_splitterPlotAndConsole->SplitHorizontally( m_plotPanel, m_panelConsole, 500 ); m_sizer11->Add( m_splitterPlotAndConsole, 1, wxEXPAND, 5 ); - - + + m_panelLeft->SetSizer( m_sizer11 ); m_panelLeft->Layout(); m_sizer11->Fit( m_panelLeft ); m_sidePanel = new wxPanel( m_splitterLeftRight, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); m_sidePanel->SetMinSize( wxSize( 200,-1 ) ); - + m_sideSizer = new wxBoxSizer( wxVERTICAL ); - + m_splitterSignals = new wxSplitterWindow( m_sidePanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSP_3DSASH|wxSP_LIVE_UPDATE ); m_splitterSignals->SetSashGravity( 0.33 ); m_splitterSignals->Connect( wxEVT_IDLE, wxIdleEventHandler( SIM_PLOT_FRAME_BASE::m_splitterSignalsOnIdle ), NULL, this ); m_splitterSignals->SetMinimumPaneSize( 20 ); - + m_panelSignals = new wxPanel( m_splitterSignals, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); wxBoxSizer* bSizer10; bSizer10 = new wxBoxSizer( wxVERTICAL ); - + m_staticText2 = new wxStaticText( m_panelSignals, wxID_ANY, _("Signals"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticText2->Wrap( -1 ); bSizer10->Add( m_staticText2, 0, wxTOP|wxBOTTOM|wxRIGHT, 5 ); - + m_signals = new wxListView( m_panelSignals, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_REPORT|wxLC_SINGLE_SEL ); bSizer10->Add( m_signals, 1, wxEXPAND, 5 ); - - + + m_panelSignals->SetSizer( bSizer10 ); m_panelSignals->Layout(); bSizer10->Fit( m_panelSignals ); m_panelCursorsAndTune = new wxPanel( m_splitterSignals, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); m_panelCursorsAndTune->SetMinSize( wxSize( -1,300 ) ); - + wxBoxSizer* bSizer9; bSizer9 = new wxBoxSizer( wxVERTICAL ); - - m_splitterTuneValues = new wxSplitterWindow( m_panelCursorsAndTune, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSP_3DSASH|wxSP_LIVE_UPDATE|wxNO_BORDER ); + + m_splitterTuneValues = new wxSplitterWindow( m_panelCursorsAndTune, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSP_3DSASH|wxSP_LIVE_UPDATE|wxBORDER_NONE ); m_splitterTuneValues->SetSashGravity( 0.5 ); m_splitterTuneValues->Connect( wxEVT_IDLE, wxIdleEventHandler( SIM_PLOT_FRAME_BASE::m_splitterTuneValuesOnIdle ), NULL, this ); m_splitterTuneValues->SetMinimumPaneSize( 20 ); - + m_panelCursors = new wxPanel( m_splitterTuneValues, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); wxBoxSizer* bSizer12; bSizer12 = new wxBoxSizer( wxVERTICAL ); - + m_staticText3 = new wxStaticText( m_panelCursors, wxID_ANY, _("Cursors"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticText3->Wrap( -1 ); bSizer12->Add( m_staticText3, 0, wxTOP|wxBOTTOM|wxRIGHT, 5 ); - + m_cursors = new wxListCtrl( m_panelCursors, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_HRULES|wxLC_REPORT|wxLC_SINGLE_SEL ); bSizer12->Add( m_cursors, 1, wxEXPAND, 5 ); - - + + m_panelCursors->SetSizer( bSizer12 ); m_panelCursors->Layout(); bSizer12->Fit( m_panelCursors ); m_tunePanel = new wxPanel( m_splitterTuneValues, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); wxBoxSizer* bSizer13; bSizer13 = new wxBoxSizer( wxVERTICAL ); - + m_staticText4 = new wxStaticText( m_tunePanel, wxID_ANY, _("Tune"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticText4->Wrap( -1 ); bSizer13->Add( m_staticText4, 0, wxTOP|wxBOTTOM|wxRIGHT, 5 ); - + m_tuneSizer = new wxBoxSizer( wxHORIZONTAL ); - - + + bSizer13->Add( m_tuneSizer, 1, wxEXPAND, 5 ); - - + + m_tunePanel->SetSizer( bSizer13 ); m_tunePanel->Layout(); bSizer13->Fit( m_tunePanel ); m_splitterTuneValues->SplitHorizontally( m_panelCursors, m_tunePanel, 0 ); bSizer9->Add( m_splitterTuneValues, 1, wxEXPAND, 5 ); - - + + m_panelCursorsAndTune->SetSizer( bSizer9 ); m_panelCursorsAndTune->Layout(); bSizer9->Fit( m_panelCursorsAndTune ); m_splitterSignals->SplitHorizontally( m_panelSignals, m_panelCursorsAndTune, 0 ); m_sideSizer->Add( m_splitterSignals, 1, wxEXPAND, 5 ); - - + + m_sidePanel->SetSizer( m_sideSizer ); m_sidePanel->Layout(); m_sideSizer->Fit( m_sidePanel ); m_splitterLeftRight->SplitVertically( m_panelLeft, m_sidePanel, 700 ); m_sizerMain->Add( m_splitterLeftRight, 1, wxEXPAND, 5 ); - - + + this->SetSizer( m_sizerMain ); this->Layout(); m_sizerMain->Fit( this ); - + this->Centre( wxBOTH ); - + // Connect Events - this->Connect( m_newPlot->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuNewPlot ) ); - this->Connect( m_openWorkbook->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuOpenWorkbook ) ); - this->Connect( m_saveWorkbook->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuSaveWorkbook ) ); - this->Connect( m_saveImage->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuSaveImage ) ); - this->Connect( m_saveCsv->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuSaveCsv ) ); - this->Connect( m_exitSim->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuExit ) ); - this->Connect( m_zoomIn->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuZoomIn ) ); - this->Connect( m_zoomOut->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuZoomOut ) ); - this->Connect( m_zoomFit->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuZoomFit ) ); - this->Connect( m_showGrid->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuShowGrid ) ); + m_fileMenu->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuNewPlot ), this, m_newPlot->GetId()); + m_fileMenu->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuOpenWorkbook ), this, m_openWorkbook->GetId()); + m_fileMenu->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuSaveWorkbook ), this, m_saveWorkbook->GetId()); + m_fileMenu->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuSaveImage ), this, m_saveImage->GetId()); + m_fileMenu->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuSaveCsv ), this, m_saveCsv->GetId()); + m_fileMenu->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuExit ), this, m_exitSim->GetId()); + m_viewMenu->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuZoomIn ), this, m_zoomIn->GetId()); + m_viewMenu->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuZoomOut ), this, m_zoomOut->GetId()); + m_viewMenu->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuZoomFit ), this, m_zoomFit->GetId()); + m_viewMenu->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuShowGrid ), this, m_showGrid->GetId()); this->Connect( m_showGrid->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( SIM_PLOT_FRAME_BASE::menuShowGridUpdate ) ); - this->Connect( m_showLegend->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuShowLegend ) ); + m_viewMenu->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuShowLegend ), this, m_showLegend->GetId()); this->Connect( m_showLegend->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( SIM_PLOT_FRAME_BASE::menuShowLegendUpdate ) ); m_plotNotebook->Connect( wxEVT_COMMAND_AUINOTEBOOK_PAGE_CHANGED, wxAuiNotebookEventHandler( SIM_PLOT_FRAME_BASE::onPlotChanged ), NULL, this ); m_plotNotebook->Connect( wxEVT_COMMAND_AUINOTEBOOK_PAGE_CLOSE, wxAuiNotebookEventHandler( SIM_PLOT_FRAME_BASE::onPlotClose ), NULL, this ); @@ -307,22 +307,11 @@ SIM_PLOT_FRAME_BASE::SIM_PLOT_FRAME_BASE( wxWindow* parent, wxWindowID id, const SIM_PLOT_FRAME_BASE::~SIM_PLOT_FRAME_BASE() { // Disconnect Events - this->Disconnect( wxID_NEW, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuNewPlot ) ); - this->Disconnect( wxID_OPEN, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuOpenWorkbook ) ); - this->Disconnect( wxID_SAVE, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuSaveWorkbook ) ); - this->Disconnect( ID_SAVE_AS_IMAGE, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuSaveImage ) ); - this->Disconnect( ID_SAVE_AS_CSV, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuSaveCsv ) ); - this->Disconnect( wxID_CLOSE, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuExit ) ); - this->Disconnect( wxID_ZOOM_IN, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuZoomIn ) ); - this->Disconnect( wxID_ZOOM_OUT, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuZoomOut ) ); - this->Disconnect( wxID_ZOOM_FIT, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuZoomFit ) ); - this->Disconnect( ID_MENU_SHOW_GRID, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuShowGrid ) ); this->Disconnect( ID_MENU_SHOW_GRID, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( SIM_PLOT_FRAME_BASE::menuShowGridUpdate ) ); - this->Disconnect( ID_MENU_SHOW_LEGEND, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuShowLegend ) ); this->Disconnect( ID_MENU_SHOW_LEGEND, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( SIM_PLOT_FRAME_BASE::menuShowLegendUpdate ) ); m_plotNotebook->Disconnect( wxEVT_COMMAND_AUINOTEBOOK_PAGE_CHANGED, wxAuiNotebookEventHandler( SIM_PLOT_FRAME_BASE::onPlotChanged ), NULL, this ); m_plotNotebook->Disconnect( wxEVT_COMMAND_AUINOTEBOOK_PAGE_CLOSE, wxAuiNotebookEventHandler( SIM_PLOT_FRAME_BASE::onPlotClose ), NULL, this ); m_signals->Disconnect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( SIM_PLOT_FRAME_BASE::onSignalDblClick ), NULL, this ); m_signals->Disconnect( wxEVT_COMMAND_LIST_ITEM_RIGHT_CLICK, wxListEventHandler( SIM_PLOT_FRAME_BASE::onSignalRClick ), NULL, this ); - + } diff --git a/eeschema/sim/sim_plot_frame_base.fbp b/eeschema/sim/sim_plot_frame_base.fbp index b176336a10..8b6d2417cf 100644 --- a/eeschema/sim/sim_plot_frame_base.fbp +++ b/eeschema/sim/sim_plot_frame_base.fbp @@ -1,6 +1,6 @@ - + C++ @@ -14,6 +14,7 @@ sim_plot_frame_base 1000 none + 1 SpiceWindow @@ -53,42 +54,7 @@ SIM_PLOT_FRAME wxTAB_TRAVERSAL 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 1 @@ -110,29 +76,6 @@ - - - - - - - - - - - - - - - - - - - - - - - File m_fileMenu @@ -150,7 +93,6 @@ menuNewPlot - m_separator3 @@ -169,7 +111,6 @@ menuOpenWorkbook - @@ -184,7 +125,6 @@ menuSaveWorkbook - m_separator1 @@ -203,7 +143,6 @@ menuSaveImage - @@ -218,7 +157,6 @@ menuSaveCsv - m_separator4 @@ -237,10 +175,9 @@ CTRL+W menuExit - - + Simulation m_simulationMenu protected @@ -254,10 +191,8 @@ Run Simulation m_runSimulation protected - + R - - m_separator31 @@ -273,10 +208,8 @@ Add Signals... m_addSignals protected - + A - - @@ -288,10 +221,8 @@ Probe from schematics m_probeSignals protected - + P - - @@ -303,10 +234,8 @@ Tune Component Value m_tuneValue protected - + T - - m_separator7 @@ -324,8 +253,6 @@ protected - - m_separator41 @@ -343,8 +270,6 @@ protected - - @@ -364,7 +289,6 @@ menuZoomIn - @@ -379,7 +303,6 @@ menuZoomOut - @@ -394,7 +317,6 @@ menuZoomFit - m_separator2 @@ -497,29 +419,6 @@ - - - - - - - - - - - - - - - - - - - - - - - @@ -582,34 +481,7 @@ - wxNO_BORDER - - - - - - - - - - - - - - - - - - - - - - - - - - - + wxBORDER_NONE 1 @@ -662,29 +534,6 @@ wxTAB_TRAVERSAL - - - - - - - - - - - - - - - - - - - - - - - -1,-1 m_sizer11 @@ -751,33 +600,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 @@ -830,29 +652,6 @@ wxTAB_TRAVERSAL - - - - - - - - - - - - - - - - - - - - - - - m_sizerPlot @@ -916,38 +715,8 @@ - - - - - onPlotChanged - onPlotClose - - - - - - - - - - - - - - - - - - - - - - - - a page @@ -1003,29 +772,6 @@ wxTAB_TRAVERSAL - - - - - - - - - - - - - - - - - - - - - - - m_sizer8 @@ -1093,6 +839,7 @@ 0 wxID_ANY Start the simulation by clicking the Run Simulation button + 0 0 @@ -1118,29 +865,6 @@ -1 - - - - - - - - - - - - - - - - - - - - - - - @@ -1225,29 +949,6 @@ wxTAB_TRAVERSAL - - - - - - - - - - - - - - - - - - - - - - - m_sizerConsole @@ -1315,33 +1016,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1404,29 +1078,6 @@ wxTAB_TRAVERSAL - - - - - - - - - - - - - - - - - - - - - - - m_sideSizer @@ -1493,33 +1144,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 @@ -1572,29 +1196,6 @@ wxTAB_TRAVERSAL - - - - - - - - - - - - - - - - - - - - - - - bSizer10 @@ -1633,6 +1234,7 @@ 0 wxID_ANY Signals + 0 0 @@ -1658,29 +1260,6 @@ -1 - - - - - - - - - - - - - - - - - - - - - - - @@ -1743,49 +1322,8 @@ - - - - - - - onSignalDblClick - - - - - - - - - - - - - - - - - - - onSignalRClick - - - - - - - - - - - - - - - @@ -1843,29 +1381,6 @@ wxTAB_TRAVERSAL - - - - - - - - - - - - - - - - - - - - - - - bSizer9 @@ -1931,34 +1446,7 @@ - wxNO_BORDER - - - - - - - - - - - - - - - - - - - - - - - - - - - + wxBORDER_NONE 1 @@ -2011,29 +1499,6 @@ wxTAB_TRAVERSAL - - - - - - - - - - - - - - - - - - - - - - - bSizer12 @@ -2072,6 +1537,7 @@ 0 wxID_ANY Cursors + 0 0 @@ -2097,29 +1563,6 @@ -1 - - - - - - - - - - - - - - - - - - - - - - - @@ -2182,49 +1625,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2282,29 +1682,6 @@ wxTAB_TRAVERSAL - - - - - - - - - - - - - - - - - - - - - - - bSizer13 @@ -2343,6 +1720,7 @@ 0 wxID_ANY Tune + 0 0 @@ -2368,29 +1746,6 @@ -1 - - - - - - - - - - - - - - - - - - - - - - - diff --git a/eeschema/sim/sim_plot_frame_base.h b/eeschema/sim/sim_plot_frame_base.h index 543a841722..29a7e790a5 100644 --- a/eeschema/sim/sim_plot_frame_base.h +++ b/eeschema/sim/sim_plot_frame_base.h @@ -1,12 +1,11 @@ /////////////////////////////////////////////////////////////////////////// -// C++ code generated with wxFormBuilder (version Dec 30 2017) +// C++ code generated with wxFormBuilder (version Oct 26 2018) // http://www.wxformbuilder.org/ // // PLEASE DO *NOT* EDIT THIS FILE! /////////////////////////////////////////////////////////////////////////// -#ifndef __SIM_PLOT_FRAME_BASE_H__ -#define __SIM_PLOT_FRAME_BASE_H__ +#pragma once #include #include @@ -50,7 +49,7 @@ class SIM_PLOT_FRAME_BASE : public KIWAY_PLAYER { private: - + protected: wxMenuBar* m_mainMenu; wxMenu* m_fileMenu; @@ -91,7 +90,7 @@ class SIM_PLOT_FRAME_BASE : public KIWAY_PLAYER wxPanel* m_tunePanel; wxStaticText* m_staticText4; wxBoxSizer* m_tuneSizer; - + // Virtual event handlers, overide them in your derived class virtual void menuNewPlot( wxCommandEvent& event ) { event.Skip(); } virtual void menuOpenWorkbook( wxCommandEvent& event ) { event.Skip(); } @@ -110,38 +109,37 @@ class SIM_PLOT_FRAME_BASE : public KIWAY_PLAYER virtual void onPlotClose( wxAuiNotebookEvent& event ) { event.Skip(); } virtual void onSignalDblClick( wxMouseEvent& event ) { event.Skip(); } virtual void onSignalRClick( wxListEvent& event ) { event.Skip(); } - - + + public: - + SIM_PLOT_FRAME_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Spice Simulator"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxDEFAULT_FRAME_STYLE|wxTAB_TRAVERSAL, const wxString& name = wxT("SIM_PLOT_FRAME") ); - + ~SIM_PLOT_FRAME_BASE(); - + void m_splitterLeftRightOnIdle( wxIdleEvent& ) { m_splitterLeftRight->SetSashPosition( 700 ); m_splitterLeftRight->Disconnect( wxEVT_IDLE, wxIdleEventHandler( SIM_PLOT_FRAME_BASE::m_splitterLeftRightOnIdle ), NULL, this ); } - + void m_splitterPlotAndConsoleOnIdle( wxIdleEvent& ) { m_splitterPlotAndConsole->SetSashPosition( 500 ); m_splitterPlotAndConsole->Disconnect( wxEVT_IDLE, wxIdleEventHandler( SIM_PLOT_FRAME_BASE::m_splitterPlotAndConsoleOnIdle ), NULL, this ); } - + void m_splitterSignalsOnIdle( wxIdleEvent& ) { m_splitterSignals->SetSashPosition( 0 ); m_splitterSignals->Disconnect( wxEVT_IDLE, wxIdleEventHandler( SIM_PLOT_FRAME_BASE::m_splitterSignalsOnIdle ), NULL, this ); } - + void m_splitterTuneValuesOnIdle( wxIdleEvent& ) { m_splitterTuneValues->SetSashPosition( 0 ); m_splitterTuneValues->Disconnect( wxEVT_IDLE, wxIdleEventHandler( SIM_PLOT_FRAME_BASE::m_splitterTuneValuesOnIdle ), NULL, this ); } - + }; -#endif //__SIM_PLOT_FRAME_BASE_H__