kdeui
kdialog.h
Go to the documentation of this file. 00001 /* This file is part of the KDE Libraries
00002 * Copyright (C) 1998 Thomas Tanghus (tanghus@earthling.net)
00003 * Additions 1999-2000 by Espen Sand (espen@kde.org)
00004 *
00005 * This library is free software; you can redistribute it and/or
00006 * modify it under the terms of the GNU Library General Public
00007 * License as published by the Free Software Foundation; either
00008 * version 2 of the License, or (at your option) any later version.
00009 *
00010 * This library is distributed in the hope that it will be useful,
00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of
00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
00013 * Library General Public License for more details.
00014 *
00015 * You should have received a copy of the GNU Library General Public License
00016 * along with this library; see the file COPYING.LIB. If not, write to
00017 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00018 * Boston, MA 02110-1301, USA.
00019 */
00020
00021 #ifndef _KDIALOG_H_
00022 #define _KDIALOG_H_
00023
00024 class QLayoutItem;
00025
00026 #include <qdialog.h>
00027
00028 #include <kdelibs_export.h>
00029
00052 class KDEUI_EXPORT KDialog : public QDialog
00053 {
00054 Q_OBJECT
00055
00056 public:
00057
00063 KDialog(QWidget *parent = 0, const char *name = 0,
00064 bool modal = false, WFlags f = 0);
00065
00070 static int marginHint();
00071
00076 static int spacingHint();
00077
00085 static void resizeLayout( QWidget *widget, int margin, int spacing );
00086
00094 static void resizeLayout( QLayoutItem *lay, int margin, int spacing );
00095
00106 static void centerOnScreen( QWidget *widget, int screen = -1 );
00107
00117 static bool avoidArea( QWidget *widget, const QRect& area, int screen = -1 );
00118
00119 public slots:
00124 virtual void polish();
00125
00133 virtual void setCaption( const QString &caption );
00134
00141 virtual void setPlainCaption( const QString &caption );
00142
00143
00144 protected:
00148 virtual void keyPressEvent(QKeyEvent*);
00149
00150
00151 signals:
00159 void layoutHintChanged();
00160
00161 private:
00162 static const int mMarginSize;
00163 static const int mSpacingSize;
00164
00165 protected:
00166 virtual void virtual_hook( int id, void* data );
00167 private:
00168 class KDialogPrivate;
00169 KDialogPrivate* const d;
00170
00171 };
00172
00173
00188 class KDialogQueuePrivate;
00189 class KDEUI_EXPORT KDialogQueue : public QObject
00190 {
00191 Q_OBJECT
00192
00193 public:
00194
00195 static void queueDialog(QDialog *);
00196
00197 ~KDialogQueue();
00198
00199 protected:
00200 KDialogQueue();
00201 static KDialogQueue *self();
00202
00203 private slots:
00204 void slotShowQueuedDialog();
00205
00206 protected:
00207 KDialogQueuePrivate* const d;
00208 static KDialogQueue *_self;
00209 };
00210
00211 #endif // __KDIALOG_H