40 QList<double> frequencies;
85 void addTrace(
const QString& name,
const Trace& trace);
86 double calculateNiceStep(
double range);
87 void removeTrace(
const QString& name);
89 QPen getTracePen(
const QString& traceName)
const;
90 void setTracePen(
const QString& traceName,
const QPen& pen);
91 QMap<QString, QPen> getTracesInfo()
const;
112 void set_y_autoscale(
bool value);
114 bool areAxisSettingsLocked()
const;
116 void setRightYAxisEnabled(
bool enabled);
117 bool isRightYAxisEnabled()
const;
119 void change_Y_axis_title(QString title);
120 void change_Y_axis_units(QString title);
121 void change_Y2_axis_title(QString title);
122 void change_Y2_axis_units(QString title);
123 void change_X_axis_title(QString title);
124 void change_X_axis_label(QString title);
128 bool addMarker(
const QString& markerId,
double frequency,
129 const QPen& pen = QPen(Qt::red, 2));
130 bool removeMarker(
const QString& markerId);
131 bool updateMarkerFrequency(
const QString& markerId,
double newFrequency);
133 QMap<QString, double> getMarkers()
const;
135 bool addLimit(
const QString& LimitId,
const Limit& limit);
136 void removeLimit(
const QString& LimitID);
138 QMap<QString, Limit> getLimits()
const;
139 bool updateLimit(
const QString& limitId,
const Limit& limit);
141 QCustomPlot* customPlot()
const {
return plotWidget; }
144 AxisSettings getSettings()
const;
145 void setSettings(
const AxisSettings& settings);
151 void changeFreqUnits();
152 void toggleShowValues(
bool show);
153 void toggleLockAxisSettings(
bool locked);
157 void onXAxisRangeChanged(
const QCPRange& range);
158 void onYAxisRangeChanged(
const QCPRange& range);
159 void onY2AxisRangeChanged(
const QCPRange& range);
162 QCustomPlot* plotWidget;
164 QDoubleSpinBox* xAxisMin;
165 QDoubleSpinBox* xAxisMax;
166 QDoubleSpinBox* xAxisDiv;
167 QComboBox* xAxisUnits;
169 QDoubleSpinBox* yAxisMin;
170 QDoubleSpinBox* yAxisMax;
171 QDoubleSpinBox* yAxisDiv;
174 QDoubleSpinBox* y2AxisMin;
175 QDoubleSpinBox* y2AxisMax;
176 QDoubleSpinBox* y2AxisDiv;
180 QCheckBox* showValuesCheckbox;
181 bool showTraceValues;
183 QCheckBox* lockAxisCheckbox;
184 bool axisSettingsLocked;
186 QStringList frequencyUnits;
192 QMap<QString, Trace> traces;
193 QMap<QString, Marker> markers;
194 QMap<QString, Limit> limits;
197 QMap<QString, QCPGraph*> traceGraphs;
198 QMap<QString, QCPItemStraightLine*> markerLines;
199 QMap<QString, QCPItemText*> markerLabels;
200 QMap<QString, QCPItemTracer*> intersectionPoints;
201 QMap<QString, QCPItemText*> intersectionLabels;
202 QMap<QString, QCPGraph*> limitGraphs;
204 QGridLayout* setupAxisSettings();
205 void clearGraphicsItems();
207 void addMarkerIntersections(
const QString& markerId,
const Marker& marker);
209 int getYAxisTraceCount()
const;
210 int getY2AxisTraceCount()
const;