DynExp
Highly flexible laboratory automation for dynamically changing experiments.
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 #include "ui_BusyDialog.h"
12 
13 class BusyDialog : public QDialog
14 {
15  Q_OBJECT
16 
17 public:
18  using CheckFinishedFunctionType = std::function<bool(void)>;
19 
20  BusyDialog(QWidget* parent);
21  ~BusyDialog() = default;
22 
23  auto GetException() const noexcept { return Exception; }
24 
25  void SetDescriptionText(QString Text);
27 
28 private:
29  virtual void showEvent(QShowEvent* event) override;
30  virtual void closeEvent(QCloseEvent* event) override;
31  virtual void reject() override;
32 
33  Ui::BusyDialog ui;
35 
37  std::exception_ptr Exception;
38 
39 private slots:
40  void OnCheckFinished();
41 };
~BusyDialog()=default
CheckFinishedFunctionType CheckFinishedFunction
Definition: BusyDialog.h:36
virtual void closeEvent(QCloseEvent *event) override
Definition: BusyDialog.cpp:47
void SetDescriptionText(QString Text)
Definition: BusyDialog.cpp:22
std::exception_ptr Exception
Definition: BusyDialog.h:37
std::function< bool(void)> CheckFinishedFunctionType
Definition: BusyDialog.h:18
void SetCheckFinishedFunction(const CheckFinishedFunctionType CheckFinishedFunction)
Definition: BusyDialog.cpp:30
void OnCheckFinished()
Definition: BusyDialog.cpp:61
virtual void showEvent(QShowEvent *event) override
Definition: BusyDialog.cpp:35
QTimer * CheckFinishedTimer
Definition: BusyDialog.h:34
Ui::BusyDialog ui
Definition: BusyDialog.h:33
BusyDialog(QWidget *parent)
Definition: BusyDialog.cpp:7
auto GetException() const noexcept
Definition: BusyDialog.h:23
virtual void reject() override
Definition: BusyDialog.cpp:55