File indexing completed on 2024-05-26 03:52:34

0001 /*
0002     File             : XYEquationCurveDock.h
0003     Project          : LabPlot
0004     Description      : widget for editing properties of equation curves
0005     --------------------------------------------------------------------
0006     SPDX-FileCopyrightText: 2014 Alexander Semke <alexander.semke@web.de>
0007     SPDX-FileCopyrightText: 2020-2021 Stefan Gerlach <stefan.gerlach@uni.kn>
0008 
0009     SPDX-License-Identifier: GPL-2.0-or-later
0010 */
0011 
0012 #ifndef XYEQUATIONCURVEDOCK_H
0013 #define XYEQUATIONCURVEDOCK_H
0014 
0015 #include "backend/worksheet/plots/cartesian/XYEquationCurve.h"
0016 #include "kdefrontend/dockwidgets/XYCurveDock.h"
0017 #include "ui_xyequationcurvedockgeneraltab.h"
0018 
0019 class XYEquationCurveDock : public XYCurveDock {
0020     Q_OBJECT
0021 
0022 public:
0023     explicit XYEquationCurveDock(QWidget*);
0024     void setupGeneral() override;
0025     void setCurves(QList<XYCurve*>);
0026 
0027 private:
0028     void initGeneralTab() override;
0029 
0030     Ui::XYEquationCurveDockGeneralTab uiGeneralTab;
0031     XYEquationCurve* m_equationCurve{nullptr};
0032 
0033 private Q_SLOTS:
0034     // SLOTs for changes triggered in XYCurveDock
0035     void typeChanged(int);
0036     void recalculateClicked();
0037     void showConstants();
0038     void showFunctions();
0039     void insertFunction1(const QString&);
0040     void insertConstant1(const QString&);
0041     void insertFunction2(const QString&);
0042     void insertConstant2(const QString&);
0043     void enableRecalculate();
0044 
0045     // SLOTs for changes triggered in XYCurve
0046     // General-Tab
0047     void curveEquationDataChanged(const XYEquationCurve::EquationData&);
0048 };
0049 
0050 #endif