KiCad PCB EDA Suite
|
The SIMULATOR_FRAME holds the main user-interface for running simulations. More...
#include <sim_plot_tab.h>
Public Member Functions | |
CURSOR (TRACE *aTrace, SIM_PLOT_TAB *aPlotTab) | |
void | Plot (wxDC &aDC, mpWindow &aWindow) override |
Plot method. | |
void | SetX (int aX) |
void | Update () |
bool | Inside (const wxPoint &aPoint) const override |
Checks whether a point is inside the info box rectangle. | |
void | Move (wxPoint aDelta) override |
Moves the layer rectangle of given pixel deltas. | |
void | UpdateReference () override |
Updates the rectangle reference point. | |
const wxRealPoint & | GetCoords () const |
void | SetCoordX (double aValue) |
virtual bool | HasBBox () const override |
mpInfoLayer has not bounding box. | |
virtual bool | IsInfo () const override |
Specifies that this is an Info box layer. | |
wxPoint | GetPosition () const |
Returns the position of the upper left corner of the box (in pixels) | |
wxSize | GetSize () const |
Returns the size of the box (in pixels) | |
virtual double | GetMinX () const |
Get inclusive left border of bounding box. | |
virtual double | GetMaxX () const |
Get inclusive right border of bounding box. | |
virtual double | GetMinY () const |
Get inclusive bottom border of bounding box. | |
virtual double | GetMaxY () const |
Get inclusive top border of bounding box. | |
const wxString & | GetName () const |
Get layer name. | |
const wxString & | GetDisplayName () const |
const wxFont & | GetFont () const |
Get font set for this layer. | |
const wxPen & | GetPen () const |
Get pen set for this layer. | |
void | SetContinuity (bool continuity) |
Set the 'continuity' property of the layer (true:draws a continuous line, false:draws separate points). | |
bool | GetContinuity () const |
Gets the 'continuity' property of the layer. | |
void | ShowName (bool show) |
Shows or hides the text label with the name of the layer (default is visible). | |
virtual void | SetName (const wxString &name) |
Set layer name. | |
void | SetFont (const wxFont &font) |
Set layer font. | |
void | SetPen (const wxPen &pen) |
Set layer pen. | |
mpLayerType | GetLayerType () const |
Get layer type: a Layer can be of different types: plot lines, axis, info boxes, etc, this method returns the right value. | |
bool | IsVisible () const |
Checks whether the layer is visible or not. | |
void | SetVisible (bool show) |
Sets layer visibility. | |
const wxBrush & | GetBrush () const |
Get brush set for this layer. | |
void | SetBrush (const wxBrush &brush) |
Set layer brush. | |
Protected Attributes | |
wxRect | m_dim |
wxPoint | m_reference |
wxBrush | m_brush |
int | m_winX |
int | m_winY |
wxFont | m_font |
wxPen | m_pen |
wxString | m_name |
wxString | m_displayName |
bool | m_continuous |
bool | m_showName |
mpLayerType | m_type |
bool | m_visible |
Private Member Functions | |
void | doSetCoordX (double aValue) |
wxString | getID () |
Private Attributes | |
TRACE * | m_trace |
bool | m_updateRequired |
bool | m_updateRef |
wxRealPoint | m_coords |
mpWindow * | m_window |
Static Private Attributes | |
static constexpr int | DRAG_MARGIN = 10 |
The SIMULATOR_FRAME holds the main user-interface for running simulations.
It contains a workbook with multiple tabs, each tab holding a SIM_PLOT_TAB, a specific simulation command (.TRAN, .AC, etc.), and simulation settings (save all currents, etc.).
Each plot can have multiple TRACEs. While internally each TRACE can have multiple cursors, the GUI supports only two cursors (and a differential cursor) for each plot.
TRACEs are identified by a signal (V(OUT), I(R2), etc.) and a type (SPT_VOLTAGE, SPT_AC_PHASE, etc.).
The simulator outputs simple signals in a vector of the same name. Complex signals (such as V(OUT) / V(IN)) are stored in vectors of the format "user%d". < Cursor attached to a trace to follow its values:
Definition at line 63 of file sim_plot_tab.h.
|
inline |
Definition at line 66 of file sim_plot_tab.h.
|
private |
Definition at line 284 of file sim_plot_tab.cpp.
References TRACE::GetDataX(), TRACE::GetDataY(), m_coords, and m_trace.
Referenced by Plot(), and SetCoordX().
|
inlineinherited |
|
inlineinherited |
Gets the 'continuity' property of the layer.
Definition at line 264 of file mathplot.h.
|
inline |
Definition at line 100 of file sim_plot_tab.h.
References m_coords.
Referenced by SIMULATOR_FRAME_UI::onCursorsGridCellChanged(), and SIMULATOR_FRAME_UI::updatePlotCursors().
|
inlineinherited |
Definition at line 241 of file mathplot.h.
Referenced by mpInfoLegend::Plot().
|
inlineinherited |
|
private |
Definition at line 319 of file sim_plot_tab.cpp.
References _, cursor, TRACE::GetCursors(), and m_trace.
Referenced by Plot().
|
inlineinherited |
Get layer type: a Layer can be of different types: plot lines, axis, info boxes, etc, this method returns the right value.
Definition at line 287 of file mathplot.h.
Referenced by mpInfoLegend::Plot().
|
inlinevirtualinherited |
Get inclusive right border of bounding box.
Reimplemented in mpFXYVector.
Definition at line 181 of file mathplot.h.
Referenced by mpFXY::UpdateScales().
|
inlinevirtualinherited |
Get inclusive top border of bounding box.
Reimplemented in mpFXYVector.
Definition at line 191 of file mathplot.h.
Referenced by mpFXY::UpdateScales().
|
inlinevirtualinherited |
Get inclusive left border of bounding box.
Reimplemented in mpFXYVector.
Definition at line 176 of file mathplot.h.
Referenced by mpFXY::UpdateScales().
|
inlinevirtualinherited |
Get inclusive bottom border of bounding box.
Reimplemented in mpFXYVector.
Definition at line 186 of file mathplot.h.
Referenced by mpFXY::UpdateScales().
|
inlineinherited |
Get layer name.
Definition at line 239 of file mathplot.h.
Referenced by SIM_PLOT_TAB::GetLabelX(), SIM_PLOT_TAB::GetLabelY1(), SIM_PLOT_TAB::GetLabelY2(), SIM_PLOT_TAB::GetLabelY3(), SIMULATOR_FRAME_UI::updatePlotCursors(), and SIM_PLOT_TAB::UpdateTraceStyle().
|
inlineinherited |
Get pen set for this layer.
Definition at line 254 of file mathplot.h.
Referenced by Plot(), mpInfoLegend::Plot(), and SIMULATOR_FRAME_UI::rebuildSignalsGrid().
|
inherited |
Returns the position of the upper left corner of the box (in pixels)
Definition at line 164 of file mathplot.cpp.
References mpInfoLayer::m_dim.
Referenced by SIM_PLOT_TAB::GetLegendPosition(), and SIM_PLOT_TAB::SIM_PLOT_TAB().
|
inherited |
Returns the size of the box (in pixels)
Definition at line 170 of file mathplot.cpp.
References mpInfoLayer::m_dim.
|
inlineoverridevirtualinherited |
mpInfoLayer has not bounding box.
Reimplemented from mpLayer.
Definition at line 345 of file mathplot.h.
|
overridevirtual |
Checks whether a point is inside the info box rectangle.
point | The point to be checked |
Reimplemented from mpInfoLayer.
Definition at line 415 of file sim_plot_tab.cpp.
References std::abs(), DRAG_MARGIN, m_coords, m_trace, m_window, mpWindow::x2p(), mpFXY::x2s(), mpWindow::y2p(), and mpFXY::y2s().
|
inlineoverridevirtualinherited |
Specifies that this is an Info box layer.
Reimplemented from mpLayer.
Definition at line 356 of file mathplot.h.
|
inlineinherited |
Checks whether the layer is visible or not.
Definition at line 291 of file mathplot.h.
Referenced by SIM_PLOT_TAB::IsLegendShown(), and mpInfoLegend::Plot().
|
inlineoverridevirtual |
Moves the layer rectangle of given pixel deltas.
delta | The wxPoint container for delta coordinates along x and y. Units are in pixels. |
Reimplemented from mpInfoLayer.
Definition at line 92 of file sim_plot_tab.h.
References mpInfoLayer::Move(), and Update().
Referenced by SetX().
|
overridevirtual |
Plot method.
Can be overridden by derived classes.
dc | the device content where to plot |
w | the window to plot |
Reimplemented from mpInfoLayer.
Definition at line 331 of file sim_plot_tab.cpp.
References KIGFX::COLOR4D::Distance(), doSetCoordX(), TRACE::GetDataX(), getID(), mpWindow::GetMarginBottom(), mpWindow::GetMarginLeft(), mpWindow::GetMarginRight(), mpWindow::GetMarginTop(), mpLayer::GetPen(), mpWindow::GetScrX(), mpWindow::GetScrY(), TRACE::GetTraceColour(), KIGFX::COLOR4D::Invert(), mpLayer::m_continuous, m_coords, mpInfoLayer::m_dim, m_trace, m_updateRef, m_updateRequired, mpLayer::m_visible, m_window, KIGFX::COLOR4D::Mix(), mpWindow::p2x(), mpFXY::s2x(), KIGFX::COLOR4D::ToColour(), UpdateReference(), mpWindow::x2p(), mpFXY::x2s(), mpWindow::y2p(), and mpFXY::y2s().
|
inlineinherited |
Set layer brush.
brush | brush, will be copied to internal class member |
Definition at line 303 of file mathplot.h.
|
inlineinherited |
Set the 'continuity' property of the layer (true:draws a continuous line, false:draws separate points).
Definition at line 259 of file mathplot.h.
Referenced by TRACE::TRACE().
void CURSOR::SetCoordX | ( | double | aValue | ) |
Definition at line 265 of file sim_plot_tab.cpp.
References delta, doSetCoordX(), m_coords, m_trace, m_updateRef, m_updateRequired, m_window, mpInfoLayer::Move(), mpWindow::x2p(), mpFXY::x2s(), mpWindow::y2p(), and mpFXY::y2s().
Referenced by SIMULATOR_FRAME_UI::onCursorsGridCellChanged().
|
inlineinherited |
Set layer font.
font | Font, will be copied to internal class member |
Definition at line 278 of file mathplot.h.
Referenced by SIM_PLOT_TAB::updateAxes().
|
inlinevirtualinherited |
Set layer name.
name | Name, will be copied to internal class member |
Reimplemented in TRACE.
Definition at line 273 of file mathplot.h.
References name.
Referenced by SIM_PLOT_TAB::prepareDCAxes(), TRACE::SetName(), and SIM_PLOT_TAB::updateAxes().
|
inlineinherited |
Set layer pen.
pen | Pen, will be copied to internal class member |
Definition at line 283 of file mathplot.h.
Referenced by SIM_PLOT_TAB::UpdateTraceStyle().
|
inlineinherited |
Sets layer visibility.
show | visibility bool. |
Definition at line 295 of file mathplot.h.
Referenced by SIM_PLOT_TAB::ShowLegend(), and SIM_PLOT_TAB::SIM_PLOT_TAB().
|
inline |
Definition at line 78 of file sim_plot_tab.h.
References mpInfoLayer::m_reference, m_updateRef, and Move().
|
inlineinherited |
Shows or hides the text label with the name of the layer (default is visible).
Definition at line 268 of file mathplot.h.
Referenced by TRACE::TRACE().
|
inline |
|
overridevirtual |
Updates the rectangle reference point.
Used by internal methods of mpWindow to correctly move mpInfoLayers.
Reimplemented from mpInfoLayer.
Definition at line 427 of file sim_plot_tab.cpp.
References m_coords, mpInfoLayer::m_reference, m_trace, m_window, mpWindow::x2p(), mpFXY::x2s(), mpWindow::y2p(), and mpFXY::y2s().
Referenced by Plot().
|
staticconstexprprivate |
Definition at line 119 of file sim_plot_tab.h.
Referenced by Inside().
|
protectedinherited |
Definition at line 382 of file mathplot.h.
Referenced by mpInfoLayer::mpInfoLayer(), mpInfoLayer::Plot(), and mpInfoLegend::Plot().
|
protectedinherited |
Definition at line 312 of file mathplot.h.
Referenced by Plot(), and mpFXY::Plot().
|
private |
Definition at line 116 of file sim_plot_tab.h.
Referenced by doSetCoordX(), GetCoords(), Inside(), Plot(), SetCoordX(), and UpdateReference().
|
protectedinherited |
Definition at line 379 of file mathplot.h.
Referenced by mpInfoLayer::GetPosition(), mpInfoLayer::GetSize(), mpInfoLayer::Inside(), mpInfoLayer::Move(), Plot(), mpInfoLayer::Plot(), mpInfoLegend::Plot(), and mpInfoLayer::UpdateReference().
|
protectedinherited |
Definition at line 311 of file mathplot.h.
Referenced by TRACE::SetName().
|
protectedinherited |
Definition at line 307 of file mathplot.h.
Referenced by mpInfoLegend::Plot(), mpFX::Plot(), mpFY::Plot(), mpFXY::Plot(), mpScaleXBase::Plot(), and mpScaleY::Plot().
|
protectedinherited |
Definition at line 310 of file mathplot.h.
Referenced by mpFX::Plot(), mpFY::Plot(), mpFXY::Plot(), mpScaleXBase::Plot(), and mpScaleY::Plot().
|
protectedinherited |
Definition at line 308 of file mathplot.h.
Referenced by mpInfoLayer::Plot(), mpInfoLegend::Plot(), mpFX::Plot(), mpFY::Plot(), mpFXY::Plot(), mpScaleXBase::Plot(), and mpScaleY::Plot().
|
protectedinherited |
Definition at line 381 of file mathplot.h.
Referenced by mpInfoLayer::Move(), mpInfoLayer::mpInfoLayer(), SetX(), mpInfoLayer::UpdateReference(), and UpdateReference().
|
protectedinherited |
Definition at line 313 of file mathplot.h.
Referenced by mpFX::Plot(), mpFY::Plot(), and mpFXY::Plot().
|
private |
Definition at line 113 of file sim_plot_tab.h.
Referenced by doSetCoordX(), getID(), Inside(), Plot(), SetCoordX(), and UpdateReference().
|
protectedinherited |
Definition at line 314 of file mathplot.h.
Referenced by mpInfoLayer::mpInfoLayer().
|
private |
Definition at line 115 of file sim_plot_tab.h.
Referenced by Plot(), SetCoordX(), and SetX().
|
private |
Definition at line 114 of file sim_plot_tab.h.
Referenced by Plot(), SetCoordX(), and Update().
|
protectedinherited |
Definition at line 315 of file mathplot.h.
Referenced by Plot(), mpInfoLayer::Plot(), mpInfoLegend::Plot(), mpFX::Plot(), mpFY::Plot(), mpFXY::Plot(), mpScaleXBase::Plot(), and mpScaleY::Plot().
|
private |
Definition at line 117 of file sim_plot_tab.h.
Referenced by Inside(), Plot(), SetCoordX(), and UpdateReference().
|
protectedinherited |
Definition at line 383 of file mathplot.h.
Referenced by mpInfoLayer::mpInfoLayer(), mpInfoLayer::Plot(), and mpInfoLegend::Plot().
|
protectedinherited |
Definition at line 384 of file mathplot.h.
Referenced by mpInfoLayer::mpInfoLayer(), mpInfoLayer::Plot(), and mpInfoLegend::Plot().