Entropy Piano Tuner  1.1.3 (documentation not yet complete)
An open-source experimental software for piano tuning by entropy minimization
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
autoclosingmessagebox.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright 2015 Haye Hinrichsen, Christoph Wick
3  *
4  * This file is part of Entropy Piano Tuner.
5  *
6  * Entropy Piano Tuner is free software: you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by the
8  * Free Software Foundation, either version 3 of the License, or (at your
9  * option) any later version.
10  *
11  * Entropy Piano Tuner is distributed in the hope that it will be useful, but
12  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13  * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
14  * more details.
15  *
16  * You should have received a copy of the GNU General Public License along with
17  * Entropy Piano Tuner. If not, see http://www.gnu.org/licenses/.
18  *****************************************************************************/
19 
20 #ifndef AUTOCLOSINGMESSAGEBOX_H
21 #define AUTOCLOSINGMESSAGEBOX_H
22 
23 #include <QMessageBox>
24 #include "../core/messages/messagelistener.h"
25 
26 
33 class AutoClosingMessageBox : public QMessageBox, public MessageListener
34 {
35 public:
39  enum CloseReason {
41  };
42 
43 public:
53  AutoClosingMessageBox(QWidget *parent,
54  CloseReason closeReason,
55  Icon icon,
56  const QString &title,
57  const QString &text,
58  StandardButton buttons = StandardButton::Ok);
59 
64 
65 protected:
70  virtual void handleMessage(MessagePtr m) override final;
71 
72 
79  virtual void closeEvent(QCloseEvent *e) override final;
80 
81 private:
89  virtual int exec() override final;
90 
91 private:
94 };
95 
96 #endif // AUTOCLOSINGMESSAGEBOX_H
std::shared_ptr< Message > MessagePtr
Global type of a shared message pointer.
Definition: message.h:98
CloseReason
Reasons for the dialog to close automatically.
virtual void closeEvent(QCloseEvent *e) overridefinal
Reimplementation of the close event.
AutoClosingMessageBox(QWidget *parent, CloseReason closeReason, Icon icon, const QString &title, const QString &text, StandardButton buttons=StandardButton::Ok)
Constructor.
virtual int exec() overridefinal
Executing of the dialog is forbidden.
const CloseReason mCloseReason
Reason to close the dialog automatically.
MSG_RECORDING_STARTED was received.
a dialog that will automatically close on a event (message).
virtual void handleMessage(MessagePtr m) overridefinal
Message handling.