File indexing completed on 2024-05-19 11:21:28

0001 /*
0002     SPDX-License-Identifier: GPL-2.0-or-later
0003     SPDX-FileCopyrightText: 2011 Martin Kuettler <martinkuettler@gmail.com>
0004 */
0005 
0006 #ifndef QALCULATE_PLOT_ASSISTANT_H
0007 #define QALCULATE_PLOT_ASSISTANT_H
0008 
0009 #include "assistant.h"
0010 #include "settings.h"
0011 #include "ui_qalculateplotdialog.h"
0012 #include <QDialog>
0013 #include <QList>
0014 
0015 class QalculatePlotAssistant : public Cantor::Assistant
0016 {
0017     Q_OBJECT
0018 private:
0019     QDialog* m_dlg;
0020     Ui::QalculatePlotAssistantBase m_base;
0021     QStringList m_xVarList;
0022     QList<QalculateSettings::PlotStyle> m_styleList;
0023     QList<QalculateSettings::SmoothingMode> m_smoothingList;
0024 
0025     QString plotCommand();
0026     void initDialog(QWidget* parent);
0027     void saveRowInformation(int);
0028     void loadRowInformation(int);
0029 public Q_SLOTS:
0030     void addFunction();
0031     void removeSelection();
0032     void clearFunctions();
0033     void currentItemChanged(int, int, int, int);
0034     void toggleSteps();
0035     void toggleStep();
0036 
0037 public:
0038     QalculatePlotAssistant(QObject* parent, QList<QVariant> args);
0039     ~QalculatePlotAssistant() override = default;
0040 
0041     void initActions() override;
0042 
0043     QStringList run(QWidget* parent) override;
0044 };
0045 
0046 #endif //QALCULATE_PLOT_ASSISTANT_H