DynExp
Highly flexible laboratory automation for dynamically changing experiments.
Loading...
Searching...
No Matches
BusyDialog.h
Go to the documentation of this file.
1// This file is part of DynExp.
2
8#pragma once
9
10#include <QWidget>
11
12namespace Ui
13{
14 class BusyDialog;
15}
16
17class BusyDialog : public QDialog
18{
19 Q_OBJECT
20
21public:
22 using CheckFinishedFunctionType = std::function<bool(void)>;
23
24 BusyDialog(QWidget* parent);
26
27 auto GetException() const noexcept { return Exception; }
28
29 void SetDescriptionText(QString Text);
31
32private:
33 virtual void showEvent(QShowEvent* event) override;
34 virtual void closeEvent(QCloseEvent* event) override;
35 virtual void reject() override;
36
37 std::unique_ptr<Ui::BusyDialog> ui;
39
41 std::exception_ptr Exception;
42
43private slots:
44 void OnCheckFinished();
45};
CheckFinishedFunctionType CheckFinishedFunction
Definition BusyDialog.h:40
virtual void closeEvent(QCloseEvent *event) override
void SetDescriptionText(QString Text)
std::exception_ptr Exception
Definition BusyDialog.h:41
std::function< bool(void)> CheckFinishedFunctionType
Definition BusyDialog.h:22
void SetCheckFinishedFunction(const CheckFinishedFunctionType CheckFinishedFunction)
void OnCheckFinished()
virtual void showEvent(QShowEvent *event) override
QTimer * CheckFinishedTimer
Definition BusyDialog.h:38
std::unique_ptr< Ui::BusyDialog > ui
Definition BusyDialog.h:37
auto GetException() const noexcept
Definition BusyDialog.h:27
virtual void reject() override