File indexing completed on 2025-07-13 03:32:51
0001 /* 0002 File : XYSmoothCurveDock.h 0003 Project : LabPlot 0004 Description : widget for editing properties of smooth curves 0005 -------------------------------------------------------------------- 0006 SPDX-FileCopyrightText: 2016-2021 Stefan Gerlach <stefan.gerlach@uni.kn> 0007 0008 SPDX-License-Identifier: GPL-2.0-or-later 0009 */ 0010 0011 #ifndef XYSMOOTHCURVEDOCK_H 0012 #define XYSMOOTHCURVEDOCK_H 0013 0014 #include "backend/worksheet/plots/cartesian/XYSmoothCurve.h" 0015 #include "kdefrontend/dockwidgets/XYAnalysisCurveDock.h" 0016 #include "ui_xysmoothcurvedockgeneraltab.h" 0017 0018 class TreeViewComboBox; 0019 0020 class XYSmoothCurveDock : public XYAnalysisCurveDock { 0021 Q_OBJECT 0022 0023 public: 0024 explicit XYSmoothCurveDock(QWidget* parent); 0025 void setCurves(QList<XYCurve*>); 0026 void setupGeneral() override; 0027 0028 private: 0029 void initGeneralTab() override; 0030 void updateSettings(const AbstractColumn*) override; 0031 void showSmoothResult(); 0032 0033 Ui::XYSmoothCurveDockGeneralTab uiGeneralTab; 0034 XYSmoothCurve* m_smoothCurve{nullptr}; 0035 XYSmoothCurve::SmoothData m_smoothData; 0036 bool m_dateTimeRange{false}; 0037 0038 protected: 0039 void setModel(); 0040 0041 private Q_SLOTS: 0042 // SLOTs for changes triggered in XYSmoothCurveDock 0043 // general tab 0044 void dataSourceTypeChanged(int); 0045 void xDataColumnChanged(const QModelIndex&); 0046 void autoRangeChanged(); 0047 void xRangeMinChanged(); 0048 void xRangeMaxChanged(); 0049 void xRangeMinDateTimeChanged(qint64); 0050 void xRangeMaxDateTimeChanged(qint64); 0051 void typeChanged(int); 0052 void pointsChanged(int); 0053 void weightChanged(int); 0054 void percentileChanged(double); 0055 void orderChanged(int); 0056 void modeChanged(int); 0057 void valueChanged(); 0058 void recalculateClicked(); 0059 0060 // SLOTs for changes triggered in XYCurve 0061 // General-Tab 0062 void curveSmoothDataChanged(const XYSmoothCurve::SmoothData&); 0063 }; 0064 #endif