|
|
/* This file is part of the KDE libraries Copyright (C) 1997 Alexander Sanda (alex@darkstar.ping.at) This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* * $Id: kmsgbox.h,v 1.11 1998/10/31 15:25:01 porten Exp $ * * $Log: kmsgbox.h,v $ * Revision 1.11 1998/10/31 15:25:01 porten * Harri: fixed documented return value of yesNo() * * Revision 1.10 1998/09/14 20:44:07 kulow * I know, Ok is ok too, but OK is more OK some GUI guides say :) * * Revision 1.9 1998/09/01 20:22:04 kulow * I renamed all old qt header files to the new versions. I think, this looks * nicer (and gives the change in configure a sense :) * * Revision 1.8 1998/08/03 15:24:24 ssk * Wrote documentation. * Eliminated dead and commented-out code. * * Revision 1.7 1998/01/03 19:47:30 kulow * changed the defaults for yesNo and co. It's no longer "Yes" and co, but * 0 to enable translation in case. * This is source and binary compatible. It's just, that it will behave * differently after recompiling (as far I understood the C++ language ;) * * Revision 1.6 1997/11/04 17:48:51 kulow * hmm, gcc accepts QPixmap & icon = 0, Sparc CC won't. So I made it .. = QPixmap() * * Revision 1.5 1997/10/21 20:45:03 kulow * removed all NULLs and replaced it with 0L or "". * There are some left in mediatool, but this is not C++ * * Revision 1.4 1997/10/16 11:15:27 torben * Kalle: Copyright headers * kdoctoolbar removed * * Revision 1.3 1997/07/24 21:06:07 kalle * Kalle: * KToolBar upgraded to newtoolbar 0.6 * KTreeList has rubberbanding now * Patches for SGI * * Revision 1.2 1997/05/08 22:53:20 kalle * Kalle: * KPixmap gone for good * Eliminated static objects from KApplication and HTML-Widget * * Revision 1.1.1.1 1997/04/13 14:42:42 cvsuser * Source imported * * Revision 1.1.1.1 1997/04/09 00:28:09 cvsuser * Sources imported * * Revision 1.1 1997/03/15 22:41:21 kalle * Initial revision * * Revision 1.3.2.1 1997/01/10 19:48:32 alex * public release 0.1 * * Revision 1.3 1997/01/10 19:44:33 alex * *** empty log message *** * * Revision 1.2.4.1 1997/01/10 16:46:33 alex * rel 0.1a, not public * * Revision 1.2 1997/01/10 13:05:52 alex * *** empty log message *** * * Revision 1.1.1.1 1997/01/10 13:05:21 alex * imported * */ // kmsgbox.h #ifndef _KMSGBOX_H_ #define _KMSGBOX_H_ #include <qdialog.h> #include <qpushbutton.h> #include <qlabel.h> #include <qframe.h> #include <qpixmap.h> /** * Enhanced MessageBox Dialog. * * Provides a message box with icons and up to four configurable * buttons and internationalized button text. * * Several static functions that perform common message box functions * are also provided for convenience. * * @author Alexander Sanda (alex@darkstar.ping.at) * @version $Id: kmsgbox.h,v 1.11 1998/10/31 15:25:01 porten Exp $ */ class KMsgBox : public QDialog { Q_OBJECT public: /** * Icon styles for message box customization. One of these should be * passed in the type parameter of the message box constructor * and static functions. * * @see KMsgBox::KMsgBox */ enum IconStyle { INFORMATION = 1, EXCLAMATION = 2, STOP = 4, QUESTION = 8 }; /** * Possible options for the default button. The first button * is set to the default if no button is explicitly selected. * * @see KMsgBox::KMsgBox */ enum DefaultButton { DB_FIRST = 16, DB_SECOND = 32, DB_THIRD = 64, DB_FOURTH = 128}; /** * The generic constructor for a KMsgBox widget. * * @param parent Parent widget * @param caption Message box title * @param message Message string, center aligned by default. * May contain newlines. * @param type Selects message box options. This value is * a constant from @ref ::DefaultButton and/or * a constant from @ref ::IconStyle or-ed together. * @param b1text.. Button captions. Up to four may be specified, only * specified buttons will be displayed. * * @see ::DefaultButton ::IconStyle */ KMsgBox ( QWidget *parent = 0, const char *caption = 0, const char *message = 0, int type = INFORMATION, const char *b1text = 0, const char *b2text = 0, const char *b3text = 0, const char *b4text = 0); /** * Destructor. */ ~KMsgBox(); /** * Displays a modal yes/no message box. * The icon is set to a question mark. * * @param parent the parent widget * @param caption the message box title * @param message the message in the dialog (eg the question the * user is to be asked) * @param type Selects message box options. This value is * a constant from @ref ::DefaultButton and/or * a constant from @ref ::IconStyle or-ed together. * @param yes the text for the "Yes" button. defaults to "Yes", or * its translation in the current user's locale if * available. * @param no the text for the "No" button. defaults to "No", or * its translation in the current user's locale if * available. * * @return 1 if yes is clicked, 2 otherwise. */ static int yesNo( QWidget *parent = 0, const char *caption = 0, const char *message = 0, int type = 0, const char *yes = 0, const char *no = 0); /** * Displays a modal yes/no/cancel message box. * The icon is set to a question mark. * * @param parent the parent widget * @param caption the message box title * @param message the message in the dialog (eg the question the user is * to be asked) * @param type Selects message box options. This value is * a constant from @ref ::DefaultButton and/or * a constant from @ref ::IconStyle or-ed together. * @param yes the text for the "Yes" button. defaults to "Yes", or * its translation in the current user's locale if * available. * @param no the text for the "No" button. defaults to "No", or * its translation in the current user's locale if * available. * @param cancel the text for the "Cancel" button. defaults to "Cancel", * or its translation in the current user's locale * if available. * * @return 1, 2 or 3 if yes, no or cancel are clicked respectively. */ static int yesNoCancel( QWidget *parent = 0, const char *caption = 0, const char *message = 0, int type = 0, const char *yes = 0, const char *no = 0, const char *cancel = 0); /** * Displays a modal message box with one button. An "Information" * icon is displayed. * * @param parent the parent widget * @param caption the message box title * @param message the message in the dialog (eg the question the user is * to be asked) * @param type Selects message box options. This value is * a constant from @ref ::DefaultButton and/or * a constant from @ref ::IconStyle or-ed together. * @param btext the text for the "OK" button. defaults to "Ok", or * its translation in the current user's locale if * available. * @return 1 if the Ok button is clicked */ static int message( QWidget *parent = 0, const char *caption = 0, const char *message = 0, int type = 0, const char *btext = 0); private: enum {B_SPACING = 10, B_WIDTH = 80}; QLabel *msg, *picture; QPushButton *b1, *b2, *b3, *b4; QFrame *f1; int nr_buttons; int w, h, h1, text_offset; void calcOptimalSize(); public slots: void b1Pressed(); void b2Pressed(); void b3Pressed(); void b4Pressed(); }; #endif
Generated by: root@porky.devel.redhat.com on Mon Feb 21 16:51:05 200. |