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;
103 QLineEdit *line_edit_low;
105 QLineEdit *line_edit_high;
106 QPushButton *push_button_auto;
111 QLabel *label_smooth;
112 QComboBox *combo_box_interpolation;
114 QDialogButtonBox *push_buttons_box;
115 QPushButton *push_button_cancel;
117 QString current_interpolation;
125 double intensity_low;
126 double intensity_high;
128 QList<QVariant> spectrum_vals;
135 std::unique_ptr<QPainterPath> line_path;
136 std::unique_ptr<QGraphicsPathItem> line_path_item;
138 QList<QPointF> point_list;
140 void CreateLayouts();
141 void CreateWidgets();
142 void CreateLineEditWidgets(
const QFont font);
143 void CreateLabelWidgets(
const QFont font);
144 void CreateButtonWidgets();
145 void ClearEditWidgets();
147 void CreateComboBox();
149 void SetRangeValues(
const QList<QVariant> range_values);
150 void SetSpectrum(
const QList<QVariant> spectrum_values);
153 void DrawScaleX(
const double min_value,
const double max_value,
154 QPainter &painter)
const;
155 void DrawScaleY(
const double min_value,
const double max_value,
156 double *chart_min_value,
double *chart_max_value,
157 QPainter &painter)
const;
158 double CalculateTickPositionLinear(
const double tick,
const double min_value,
160 const double maxsize)
const;
161 void SetXAxis(
const int tickstep_ratio);
162 void SetYAxis(
const int tickstep_ratio);
164 void FindRangeMinMax();
165 void FindValueMinMax();
170 void FillPointList(
const double xfactor,
const double yfactor,
176 void AddIntermediatePoints(
const double xfactor,
const double yfactor,
181 void AddStepPoints(
const double xfactor,
const double yfactor,
186 void AddQuadraticPoints(
const double xfactor,
const double yfactor,
192 void AddNaturalPoints(
const double xfactor,
const double yfactor,
221 void ChartPoint(
const double chart_x,
const double chart_y);
228 const QVariant parameter);
Definition: ddtDialog.hpp:27
Definition: ddtReferenceLineDialog.hpp:41
DdtReferenceLineDialog(QWidget *parent=nullptr)
Definition: ddtReferenceLineDialog.cpp:32
QString GetDialogName() override
Definition: ddtReferenceLineDialog.cpp:38
void closeEvent(QCloseEvent *event) override
Definition: ddtReferenceLineDialog.cpp:812
void changeEvent(QEvent *event) override
Definition: ddtReferenceLineDialog.cpp:798
void SetChangedParameter(const QString param_id, const QVariant parameter) override
Definition: ddtReferenceLineDialog.cpp:840
virtual void AutoPressed()
Definition: ddtReferenceLineDialog.cpp:866
void focusInEvent(QFocusEvent *event) override
Definition: ddtReferenceLineDialog.cpp:806
virtual void QuitPressed() override
Definition: ddtReferenceLineDialog.cpp:874
bool eventFilter(QObject *obj, QEvent *event) override
Definition: ddtReferenceLineDialog.cpp:743
virtual ~DdtReferenceLineDialog()=default
void SetInitialParameter(const QString parameter_id, const QVariant parameter) override
Definition: ddtReferenceLineDialog.cpp:819
virtual void CreateDialog() override
Definition: ddtReferenceLineDialog.cpp:42
virtual void CurrentIndexChanged(const QString &text)
Definition: ddtReferenceLineDialog.cpp:881
void ParameterChanged(const QString dialog_id, const QString param_id, const QVariant parameter)
virtual void RetranslateUi()
Definition: ddtReferenceLineDialog.cpp:765
void UpdateIntensityValues()
Definition: ddtReferenceLineDialog.cpp:887
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.