3 * \file ProgressInterface.h
4 * This file is part of LyX, the document processor.
5 * Licence details can be found in the file COPYING.
9 * Full author contact details are available in file CREDITS.
12 #ifndef LYX_SUPPORT_PROGRESSINTERFACE_H
13 #define LYX_SUPPORT_PROGRESSINTERFACE_H
22 class ProgressInterface
25 virtual ~ProgressInterface() {}
27 /// will be Signals in Qt classes
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 virtual void lyxerrFlush() = 0;
36 virtual void warning(QString const & title, QString const & message) = 0;
37 virtual void toggleWarning(QString const & title, QString const & msg, QString const & formatted) = 0;
38 virtual void error(QString const & title, QString const & message) = 0;
39 virtual void information(QString const & title, QString const & message) = 0;
40 virtual int prompt(docstring const & title, docstring const & question,
41 int default_button, int cancel_button,
42 docstring const & b1, docstring const & b2) = 0;
44 virtual void lyxerrConnect() = 0;
45 virtual void lyxerrDisconnect() = 0;
47 static void setInstance(ProgressInterface*);
48 static ProgressInterface* instance();
51 ProgressInterface() {}
56 } // namespace support
59 #endif // LYX_SUPPORT_PROGRESSINTERFACE_H