21#ifndef DDT_DATAVISUALISATION_DDTDIALOGS_REFERENCELINE_HPP
22#define DDT_DATAVISUALISATION_DDTDIALOGS_REFERENCELINE_HPP
24#include <QGraphicsPathItem>
25#include <QGraphicsRectItem>
27#pragma GCC diagnostic push
28#pragma GCC diagnostic ignored "-Wpedantic"
29#include <boost/math/interpolators/cardinal_cubic_b_spline.hpp>
31#pragma GCC diagnostic pop
32#include <boost/math/special_functions/trunc.hpp>
63 const QVariant parameter)
override;
71 const QVariant parameter)
override;
79 bool eventFilter(QObject *obj, QEvent *event)
override;
99 QVBoxLayout *vertical_layout;
100 QHBoxLayout *horizontal_layout;
101 QGridLayout *chart_layout;
104 QLineEdit *line_edit_low;
106 QLineEdit *line_edit_high;
107 QPushButton *push_button_auto;
112 QLabel *label_smooth;
113 QComboBox *combo_box_interpolation;
115 QDialogButtonBox *push_buttons_box;
116 QPushButton *push_button_cancel;
118 QString current_interpolation;
126 double intensity_low;
127 double intensity_high;
129 QList<QVariant> spectrum_vals;
136 std::unique_ptr<QPainterPath> line_path;
137 std::unique_ptr<QGraphicsPathItem> line_path_item;
139 QList<QPointF> point_list;
141 void CreateLayouts();
142 void CreateWidgets();
143 void CreateLineEditWidgets(
const QFont font);
144 void CreateLabelWidgets(
const QFont font);
145 void CreateButtonWidgets();
146 void ClearEditWidgets();
148 void CreateComboBox();
150 void SetRangeValues(
const QList<QVariant> range_values);
151 void SetSpectrum(
const QList<QVariant> spectrum_values);
154 void DrawScaleX(
const double min_value,
const double max_value,
155 QPainter &painter)
const;
156 void DrawScaleY(
const double min_value,
const double max_value,
157 double *chart_min_value,
double *chart_max_value,
158 QPainter &painter)
const;
159 double CalculateTickPositionLinear(
const double tick,
const double min_value,
161 const double maxsize)
const;
162 void SetXAxis(
const int tickstep_ratio);
163 void SetYAxis(
const int tickstep_ratio);
165 void FindRangeMinMax();
166 void FindValueMinMax();
171 void FillPointList(
const double xfactor,
const double yfactor,
177 void AddIntermediatePoints(
const double xfactor,
const double yfactor,
182 void AddStepPoints(
const double xfactor,
const double yfactor,
187 void AddQuadraticPoints(
const double xfactor,
const double yfactor,
193 void AddNaturalPoints(
const double xfactor,
const double yfactor,
222 void ChartPoint(
const double chart_x,
const double chart_y);
229 const QVariant parameter);
Definition: ddtDialog.hpp:27
virtual void SetChangedParameter(const QString param_id, const QVariant parameter)
Definition: ddtDialog.cpp:74
Definition: ddtReferenceLineDialog.hpp:41
QString GetDialogName() override
Definition: ddtReferenceLineDialog.cpp:38
void closeEvent(QCloseEvent *event) override
Definition: ddtReferenceLineDialog.cpp:825
void changeEvent(QEvent *event) override
Definition: ddtReferenceLineDialog.cpp:811
virtual void AutoPressed()
Definition: ddtReferenceLineDialog.cpp:879
void focusInEvent(QFocusEvent *event) override
Definition: ddtReferenceLineDialog.cpp:819
virtual void QuitPressed() override
Definition: ddtReferenceLineDialog.cpp:887
bool eventFilter(QObject *obj, QEvent *event) override
Definition: ddtReferenceLineDialog.cpp:750
virtual ~DdtReferenceLineDialog()=default
void SetInitialParameter(const QString parameter_id, const QVariant parameter) override
Definition: ddtReferenceLineDialog.cpp:832
virtual void CreateDialog() override
Definition: ddtReferenceLineDialog.cpp:42
virtual void CurrentIndexChanged(const QString &text)
Definition: ddtReferenceLineDialog.cpp:894
void ParameterChanged(const QString dialog_id, const QString param_id, const QVariant parameter)
virtual void RetranslateUi()
Definition: ddtReferenceLineDialog.cpp:772
void UpdateIntensityValues()
Definition: ddtReferenceLineDialog.cpp:900
Definition: ddtDatavisualisationUtils.hpp:27
DDT Utils. Helper classes for DDT Datavisualisation. Utilities for the DDT Datavisualisation.
DDT Dialog IDs. ID values for all used dialogs. IDs for the used dialogs.
DDT Dialogs. Base class for the DDT dialogs. Base class for the DDT dialogs.