KiCad PCB EDA Suite
sim_plot_frame_base.cpp
Go to the documentation of this file.
1 // C++ code generated with wxFormBuilder (version Sep 8 2021)
3 // http://www.wxformbuilder.org/
4 //
5 // PLEASE DO *NOT* EDIT THIS FILE!
7 
8 #include "sim_plot_frame_base.h"
9 
11 
12 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 )
13 {
14  this->SetSizeHints( wxSize( -1,-1 ), wxDefaultSize );
15 
16  m_mainMenu = new wxMenuBar( 0 );
17  m_fileMenu = new wxMenu();
18  wxMenuItem* m_newPlot;
19  m_newPlot = new wxMenuItem( m_fileMenu, wxID_NEW, wxString( _("New Plot") ) , wxEmptyString, wxITEM_NORMAL );
20  m_fileMenu->Append( m_newPlot );
21 
22  m_fileMenu->AppendSeparator();
23 
24  wxMenuItem* m_openWorkbook;
25  m_openWorkbook = new wxMenuItem( m_fileMenu, wxID_OPEN, wxString( _("Open...") ) , wxEmptyString, wxITEM_NORMAL );
26  m_fileMenu->Append( m_openWorkbook );
27 
28  wxMenuItem* m_saveWorkbook;
29  m_saveWorkbook = new wxMenuItem( m_fileMenu, wxID_SAVE, wxString( _("Save") ) , wxEmptyString, wxITEM_NORMAL );
30  m_fileMenu->Append( m_saveWorkbook );
31 
32  wxMenuItem* m_saveWorkbookAs;
33  m_saveWorkbookAs = new wxMenuItem( m_fileMenu, wxID_SAVEAS, wxString( _("Save As...") ) + wxT('\t') + wxT("SHIFT+CTRL+S"), wxEmptyString, wxITEM_NORMAL );
34  m_fileMenu->Append( m_saveWorkbookAs );
35 
36  m_fileMenu->AppendSeparator();
37 
38  wxMenuItem* m_saveImage;
39  m_saveImage = new wxMenuItem( m_fileMenu, ID_SAVE_AS_IMAGE, wxString( _("Save as Image") ) , wxEmptyString, wxITEM_NORMAL );
40  m_fileMenu->Append( m_saveImage );
41 
42  wxMenuItem* m_saveCsv;
43  m_saveCsv = new wxMenuItem( m_fileMenu, ID_SAVE_AS_CSV, wxString( _("Save as .csv File") ) , wxEmptyString, wxITEM_NORMAL );
44  m_fileMenu->Append( m_saveCsv );
45 
46  m_fileMenu->AppendSeparator();
47 
48  wxMenuItem* m_exitSim;
49  m_exitSim = new wxMenuItem( m_fileMenu, wxID_CLOSE, wxString( _("Close") ) + wxT('\t') + wxT("CTRL+W"), wxEmptyString, wxITEM_NORMAL );
50  m_fileMenu->Append( m_exitSim );
51 
52  m_mainMenu->Append( m_fileMenu, _("File") );
53 
54  m_simulationMenu = new wxMenu();
55  m_runSimulation = new wxMenuItem( m_simulationMenu, ID_MENU_RUN_SIM, wxString( _("Run Simulation") ) + wxT('\t') + wxT("Ctrl+R"), wxEmptyString, wxITEM_NORMAL );
57  m_runSimulation->Enable( false );
58 
59  m_simulationMenu->AppendSeparator();
60 
61  m_addSignals = new wxMenuItem( m_simulationMenu, ID_MENU_ADD_SIGNAL, wxString( _("Add Signals...") ) + wxT('\t') + wxT("Ctrl+A"), wxEmptyString, wxITEM_NORMAL );
62  m_simulationMenu->Append( m_addSignals );
63  m_addSignals->Enable( false );
64 
65  m_probeSignals = new wxMenuItem( m_simulationMenu, ID_MENU_PROBE_SIGNALS, wxString( _("Probe from schematics") ) + wxT('\t') + wxT("Ctrl+P"), wxEmptyString, wxITEM_NORMAL );
67  m_probeSignals->Enable( false );
68 
69  m_tuneValue = new wxMenuItem( m_simulationMenu, ID_MENU_TUNE_SIGNALS, wxString( _("Tune Component Value") ) + wxT('\t') + wxT("Ctrl+T"), wxEmptyString, wxITEM_NORMAL );
70  m_simulationMenu->Append( m_tuneValue );
71  m_tuneValue->Enable( false );
72 
73  m_simulationMenu->AppendSeparator();
74 
75  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 );
77 
78  m_simulationMenu->AppendSeparator();
79 
80  m_boardAdapter = new wxMenuItem( m_simulationMenu, ID_MENU_SET_SIMUL, wxString( _("Settings...") ) , wxEmptyString, wxITEM_NORMAL );
82 
83  m_mainMenu->Append( m_simulationMenu, _("Simulation") );
84 
85  m_viewMenu = new wxMenu();
86  wxMenuItem* m_zoomIn;
87  m_zoomIn = new wxMenuItem( m_viewMenu, wxID_ZOOM_IN, wxString( _("Zoom In") ) , wxEmptyString, wxITEM_NORMAL );
88  m_viewMenu->Append( m_zoomIn );
89 
90  wxMenuItem* m_zoomOut;
91  m_zoomOut = new wxMenuItem( m_viewMenu, wxID_ZOOM_OUT, wxString( _("Zoom Out") ) , wxEmptyString, wxITEM_NORMAL );
92  m_viewMenu->Append( m_zoomOut );
93 
94  wxMenuItem* m_zoomFit;
95  m_zoomFit = new wxMenuItem( m_viewMenu, wxID_ZOOM_FIT, wxString( _("Fit on Screen") ) , wxEmptyString, wxITEM_NORMAL );
96  m_viewMenu->Append( m_zoomFit );
97 
98  m_viewMenu->AppendSeparator();
99 
100  wxMenuItem* m_showGrid;
101  m_showGrid = new wxMenuItem( m_viewMenu, ID_MENU_SHOW_GRID, wxString( _("Show &Grid") ) , wxEmptyString, wxITEM_CHECK );
102  m_viewMenu->Append( m_showGrid );
103 
104  wxMenuItem* m_showLegend;
105  m_showLegend = new wxMenuItem( m_viewMenu, ID_MENU_SHOW_LEGEND, wxString( _("Show &Legend") ) , wxEmptyString, wxITEM_CHECK );
106  m_viewMenu->Append( m_showLegend );
107 
108  m_viewMenu->AppendSeparator();
109 
110  wxMenuItem* m_showDotted;
111  m_showDotted = new wxMenuItem( m_viewMenu, ID_MENU_DOTTED, wxString( _("Dotted Current/Phase") ) , wxEmptyString, wxITEM_CHECK );
112  m_viewMenu->Append( m_showDotted );
113 
114  wxMenuItem* m_showWhiteBackground;
115  m_showWhiteBackground = new wxMenuItem( m_viewMenu, ID_MENU_WHITE_BG, wxString( _("White Background") ) , wxEmptyString, wxITEM_CHECK );
116  m_viewMenu->Append( m_showWhiteBackground );
117 
118  m_mainMenu->Append( m_viewMenu, _("View") );
119 
120  this->SetMenuBar( m_mainMenu );
121 
122  m_sizerMain = new wxBoxSizer( wxVERTICAL );
123 
124  m_toolBar = new wxToolBar( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTB_FLAT|wxTB_HORIZONTAL|wxTB_TEXT );
125  m_toolBar->Realize();
126 
127  m_sizerMain->Add( m_toolBar, 0, wxEXPAND, 5 );
128 
129  m_splitterLeftRight = new wxSplitterWindow( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSP_3DSASH|wxSP_LIVE_UPDATE|wxBORDER_NONE );
130  m_splitterLeftRight->SetSashGravity( 0.7 );
131  m_splitterLeftRight->Connect( wxEVT_IDLE, wxIdleEventHandler( SIM_PLOT_FRAME_BASE::m_splitterLeftRightOnIdle ), NULL, this );
132  m_splitterLeftRight->SetMinimumPaneSize( 50 );
133 
134  m_panelLeft = new wxPanel( m_splitterLeftRight, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
135  m_panelLeft->SetMinSize( wxSize( 300,-1 ) );
136 
137  m_sizer11 = new wxBoxSizer( wxVERTICAL );
138 
139  m_splitterPlotAndConsole = new wxSplitterWindow( m_panelLeft, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSP_3DSASH|wxSP_LIVE_UPDATE );
140  m_splitterPlotAndConsole->SetSashGravity( 0.8 );
141  m_splitterPlotAndConsole->Connect( wxEVT_IDLE, wxIdleEventHandler( SIM_PLOT_FRAME_BASE::m_splitterPlotAndConsoleOnIdle ), NULL, this );
142  m_splitterPlotAndConsole->SetMinimumPaneSize( 50 );
143 
144  m_plotPanel = new wxPanel( m_splitterPlotAndConsole, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
145  m_plotPanel->SetMinSize( wxSize( -1,200 ) );
146 
147  m_sizerPlot = new wxBoxSizer( wxHORIZONTAL );
148 
149  m_workbook = new SIM_WORKBOOK( m_plotPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxAUI_NB_CLOSE_ON_ALL_TABS|wxAUI_NB_MIDDLE_CLICK_CLOSE|wxAUI_NB_TAB_MOVE|wxAUI_NB_TOP );
150  m_workbook->SetMinSize( wxSize( 200,-1 ) );
151 
152 
153  m_sizerPlot->Add( m_workbook, 1, wxEXPAND, 5 );
154 
155 
156  m_plotPanel->SetSizer( m_sizerPlot );
157  m_plotPanel->Layout();
158  m_sizerPlot->Fit( m_plotPanel );
159  m_panelConsole = new wxPanel( m_splitterPlotAndConsole, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
160  m_panelConsole->SetMinSize( wxSize( -1,100 ) );
161 
162  m_sizerConsole = new wxBoxSizer( wxVERTICAL );
163 
164  m_simConsole = new wxTextCtrl( m_panelConsole, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_DONTWRAP|wxTE_MULTILINE|wxTE_READONLY );
165  m_simConsole->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_TELETYPE, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false, wxEmptyString ) );
166  m_simConsole->SetMinSize( wxSize( -1,100 ) );
167 
168  m_sizerConsole->Add( m_simConsole, 1, wxEXPAND, 5 );
169 
170 
171  m_panelConsole->SetSizer( m_sizerConsole );
172  m_panelConsole->Layout();
174  m_splitterPlotAndConsole->SplitHorizontally( m_plotPanel, m_panelConsole, 500 );
175  m_sizer11->Add( m_splitterPlotAndConsole, 1, wxEXPAND, 5 );
176 
177 
178  m_panelLeft->SetSizer( m_sizer11 );
179  m_panelLeft->Layout();
180  m_sizer11->Fit( m_panelLeft );
181  m_sidePanel = new wxPanel( m_splitterLeftRight, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
182  m_sidePanel->SetMinSize( wxSize( 200,-1 ) );
183 
184  m_sideSizer = new wxBoxSizer( wxVERTICAL );
185 
186  m_splitterSignals = new wxSplitterWindow( m_sidePanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSP_3DSASH|wxSP_LIVE_UPDATE );
187  m_splitterSignals->SetSashGravity( 0.33 );
188  m_splitterSignals->Connect( wxEVT_IDLE, wxIdleEventHandler( SIM_PLOT_FRAME_BASE::m_splitterSignalsOnIdle ), NULL, this );
189  m_splitterSignals->SetMinimumPaneSize( 20 );
190 
191  m_panelSignals = new wxPanel( m_splitterSignals, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
192  m_panelSignals->SetMinSize( wxSize( -1,100 ) );
193 
194  wxBoxSizer* bSizer10;
195  bSizer10 = new wxBoxSizer( wxVERTICAL );
196 
197  m_staticTextSignals = new wxStaticText( m_panelSignals, wxID_ANY, _("Signals"), wxDefaultPosition, wxDefaultSize, 0 );
198  m_staticTextSignals->Wrap( -1 );
199  bSizer10->Add( m_staticTextSignals, 0, wxTOP|wxRIGHT, 5 );
200 
201  m_signals = new wxListView( m_panelSignals, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_REPORT|wxLC_SINGLE_SEL );
202  bSizer10->Add( m_signals, 1, wxEXPAND, 5 );
203 
204 
205  m_panelSignals->SetSizer( bSizer10 );
206  m_panelSignals->Layout();
207  bSizer10->Fit( m_panelSignals );
208  m_panelCursorsAndTune = new wxPanel( m_splitterSignals, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
209  m_panelCursorsAndTune->SetMinSize( wxSize( -1,300 ) );
210 
211  wxBoxSizer* bSizer9;
212  bSizer9 = new wxBoxSizer( wxVERTICAL );
213 
214  m_splitterTuneValues = new wxSplitterWindow( m_panelCursorsAndTune, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSP_3DSASH|wxSP_LIVE_UPDATE|wxBORDER_NONE );
215  m_splitterTuneValues->SetSashGravity( 0.5 );
216  m_splitterTuneValues->Connect( wxEVT_IDLE, wxIdleEventHandler( SIM_PLOT_FRAME_BASE::m_splitterTuneValuesOnIdle ), NULL, this );
217  m_splitterTuneValues->SetMinimumPaneSize( 20 );
218 
219  m_panelCursors = new wxPanel( m_splitterTuneValues, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
220  m_panelCursors->SetMinSize( wxSize( -1,100 ) );
221 
222  wxBoxSizer* bSizer12;
223  bSizer12 = new wxBoxSizer( wxVERTICAL );
224 
225  m_staticTextCursors = new wxStaticText( m_panelCursors, wxID_ANY, _("Cursors"), wxDefaultPosition, wxDefaultSize, 0 );
226  m_staticTextCursors->Wrap( -1 );
227  bSizer12->Add( m_staticTextCursors, 0, wxTOP|wxRIGHT, 5 );
228 
229  m_cursors = new wxListCtrl( m_panelCursors, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_HRULES|wxLC_REPORT|wxLC_SINGLE_SEL );
230  bSizer12->Add( m_cursors, 1, wxEXPAND, 5 );
231 
232 
233  m_panelCursors->SetSizer( bSizer12 );
234  m_panelCursors->Layout();
235  bSizer12->Fit( m_panelCursors );
236  m_tunePanel = new wxPanel( m_splitterTuneValues, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
237  m_tunePanel->SetMinSize( wxSize( -1,100 ) );
238 
239  wxBoxSizer* bSizer13;
240  bSizer13 = new wxBoxSizer( wxVERTICAL );
241 
242  m_staticTextTune = new wxStaticText( m_tunePanel, wxID_ANY, _("Tune"), wxDefaultPosition, wxDefaultSize, 0 );
243  m_staticTextTune->Wrap( -1 );
244  bSizer13->Add( m_staticTextTune, 0, wxTOP|wxRIGHT, 5 );
245 
246  m_tuneSizer = new wxBoxSizer( wxHORIZONTAL );
247 
248 
249  bSizer13->Add( m_tuneSizer, 1, wxEXPAND, 5 );
250 
251 
252  m_tunePanel->SetSizer( bSizer13 );
253  m_tunePanel->Layout();
254  bSizer13->Fit( m_tunePanel );
255  m_splitterTuneValues->SplitHorizontally( m_panelCursors, m_tunePanel, 0 );
256  bSizer9->Add( m_splitterTuneValues, 1, wxEXPAND, 5 );
257 
258 
259  m_panelCursorsAndTune->SetSizer( bSizer9 );
260  m_panelCursorsAndTune->Layout();
261  bSizer9->Fit( m_panelCursorsAndTune );
262  m_splitterSignals->SplitHorizontally( m_panelSignals, m_panelCursorsAndTune, 0 );
263  m_sideSizer->Add( m_splitterSignals, 1, wxEXPAND, 5 );
264 
265 
266  m_sidePanel->SetSizer( m_sideSizer );
267  m_sidePanel->Layout();
268  m_sideSizer->Fit( m_sidePanel );
269  m_splitterLeftRight->SplitVertically( m_panelLeft, m_sidePanel, 700 );
270  m_sizerMain->Add( m_splitterLeftRight, 1, wxEXPAND, 5 );
271 
272 
273  this->SetSizer( m_sizerMain );
274  this->Layout();
275 
276  this->Centre( wxBOTH );
277 
278  // Connect Events
279  m_fileMenu->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuNewPlot ), this, m_newPlot->GetId());
280  m_fileMenu->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuOpenWorkbook ), this, m_openWorkbook->GetId());
281  m_fileMenu->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuSaveWorkbook ), this, m_saveWorkbook->GetId());
282  m_fileMenu->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuSaveWorkbookAs ), this, m_saveWorkbookAs->GetId());
283  m_fileMenu->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuSaveImage ), this, m_saveImage->GetId());
284  m_fileMenu->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuSaveCsv ), this, m_saveCsv->GetId());
285  m_fileMenu->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuExit ), this, m_exitSim->GetId());
286  this->Connect( m_runSimulation->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( SIM_PLOT_FRAME_BASE::menuSimulateUpdate ) );
287  this->Connect( m_addSignals->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( SIM_PLOT_FRAME_BASE::menuAddSignalsUpdate ) );
288  this->Connect( m_probeSignals->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( SIM_PLOT_FRAME_BASE::menuProbeUpdate ) );
289  this->Connect( m_tuneValue->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( SIM_PLOT_FRAME_BASE::menuTuneUpdate ) );
290  m_viewMenu->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuZoomIn ), this, m_zoomIn->GetId());
291  m_viewMenu->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuZoomOut ), this, m_zoomOut->GetId());
292  m_viewMenu->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuZoomFit ), this, m_zoomFit->GetId());
293  m_viewMenu->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuShowGrid ), this, m_showGrid->GetId());
294  this->Connect( m_showGrid->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( SIM_PLOT_FRAME_BASE::menuShowGridUpdate ) );
295  m_viewMenu->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuShowLegend ), this, m_showLegend->GetId());
296  this->Connect( m_showLegend->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( SIM_PLOT_FRAME_BASE::menuShowLegendUpdate ) );
297  m_viewMenu->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuShowDotted ), this, m_showDotted->GetId());
298  this->Connect( m_showDotted->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( SIM_PLOT_FRAME_BASE::menuShowDottedUpdate ) );
299  m_viewMenu->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SIM_PLOT_FRAME_BASE::menuWhiteBackground ), this, m_showWhiteBackground->GetId());
300  this->Connect( m_showWhiteBackground->GetId(), wxEVT_UPDATE_UI, wxUpdateUIEventHandler( SIM_PLOT_FRAME_BASE::menuShowWhiteBackgroundUpdate ) );
301  m_workbook->Connect( wxEVT_COMMAND_AUINOTEBOOK_END_DRAG, wxAuiNotebookEventHandler( SIM_PLOT_FRAME_BASE::onPlotDragged ), NULL, this );
302  m_workbook->Connect( wxEVT_COMMAND_AUINOTEBOOK_PAGE_CHANGED, wxAuiNotebookEventHandler( SIM_PLOT_FRAME_BASE::onPlotChanged ), NULL, this );
303  m_workbook->Connect( wxEVT_COMMAND_AUINOTEBOOK_PAGE_CLOSE, wxAuiNotebookEventHandler( SIM_PLOT_FRAME_BASE::onPlotClose ), NULL, this );
304  m_workbook->Connect( wxEVT_COMMAND_AUINOTEBOOK_PAGE_CLOSED, wxAuiNotebookEventHandler( SIM_PLOT_FRAME_BASE::onPlotClosed ), NULL, this );
305  m_signals->Connect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( SIM_PLOT_FRAME_BASE::onSignalDblClick ), NULL, this );
306  m_signals->Connect( wxEVT_COMMAND_LIST_ITEM_RIGHT_CLICK, wxListEventHandler( SIM_PLOT_FRAME_BASE::onSignalRClick ), NULL, this );
307 }
308 
310 {
311  // Disconnect Events
312  this->Disconnect( ID_MENU_RUN_SIM, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( SIM_PLOT_FRAME_BASE::menuSimulateUpdate ) );
313  this->Disconnect( ID_MENU_ADD_SIGNAL, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( SIM_PLOT_FRAME_BASE::menuAddSignalsUpdate ) );
314  this->Disconnect( ID_MENU_PROBE_SIGNALS, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( SIM_PLOT_FRAME_BASE::menuProbeUpdate ) );
315  this->Disconnect( ID_MENU_TUNE_SIGNALS, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( SIM_PLOT_FRAME_BASE::menuTuneUpdate ) );
316  this->Disconnect( ID_MENU_SHOW_GRID, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( SIM_PLOT_FRAME_BASE::menuShowGridUpdate ) );
317  this->Disconnect( ID_MENU_SHOW_LEGEND, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( SIM_PLOT_FRAME_BASE::menuShowLegendUpdate ) );
318  this->Disconnect( ID_MENU_DOTTED, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( SIM_PLOT_FRAME_BASE::menuShowDottedUpdate ) );
319  this->Disconnect( ID_MENU_WHITE_BG, wxEVT_UPDATE_UI, wxUpdateUIEventHandler( SIM_PLOT_FRAME_BASE::menuShowWhiteBackgroundUpdate ) );
320  m_workbook->Disconnect( wxEVT_COMMAND_AUINOTEBOOK_END_DRAG, wxAuiNotebookEventHandler( SIM_PLOT_FRAME_BASE::onPlotDragged ), NULL, this );
321  m_workbook->Disconnect( wxEVT_COMMAND_AUINOTEBOOK_PAGE_CHANGED, wxAuiNotebookEventHandler( SIM_PLOT_FRAME_BASE::onPlotChanged ), NULL, this );
322  m_workbook->Disconnect( wxEVT_COMMAND_AUINOTEBOOK_PAGE_CLOSE, wxAuiNotebookEventHandler( SIM_PLOT_FRAME_BASE::onPlotClose ), NULL, this );
323  m_workbook->Disconnect( wxEVT_COMMAND_AUINOTEBOOK_PAGE_CLOSED, wxAuiNotebookEventHandler( SIM_PLOT_FRAME_BASE::onPlotClosed ), NULL, this );
324  m_signals->Disconnect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( SIM_PLOT_FRAME_BASE::onSignalDblClick ), NULL, this );
325  m_signals->Disconnect( wxEVT_COMMAND_LIST_ITEM_RIGHT_CLICK, wxListEventHandler( SIM_PLOT_FRAME_BASE::onSignalRClick ), NULL, this );
326 
327 }
#define ID_MENU_PROBE_SIGNALS
#define ID_SAVE_AS_IMAGE
A wxFrame capable of the OpenProjectFiles function, meaning it can load a portion of a KiCad project.
Definition: kiway_player.h:64
virtual void onPlotDragged(wxAuiNotebookEvent &event)
virtual void menuShowWhiteBackgroundUpdate(wxUpdateUIEvent &event)
wxSplitterWindow * m_splitterSignals
virtual void menuSaveWorkbook(wxCommandEvent &event)
virtual void menuShowLegendUpdate(wxUpdateUIEvent &event)
void m_splitterLeftRightOnIdle(wxIdleEvent &)
virtual void menuProbeUpdate(wxUpdateUIEvent &event)
void m_splitterSignalsOnIdle(wxIdleEvent &)
virtual void onPlotChanged(wxAuiNotebookEvent &event)
virtual void menuSimulateUpdate(wxUpdateUIEvent &event)
virtual void menuShowGrid(wxCommandEvent &event)
virtual void menuZoomOut(wxCommandEvent &event)
#define ID_MENU_WHITE_BG
#define ID_SAVE_AS_CSV
virtual void menuShowDotted(wxCommandEvent &event)
wxSplitterWindow * m_splitterTuneValues
virtual void menuAddSignalsUpdate(wxUpdateUIEvent &event)
virtual void menuSaveCsv(wxCommandEvent &event)
virtual void onSignalRClick(wxListEvent &event)
virtual void menuShowLegend(wxCommandEvent &event)
#define ID_MENU_SHOW_NETLIST
virtual void onPlotClose(wxAuiNotebookEvent &event)
wxSplitterWindow * m_splitterLeftRight
wxMenuItem * m_runSimulation
#define ID_MENU_TUNE_SIGNALS
virtual void menuOpenWorkbook(wxCommandEvent &event)
virtual void menuZoomIn(wxCommandEvent &event)
#define _(s)
void m_splitterPlotAndConsoleOnIdle(wxIdleEvent &)
#define ID_MENU_SHOW_LEGEND
wxStaticText * m_staticTextTune
virtual void menuWhiteBackground(wxCommandEvent &event)
virtual void onSignalDblClick(wxMouseEvent &event)
#define ID_MENU_SET_SIMUL
virtual void menuShowGridUpdate(wxUpdateUIEvent &event)
virtual void menuNewPlot(wxCommandEvent &event)
#define ID_MENU_ADD_SIGNAL
virtual void menuSaveImage(wxCommandEvent &event)
wxStaticText * m_staticTextSignals
const char * name
Definition: DXF_plotter.cpp:56
#define ID_MENU_SHOW_GRID
#define ID_MENU_DOTTED
SIM_WORKBOOK * m_workbook
SIM_PLOT_FRAME_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &title=_("Spice Simulator"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(564, 531), long style=wxDEFAULT_FRAME_STYLE|wxTAB_TRAVERSAL, const wxString &name=wxT("SIM_PLOT_FRAME"))
void m_splitterTuneValuesOnIdle(wxIdleEvent &)
virtual void menuZoomFit(wxCommandEvent &event)
virtual void menuTuneUpdate(wxUpdateUIEvent &event)
virtual void menuSaveWorkbookAs(wxCommandEvent &event)
virtual void menuExit(wxCommandEvent &event)
wxSplitterWindow * m_splitterPlotAndConsole
virtual void menuShowDottedUpdate(wxUpdateUIEvent &event)
#define ID_MENU_RUN_SIM
wxStaticText * m_staticTextCursors
virtual void onPlotClosed(wxAuiNotebookEvent &event)