lyx_mirror/src/support/ProgressInterface.h

62 lines
1.6 KiB
C
Raw Normal View History

// -*- C++ -*-
/**
* \file ProgressInterface.h
* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
* \author Peter Kümmel
*
* Full author contact details are available in file CREDITS.
*/
#ifndef LYX_SUPPORT_PROGRESSINTERFACE_H
#define LYX_SUPPORT_PROGRESSINTERFACE_H
#include "support/strfwd.h"
class QString;
namespace lyx {
namespace support {
class ProgressInterface
{
public:
virtual ~ProgressInterface() {}
/// will be Signals in Qt classes
virtual void processStarted(QString const &) = 0;
virtual void processFinished(QString const &) = 0;
virtual void appendMessage(QString const &) = 0;
virtual void appendError(QString const &) = 0;
virtual void clearMessages() = 0;
virtual void lyxerrFlush() = 0;
/// Alert interface
virtual void warning(QString const & title, QString const & message) = 0;
virtual void toggleWarning(QString const & title, QString const & msg, QString const & formatted) = 0;
virtual void error(QString const & title, QString const & message, QString const & details) = 0;
virtual void information(QString const & title, QString const & message) = 0;
virtual int prompt(docstring const & title, docstring const & question,
int default_button, int cancel_button,
docstring const & b1, docstring const & b2) = 0;
virtual void lyxerrConnect() = 0;
virtual void lyxerrDisconnect() = 0;
static void setInstance(ProgressInterface*);
static ProgressInterface* instance();
protected:
ProgressInterface() {}
};
} // namespace support
} // namespace lyx
#endif // LYX_SUPPORT_PROGRESSINTERFACE_H