OpenHantek
Loading...
Searching...
No Matches
mainwindow.h
Go to the documentation of this file.
1// SPDX-License-Identifier: GPL-2.0-or-later
2
3#pragma once
4#include "post/ppresult.h"
5#include <QElapsedTimer>
6#include <QLineEdit>
7#include <QMainWindow>
8#include <memory>
9
10#include "scopesettings.h"
11
14class DsoSettings;
16class DsoWidget;
17class HorizontalDock;
18class TriggerDock;
19class SpectrumDock;
20class VoltageDock;
21
22namespace Ui {
23class MainWindow;
24}
25
29class MainWindow : public QMainWindow {
30 Q_OBJECT
31
32 public:
34 QWidget *parent = nullptr );
35 ~MainWindow() override;
36 QElapsedTimer elapsedTime;
37
38 public slots:
39 void showNewData( std::shared_ptr< PPresult > newData );
40 void exporterStatusChanged( const QString &exporterName, const QString &status );
42
43 protected:
44 void closeEvent( QCloseEvent *event ) override;
45
46 private:
47 Ui::MainWindow *ui;
48 QIcon iconPause;
49 QIcon iconPlay;
50 QLineEdit *commandEdit;
51 QString lastSaveAsDir = "";
52
53 // Central widgets
55
56 // Settings used for the whole program
59
60 // Taking screenshots
63 void screenShot( screenshotType_t screenshotType = SCREENSHOT, bool autoSave = false );
64
65 bool openDocument( QString docName );
66
67 signals:
69};
Holds the settings of the program.
Definition dsosettings.h:20
The widget for the oszilloscope-screen This widget contains the scopes and all level sliders.
Definition dsowidget.h:23
Definition exporterregistry.h:23
The DsoControl abstraction layer for Hantek USB DSOs. TODO Please anyone, refactor this class into sm...
Definition hantekdsocontrol.h:53
Dock window for the horizontal axis. It contains the settings for the timebase and the display format...
Definition HorizontalDock.h:27
The main window of the application. The main window contains the classic oszilloscope-screen and the ...
Definition mainwindow.h:29
void closeEvent(QCloseEvent *event) override
Save the settings before exiting.
Definition mainwindow.cpp:709
void screenShot(screenshotType_t screenshotType=SCREENSHOT, bool autoSave=false)
Definition mainwindow.cpp:581
~MainWindow() override
Definition mainwindow.cpp:548
ExporterRegistry * exporterRegistry
Definition mainwindow.h:58
Ui::MainWindow * ui
Definition mainwindow.h:47
screenshotType_t screenshotType
Definition mainwindow.h:62
void exporterProgressChanged()
Definition mainwindow.cpp:569
QElapsedTimer elapsedTime
Definition mainwindow.h:36
QIcon iconPlay
Definition mainwindow.h:49
MainWindow(HantekDsoControl *dsoControl, DsoSettings *dsoSettings, ExporterRegistry *exporterRegistry, QWidget *parent=nullptr)
Definition mainwindow.cpp:39
QLineEdit * commandEdit
Definition mainwindow.h:50
DsoSettings * dsoSettings
Definition mainwindow.h:57
QString lastSaveAsDir
Definition mainwindow.h:51
void showNewData(std::shared_ptr< PPresult > newData)
Definition mainwindow.cpp:555
DsoWidget * dsoWidget
Definition mainwindow.h:54
screenshotType_t
Definition mainwindow.h:61
@ SCREENSHOT
Definition mainwindow.h:61
@ PRINTER
Definition mainwindow.h:61
@ HARDCOPY
Definition mainwindow.h:61
void exporterStatusChanged(const QString &exporterName, const QString &status)
Definition mainwindow.cpp:562
void settingsLoaded(DsoSettingsScope *scope, const Dso::ControlSpecification *spec)
QIcon iconPause
Definition mainwindow.h:48
bool openDocument(QString docName)
Definition mainwindow.cpp:695
Dock window for the spectrum view. It contains the magnitude for all channels and allows to enable/di...
Definition SpectrumDock.h:19
Analyzes the data from the dso. Calculates the spectrum and various data about the signal and saves t...
Definition spectrumgenerator.h:26
Dock window for the trigger settings. It contains the settings for the trigger mode,...
Definition TriggerDock.h:21
Dock window for the voltage channel settings. It contains the settings for gain and coupling for both...
Definition VoltageDock.h:24
Definition mainwindow.h:22
Holds the settings for the oscilloscope.
Definition scopesettings.h:100
Stores the specifications of the currently connected device.
Definition controlspecification.h:42