Files
        @ 7aac14a97552
    
        
              Branch filter: 
        
    Location: tempo-plotter/mainwindow.h - annotation
        
            
            7aac14a97552
            2.4 KiB
            text/plain
        
        
    
    moved data parsing and reading related code to a new class
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103  | ce43e0348d45 ce43e0348d45 ce43e0348d45 ce43e0348d45 ce43e0348d45 ce43e0348d45 ce43e0348d45 ce43e0348d45 ce43e0348d45 ce43e0348d45 ce43e0348d45 ce43e0348d45 ce43e0348d45 ce43e0348d45 ce43e0348d45 ce43e0348d45 ce43e0348d45 ce43e0348d45 ce43e0348d45 58db5f6bf2b1 58db5f6bf2b1 58db5f6bf2b1 58db5f6bf2b1 649401566a84 8fd74552f317 58db5f6bf2b1 f38042ba2eb0 8932fd91959c 58db5f6bf2b1 4d74a5d375ab abcdecae08b4 70f83253cf6c f918be7cd46f f38042ba2eb0 d4f23bf96cf5 58db5f6bf2b1 6a311d722818 a90832d0c0ec 7aac14a97552 cb28b6958b0e 3d321162263e 84f4fcdcd017 cb28b6958b0e 58db5f6bf2b1 58db5f6bf2b1 58db5f6bf2b1 58db5f6bf2b1 58db5f6bf2b1 58db5f6bf2b1 58db5f6bf2b1 58db5f6bf2b1 58db5f6bf2b1 58db5f6bf2b1 58db5f6bf2b1 58db5f6bf2b1 f918be7cd46f f918be7cd46f f918be7cd46f 58db5f6bf2b1 58db5f6bf2b1 649401566a84 cb28b6958b0e cb28b6958b0e cb28b6958b0e 58db5f6bf2b1 fffccd972bd4 58db5f6bf2b1 f38042ba2eb0 8932fd91959c 8932fd91959c 3d321162263e 3d321162263e 8932fd91959c 8fd74552f317 8fd74552f317 a90832d0c0ec 7aac14a97552 a90832d0c0ec 84f4fcdcd017 ad8324c4db4c 7aac14a97552 abcdecae08b4 abcdecae08b4 58db5f6bf2b1 58db5f6bf2b1 b12c2ff3d038 58db5f6bf2b1 a6e52579723b 90fb38350cfd 90fb38350cfd eb39452a2796 7aac14a97552 649401566a84 44b87d87610b 44b87d87610b 7aac14a97552 8fd74552f317 abcdecae08b4 4cc4bd170d6a 4cc4bd170d6a 58db5f6bf2b1 58db5f6bf2b1 58db5f6bf2b1  | /*
  Copyright © 2015 Hasan Yavuz Özderya
  This file is part of serialplot.
  serialplot 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.
  serialplot 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 serialplot.  If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QButtonGroup>
#include <QLabel>
#include <QString>
#include <QVector>
#include <QList>
#include <QSerialPort>
#include <QSignalMapper>
#include <QTimer>
#include <QColor>
#include <QtGlobal>
#include <qwt_plot_curve.h>
#include <qwt_plot_textlabel.h>
#include "portcontrol.h"
#include "commandpanel.h"
#include "dataformatpanel.h"
#include "ui_about_dialog.h"
#include "framebuffer.h"
#include "snapshotmanager.h"
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
    Q_OBJECT
public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();
    void messageHandler(QtMsgType type, const QMessageLogContext &context,
                        const QString &msg);
private:
    Ui::MainWindow *ui;
    QDialog aboutDialog;
    void setupAboutDialog();
    QSerialPort serialPort;
    PortControl portControl;
    unsigned int numOfSamples;
    QList<QwtPlotCurve*> curves;
    // Note: FrameBuffer s are owned by their respective QwtPlotCurve s.
    QList<FrameBuffer*> channelBuffers;
    QLabel spsLabel;
    CommandPanel commandPanel;
    DataFormatPanel dataFormatPanel;
    SnapshotManager snapshotMan;
    QwtPlotTextLabel demoIndicator;
    bool isDemoRunning();
private slots:
    void onPortToggled(bool open);
    void onPortError(QSerialPort::SerialPortError error);
    void onNumOfSamplesChanged(int value);
    void onAutoScaleChecked(bool checked);
    void onYScaleChanged();
    void onRangeSelected();
    void onNumOfChannelsChanged(unsigned value);
    void clearPlot();
    void onSpsChanged(unsigned sps);
    void enableDemo(bool enabled);
    void onExportCsv();
};
#endif // MAINWINDOW_H
 |