KiCad PCB EDA Suite
Loading...
Searching...
No Matches
sim_panel_base.h
Go to the documentation of this file.
1/*
2 * This program source code file is part of KiCad, a free EDA CAD application.
3 *
4 * Copyright (C) 2016-2023 CERN
5 * Copyright (C) 2016-2023 KiCad Developers, see AUTHORS.txt for contributors.
6 * @author Sylwester Kocjan <[email protected]>
7 *
8 * This program is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU General Public License
10 * as published by the Free Software Foundation; either version 3
11 * of the License, or (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, you may find one here:
20 * https://www.gnu.org/licenses/gpl-3.0.html
21 * or you may search the http://www.gnu.org website for the version 3 license,
22 * or you may write to the Free Software Foundation, Inc.,
23 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
24 */
25
26#ifndef __SIM_PLOT_PANEL_BASE_H
27#define __SIM_PLOT_PANEL_BASE_H
28
29#include "sim_types.h"
31#include <wx/panel.h>
32#include <wx/sizer.h>
33#include <wx/stattext.h>
34
35
36class SIM_PANEL_BASE : public wxWindow
37{
38public:
40 SIM_PANEL_BASE( const wxString& aCommand, int aOptions, wxWindow* parent, wxWindowID id,
41 const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
42 long style = 0, const wxString& name = wxPanelNameStr );
43 virtual ~SIM_PANEL_BASE();
44
45 static bool IsPlottable( SIM_TYPE aSimType );
46
47 virtual void OnLanguageChanged() = 0;
48
49 SIM_TYPE GetType() const;
50
51 const wxString& GetSimCommand() const { return m_simCommand; }
52 void SetSimCommand( const wxString& aSimCommand )
53 {
54 wxCHECK_RET( GetType() == NGSPICE_CIRCUIT_MODEL::CommandToSimType( aSimCommand ),
55 "Cannot change the type of simulation of the existing plot panel" );
56
57 m_simCommand = aSimCommand;
58 }
59
60 int GetSimOptions() const { return m_simOptions; }
61 void SetSimOptions( int aOptions ) { m_simOptions = aOptions; }
62
63private:
64 wxString m_simCommand;
66};
67
68
70{
71public:
72 SIM_NOPLOT_PANEL( const wxString& aCommand, int aOptions, wxWindow* parent, wxWindowID id,
73 const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
74 long style = 0, const wxString& name = wxPanelNameStr );
75
76 virtual ~SIM_NOPLOT_PANEL();
77
78 void OnLanguageChanged() override;
79
80private:
81 wxSizer* m_sizer;
82 wxStaticText* m_textInfo;
83};
84
85
86#endif
const char * name
Definition: DXF_plotter.cpp:56
static SIM_TYPE CommandToSimType(const wxString &aCmd)
Return simulation type basing on a simulation command directive.
wxStaticText * m_textInfo
virtual ~SIM_NOPLOT_PANEL()
void OnLanguageChanged() override
static bool IsPlottable(SIM_TYPE aSimType)
virtual ~SIM_PANEL_BASE()
SIM_TYPE GetType() const
const wxString & GetSimCommand() const
void SetSimCommand(const wxString &aSimCommand)
void SetSimOptions(int aOptions)
int GetSimOptions() const
virtual void OnLanguageChanged()=0
wxString m_simCommand
SIM_TYPE
< Possible simulation types
Definition: sim_types.h:32