// This is the SIP interface definition for QMessageBox.
//
// Copyright (c) 2007
// 	Riverbank Computing Limited <info@riverbankcomputing.co.uk>
// 
// This file is part of PyQt.
// 
// This copy of PyQt is free software; you can redistribute it and/or modify it
// under the terms of the GNU General Public License as published by the Free
// Software Foundation; either version 2, or (at your option) any later
// version.
// 
// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY
// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
// FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
// details.
// 
// You should have received a copy of the GNU General Public License along with
// PyQt; see the file LICENSE.  If not, write to the Free Software Foundation,
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.


%ExportedDoc
<Sect2><Title>QMessageBox</Title>
<Para>
<Literal>QMessageBox</Literal> is fully implemented.
</Para>
</Sect2>
%End


%If (Qt_MESSAGEBOX)

class QMessageBox : QDialog
{
%TypeHeaderCode
#include <qmessagebox.h>
%End

public:
	enum Icon {
		NoIcon,
		Information,
		Warning,
		Critical,
%If (Qt_3_2_0 -)
		Question,
%End
	};

	QMessageBox(QWidget * /TransferThis/ = 0,const char * = 0);
%If (- Qt_2_00)
	QMessageBox(const char *,const char *,Icon,int,int,int,
		    QWidget * /TransferThis/ = 0,const char * = 0,bool = 1,
		    WFlags = 0);
%End
%If (Qt_2_00 -)
	QMessageBox(const QString &,const QString &,Icon,int,int,int,
		    QWidget * /TransferThis/ = 0,const char * = 0,bool = 1,
		    WFlags = WStyle_DialogBorder);
%End

	enum {
		Ok,
		Cancel,
		Yes,
		No,
		Abort,
		Retry,
		Ignore,
%If (Qt_3_2_0 -)
		YesAll,
		NoAll,
%End
		ButtonMask,
		Default,
		Escape,
		FlagMask
	};

%If (- Qt_2_00)
	static int information(QWidget *,const char *,const char *,int,int = 0,
			       int = 0) /ReleaseGIL/;
	static int information(QWidget *,const char *,const char *,
			       const char * = "OK",const char * = 0,
			       const char * = 0,int = 0,int = -1) /ReleaseGIL/;

	static int warning(QWidget *,const char *,const char *,int,int,
			   int = 0) /ReleaseGIL/;
	static int warning(QWidget *,const char *,const char *,
			   const char * = "OK",const char * = 0,
			   const char * = 0,int = 0,int = -1) /ReleaseGIL/;

	static int critical(QWidget *,const char *,const char *,int,int,
			    int = 0) /ReleaseGIL/;
	static int critical(QWidget *,const char *,const char *,
			    const char * = "OK",const char * = 0,
			    const char * = 0,int = 0,int = -1) /ReleaseGIL/;

	static void about(QWidget *,const char *,const char *) /ReleaseGIL/;
	static void aboutQt(QWidget *,const char * = 0) /ReleaseGIL/;

	const char *text() const;
	void setText(const char *);
%End
%If (Qt_2_00 -)
	static int information(QWidget *,const QString &,const QString &,int,
			       int = 0,int = 0) /ReleaseGIL/;
	static int information(QWidget *,const QString &,const QString &,
			       const QString & = QString::null,
			       const QString & = QString::null,
			       const QString & = QString::null,
			       int = 0,int = -1) /ReleaseGIL/;

%If (Qt_3_2_0 -)
	static int question(QWidget *,const QString &,const QString &,int,
			    int = 0,int = 0) /ReleaseGIL/;
	static int question(QWidget *,const QString &,const QString &,
			    const QString & = QString::null,
			    const QString & = QString::null,
			    const QString & = QString::null,
			    int = 0,int = -1) /ReleaseGIL/;
%End

	static int warning(QWidget *,const QString &,const QString &,int,
			   int = 0,int = 0) /ReleaseGIL/;
	static int warning(QWidget *,const QString &,const QString &,
			   const QString & = QString::null,
			   const QString & = QString::null,
			   const QString & = QString::null,int = 0,
			   int = -1) /ReleaseGIL/;

	static int critical(QWidget *,const QString &,const QString &,int,
			    int = 0,int = 0) /ReleaseGIL/;
	static int critical(QWidget *,const QString &,const QString &,
			    const QString & = QString::null,
			    const QString & = QString::null,
			    const QString & = QString::null,int = 0,
			    int = -1) /ReleaseGIL/;

	static void about(QWidget *,const QString &,
			  const QString &) /ReleaseGIL/;
	static void aboutQt(QWidget *,
			    const QString & = QString::null) /ReleaseGIL/;

	QString text() const;
	void setText(const QString &);
%End

	Icon icon() const;

	void setIcon(Icon);
%If (Qt_2_00 -)
	void setIcon(const QPixmap &);
%End

	const QPixmap *iconPixmap() const;
	void setIconPixmap(const QPixmap &);

%If (- Qt_2_00)
	const char *buttonText(int) const;
	void setButtonText(int,const char *);
%End
%If (Qt_2_00 -)
	QString buttonText(int) const;
	void setButtonText(int,const QString &);
%End

	void adjustSize();

%If (- Qt_3_0_0)
	static QPixmap standardIcon(Icon,GUIStyle);
%End
%If (Qt_3_0_0 -)
	static QPixmap standardIcon(Icon);
%End

%If (Qt_2_1_0 -)
	TextFormat textFormat() const;
	void setTextFormat(TextFormat);
%End

%If (- Qt_2_00)
	void setStyle(GUIStyle);
%End

protected:
	void resizeEvent(QResizeEvent *);
%If (Qt_3_0_0 -)
	void showEvent(QShowEvent *);
%End
%If (Qt_3_2_0 -)
	void closeEvent(QCloseEvent *);
%End
	void keyPressEvent(QKeyEvent *);
%If (Qt_2_00 -)
	void styleChanged(QStyle &);
%End

private:
	QMessageBox(const QMessageBox &);
};

%End
