File indexing completed on 2025-10-19 03:37:42

0001 /*
0002     File             : XYDifferentiationCurveDock.h
0003     Project          : LabPlot
0004     Description      : widget for editing properties of differentiation curves
0005     --------------------------------------------------------------------
0006     SPDX-FileCopyrightText: 2016-2021 Stefan Gerlach <stefan.gerlach@uni.kn>
0007     SPDX-FileCopyrightText: 2017-2023 Alexander Semke <alexander.semke@web.de>
0008 
0009     SPDX-License-Identifier: GPL-2.0-or-later
0010 */
0011 
0012 #ifndef XYDIFFERENTIATIONCURVEDOCK_H
0013 #define XYDIFFERENTIATIONCURVEDOCK_H
0014 
0015 #include "backend/worksheet/plots/cartesian/XYDifferentiationCurve.h"
0016 #include "kdefrontend/dockwidgets/XYAnalysisCurveDock.h"
0017 #include "ui_xydifferentiationcurvedockgeneraltab.h"
0018 
0019 class TreeViewComboBox;
0020 
0021 class XYDifferentiationCurveDock : public XYAnalysisCurveDock {
0022     Q_OBJECT
0023 
0024 public:
0025     explicit XYDifferentiationCurveDock(QWidget*);
0026     void setCurves(QList<XYCurve*>);
0027     void setupGeneral() override;
0028 
0029 private:
0030     void initGeneralTab() override;
0031     void updateSettings(const AbstractColumn*) override;
0032     void showDifferentiationResult();
0033 
0034     Ui::XYDifferentiationCurveDockGeneralTab uiGeneralTab;
0035     XYDifferentiationCurve* m_differentiationCurve{nullptr};
0036     XYDifferentiationCurve::DifferentiationData m_differentiationData;
0037     bool m_dateTimeRange{false};
0038 
0039 protected:
0040     void setModel();
0041 
0042 private Q_SLOTS:
0043     // SLOTs for changes triggered in XYDifferentiationCurveDock
0044     // general tab
0045     void dataSourceTypeChanged(int);
0046     void autoRangeChanged();
0047     void xRangeMinChanged();
0048     void xRangeMaxChanged();
0049     void xRangeMinDateTimeChanged(qint64);
0050     void xRangeMaxDateTimeChanged(qint64);
0051     void derivOrderChanged(int);
0052     void accOrderChanged(int);
0053     void recalculateClicked();
0054 
0055     // SLOTs for changes triggered in XYDifferentiationCurve
0056     // General-Tab
0057     void curveDifferentiationDataChanged(const XYDifferentiationCurve::DifferentiationData&);
0058 };
0059 
0060 #endif