/*************************************************************************** ** ** ** QCustomPlot, an easy to use, modern plotting widget for Qt ** ** Copyright (C) 2011-2021 Emanuel Eichhammer ** ** ** ** This program is free software: you can redistribute it and/or modify ** ** it under the terms of the GNU General Public License as published by ** ** the Free Software Foundation, either version 3 of the License, or ** ** (at your option) any later version. ** ** ** ** This program is distributed in the hope that it will be useful, ** ** but WITHOUT ANY WARRANTY; without even the implied warranty of ** ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ** ** GNU General Public License for more details. ** ** ** ** You should have received a copy of the GNU General Public License ** ** along with this program. If not, see http://www.gnu.org/licenses/. ** ** ** **************************************************************************** ** Author: Emanuel Eichhammer ** ** Website/Contact: http://www.qcustomplot.com/ ** ** Date: 29.03.21 ** ** Version: 2.1.0 ** ****************************************************************************/ /************************************************************************************************************ ** ** ** This is the example code for QCustomPlot. ** ** ** ** It demonstrates basic and some advanced capabilities of the widget. The interesting code is inside ** ** the "setup(...)Demo" functions of MainWindow. ** ** ** ** In order to see a demo in action, call the respective "setup(...)Demo" function inside the ** ** MainWindow constructor. Alternatively you may call setupDemo(i) where i is the index of the demo ** ** you want (for those, see MainWindow constructor comments). All other functions here are merely a ** ** way to easily create screenshots of all demos for the website. I.e. a timer is set to successively ** ** setup all the demos and make a screenshot of the window area and save it in the ./screenshots ** ** directory. ** ** ** *************************************************************************************************************/ #ifndef MAINWINDOW_H #define MAINWINDOW_H #include #include #include "../../qcustomplot.h" // the header file of QCustomPlot. Don't forget to add it to your project, if you use an IDE, so it gets compiled. namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = 0); ~MainWindow(); void setupDemo(int demoIndex); void setupQuadraticDemo(QCustomPlot *customPlot); void setupSimpleDemo(QCustomPlot *customPlot); void setupSincScatterDemo(QCustomPlot *customPlot); void setupScatterStyleDemo(QCustomPlot *customPlot); void setupLineStyleDemo(QCustomPlot *customPlot); void setupScatterPixmapDemo(QCustomPlot *customPlot); void setupDateDemo(QCustomPlot *customPlot); void setupTextureBrushDemo(QCustomPlot *customPlot); void setupMultiAxisDemo(QCustomPlot *customPlot); void setupLogarithmicDemo(QCustomPlot *customPlot); void setupRealtimeDataDemo(QCustomPlot *customPlot); void setupParametricCurveDemo(QCustomPlot *customPlot); void setupBarChartDemo(QCustomPlot *customPlot); void setupStatisticalDemo(QCustomPlot *customPlot); void setupSimpleItemDemo(QCustomPlot *customPlot); void setupItemDemo(QCustomPlot *customPlot); void setupStyledDemo(QCustomPlot *customPlot); void setupAdvancedAxesDemo(QCustomPlot *customPlot); void setupColorMapDemo(QCustomPlot *customPlot); void setupFinancialDemo(QCustomPlot *customPlot); void setupPolarPlotDemo(QCustomPlot *customPlot); void setupPlayground(QCustomPlot *customPlot); private slots: void realtimeDataSlot(); void bracketDataSlot(); void screenShot(); void allScreenShots(); private: Ui::MainWindow *ui; QString demoName; QTimer dataTimer; QCPItemTracer *itemDemoPhaseTracer; int currentDemoIndex; }; #endif // MAINWINDOW_H