/************************************************************************
 * This file has been generated automatically from                      *
 *                                                                      *
 * src/core/qgsmessageoutput.h                                          *
 *                                                                      *
 * Do not edit manually ! Edit header and run scripts/sipify.py again   *
 ************************************************************************/







class QgsMessageOutput
{
%Docstring(signature="appended")
Interface for showing messages from QGIS in GUI independent way.

This class provides abstraction of a dialog for showing output to the
user. By default :py:class:`QgsMessageConsoleOutput` will be used if not
overridden with other message output creator function.

QGIS application uses :py:class:`QgsMessageView` class for displaying a
dialog to the user.

Object deletes itself when it's not needed anymore. Children should use
signal :py:func:`~destroyed` to notify the deletion
%End

%TypeHeaderCode
#include "qgsmessageoutput.h"
%End
  public:

    enum MessageType /BaseType=IntEnum/ { MessageText, MessageHtml };

    virtual ~QgsMessageOutput();

    virtual void setMessage( const QString &message, MessageType msgType ) = 0;
%Docstring
Sets message, it won't be displayed until
%End

    virtual void appendMessage( const QString &message ) = 0;
%Docstring
message to be appended to the current text
%End

    virtual void setTitle( const QString &title ) = 0;
%Docstring
Sets title for the messages
%End

    virtual void showMessage( bool blocking = true ) = 0;
%Docstring
display the message to the user and deletes itself
%End

    static void showMessage( const QString &title, const QString &message, MessageType msgType );
%Docstring
Display the blocking message to the user.
%End



    static QgsMessageOutput *createMessageOutput();
%Docstring
function that returns new class derived from QgsMessageOutput (don't
forget to delete it then if showMessage(bool) is not used
showMessage(bool) deletes the instance)
%End

};


class QgsMessageOutputConsole : QObject, QgsMessageOutput
{
%Docstring(signature="appended")
Default implementation of message output interface

This class outputs messages to the standard output. Therefore it might
be the right choice for apps without GUI.
%End

%TypeHeaderCode
#include "qgsmessageoutput.h"
%End
  public:

    QgsMessageOutputConsole();

    virtual void setMessage( const QString &message, MessageType msgType );


    virtual void appendMessage( const QString &message );


    virtual void setTitle( const QString &title );


    virtual void showMessage( bool blocking = true );

%Docstring
sends the message to the standard output
%End

  signals:

    void destroyed();
%Docstring
signals that object will be destroyed and shouldn't be used anymore
%End

};

/************************************************************************
 * This file has been generated automatically from                      *
 *                                                                      *
 * src/core/qgsmessageoutput.h                                          *
 *                                                                      *
 * Do not edit manually ! Edit header and run scripts/sipify.py again   *
 ************************************************************************/
