101 lines
5.2 KiB
C++
101 lines
5.2 KiB
C++
/***************************************************************************
|
|
** **
|
|
** 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 <QMainWindow>
|
|
#include <QTimer>
|
|
#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
|