QGIS/python/core/qgsmessageoutput.sip
Juergen E. Fischer f3cb57b1eb SIP bindings update:
- update methods of existing classes
- add comment to methods missing in the sip bindings
- split up collective sip files into single files and use
  same directory structure in python/ as in src/
- add a lot of missing classes (some might not make sense because of
  missing python methods in those classes)
- remove some non-existing methods from the header files
- add scripts/sipdiff
- replace some usages of std::vector and std::set with QVector/QSet
2012-09-24 02:42:57 +02:00

84 lines
2.2 KiB
Plaintext

/**
\brief 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 QgsMessageConsoleOutput will be used if not overridden
with other message output creator function.
QGIS application uses QgsMessageView class for displaying a dialog to the user.
Object deletes itself when it's not needed anymore. Children should use
signal destroyed() to notify the deletion
*/
class QgsMessageOutput
{
%TypeHeaderCode
#include <qgsmessageoutput.h>
%End
public:
//! message can be in plain text or in html format
enum MessageType { MessageText, MessageHtml };
//! virtual destructor
virtual ~QgsMessageOutput();
//! set message, it won't be displayed until
virtual void setMessage( const QString& message, MessageType msgType ) = 0;
//! message to be appended to the current text
virtual void appendMessage( const QString& message ) = 0;
//! set title for the messages
virtual void setTitle( const QString& title ) = 0;
//! display the message to the user
virtual void showMessage( bool blocking = true ) = 0;
//! sets function that will be used to create message output
// TODO: implementation where python class could be passed
// static void setMessageOutputCreator(MESSAGE_OUTPUT_CREATOR f);
//! function that returns new class derived from QgsMessageOutput
//! (don't forget to delete it then)
static QgsMessageOutput* createMessageOutput();
};
/**
\brief 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.
*/
class QgsMessageOutputConsole : QObject, QgsMessageOutput
{
%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 );
//! sends the message to the standard output
virtual void showMessage( bool blocking = true );
signals:
//! signals that object will be destroyed and shouldn't be used anymore
void destroyed();
};