File indexing completed on 2025-07-13 03:32:50
0001 /* 0002 File : XYIntegrationCurveDock.h 0003 Project : LabPlot 0004 Description : widget for editing properties of integration 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 XYINTEGRATIONCURVEDOCK_H 0012 #define XYINTEGRATIONCURVEDOCK_H 0013 0014 #include "backend/worksheet/plots/cartesian/XYIntegrationCurve.h" 0015 #include "kdefrontend/dockwidgets/XYAnalysisCurveDock.h" 0016 #include "ui_xyintegrationcurvedockgeneraltab.h" 0017 0018 class TreeViewComboBox; 0019 0020 class XYIntegrationCurveDock : public XYAnalysisCurveDock { 0021 Q_OBJECT 0022 0023 public: 0024 explicit XYIntegrationCurveDock(QWidget*); 0025 void setCurves(QList<XYCurve*>); 0026 void setupGeneral() override; 0027 0028 private: 0029 void initGeneralTab() override; 0030 void updateSettings(const AbstractColumn*) override; 0031 void showIntegrationResult(); 0032 virtual QString customText() const override; 0033 0034 Ui::XYIntegrationCurveDockGeneralTab uiGeneralTab; 0035 XYIntegrationCurve* m_integrationCurve{nullptr}; 0036 XYIntegrationCurve::IntegrationData m_integrationData; 0037 bool m_dateTimeRange{false}; 0038 0039 protected: 0040 void setModel(); 0041 0042 private Q_SLOTS: 0043 // SLOTs for changes triggered in XYIntegrationCurveDock 0044 // general tab 0045 void dataSourceTypeChanged(int); 0046 void xDataColumnChanged(const QModelIndex&); 0047 void autoRangeChanged(); 0048 void xRangeMinChanged(); 0049 void xRangeMaxChanged(); 0050 void xRangeMinDateTimeChanged(qint64); 0051 void xRangeMaxDateTimeChanged(qint64); 0052 void methodChanged(int); 0053 void absoluteChanged(); 0054 void recalculateClicked(); 0055 0056 // SLOTs for changes triggered in XYCurve 0057 // General-Tab 0058 void curveIntegrationDataChanged(const XYIntegrationCurve::IntegrationData&); 0059 }; 0060 0061 #endif