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