]> git.lyx.org Git - lyx.git/blob - src/support/ProgressInterface.h
Reorder a bit status messages, but they are still cleared at the end of LyXFunc
[lyx.git] / src / support / ProgressInterface.h
1 // -*- C++ -*-
2 /**
3  * \file ProgressInterface.h
4  * This file is part of LyX, the document processor.
5  * Licence details can be found in the file COPYING.
6  *
7  * \author Peter Kümmel
8  *
9  * Full author contact details are available in file CREDITS.
10  */
11
12 #ifndef LYX_SUPPORT_PROGRESSINTERFACE_H
13 #define LYX_SUPPORT_PROGRESSINTERFACE_H
14
15 #include <string>
16
17 class QString;
18
19 namespace lyx {
20 namespace support {
21
22
23 class ProgressInterface
24 {
25 public:
26         virtual ~ProgressInterface() {}
27
28         virtual void processStarted(QString const &) = 0;
29         virtual void processFinished(QString const &) = 0;
30         virtual void appendMessage(QString const &) = 0;
31         virtual void appendError(QString const &) = 0;
32         virtual void clearMessages() = 0;
33
34         // Alert interface
35         virtual void warning(QString const & title, QString const & message) = 0;
36         virtual void toggleWarning(QString const & title, QString const & msg, QString const & formatted) = 0;
37         virtual void error(QString const & title, QString const & message) = 0;
38         virtual void information(QString const & title, QString const & message) = 0;
39
40
41         static void setInstance(ProgressInterface*);
42         static ProgressInterface* instance();
43
44 protected:
45         ProgressInterface() {}
46 };
47
48
49
50 } // namespace support
51 } // namespace lyx
52
53 #endif // LYX_SUPPORT_PROGRESSINTERFACE_H
54