DynExp
Highly flexible laboratory automation for dynamically changing experiments.
ErrorListDialog.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_ErrorListDialog.h"
12 
13 class ErrorListDialog : public QDialog
14 {
15  Q_OBJECT
16 
17 public:
19  {
20  bool operator==(const ErrorEntryType& Other) const;
21  bool operator!=(const ErrorEntryType& Other) const { return !(*this == Other); }
22 
23  QString Origin;
24  QString Text;
26 
31  QTreeWidgetItem* TreeWidgetItem;
32  };
33 
34  using ErrorEntriesType = std::vector<ErrorEntryType>;
35 
36  ErrorListDialog(QWidget *parent, QWidget* WidgetToOpenThisDialog);
38 
39  bool HasBeenClosedByClickingOpenWidget() const noexcept;
41 
42  void SetErrorEntries(const ErrorEntriesType& ErrorEntries);
43  QTreeWidgetItem* GetSelectedEntry();
44 
45 protected:
46  virtual void paintEvent(QPaintEvent* event) override;
47  virtual void focusOutEvent(QFocusEvent* event) override;
48 
49 private:
50  Ui::ErrorListDialog ui;
51 
54  std::chrono::time_point<std::chrono::system_clock> LastCloseTime;
55 
58  QTreeWidgetItem* SelectedTreeWidgetItem;
59 
60 private slots:
61  void ErrorEntryDoubleClicked(QTableWidgetItem* item);
62 };
void ErrorEntryDoubleClicked(QTableWidgetItem *item)
QWidget * WidgetToOpenThisDialog
virtual void focusOutEvent(QFocusEvent *event) override
ErrorEntriesType CurrentErrorEntries
QTreeWidgetItem * GetSelectedEntry()
Ui::ErrorListDialog ui
virtual void paintEvent(QPaintEvent *event) override
QTreeWidgetItem * SelectedTreeWidgetItem
bool ClosedByClickingOpenWidget
void SetErrorEntries(const ErrorEntriesType &ErrorEntries)
void ResetClosedByClickingOpenWidget() noexcept
ErrorListDialog(QWidget *parent, QWidget *WidgetToOpenThisDialog)
std::vector< ErrorEntryType > ErrorEntriesType
bool HasBeenClosedByClickingOpenWidget() const noexcept
std::chrono::time_point< std::chrono::system_clock > LastCloseTime
ErrorType
DynExp's error types
Definition: Exception.h:15
bool operator!=(const ErrorEntryType &Other) const
QTreeWidgetItem * TreeWidgetItem
Pointer to QTreeWidgetItem listed in main window's tree view. Do not dereference this pointer!...
bool operator==(const ErrorEntryType &Other) const