00001 #ifndef MINIKDE_KDIALOGBASE_H
00002 #define MINIKDE_KDIALOGBASE_H
00003
00004 #include <qframe.h>
00005
00006 #include "kdialog.h"
00007
00008 class QPushButton;
00009 class QLayout;
00010 class QTabWidget;
00011 class QBoxLayout;
00012
00013 class KDialogBase : public KDialog
00014 {
00015 Q_OBJECT
00016 public:
00017 enum ButtonCode
00018 {
00019 Help = 0x00000001,
00020 Default = 0x00000002,
00021 Ok = 0x00000004,
00022 Apply = 0x00000008,
00023 Try = 0x00000010,
00024 Cancel = 0x00000020,
00025 Close = 0x00000040,
00026 User1 = 0x00000080,
00027 User2 = 0x00000100,
00028 User3 = 0x00000200,
00029 No = 0x00000080,
00030 Yes = 0x00000100,
00031 Details = 0x00000400,
00032 Filler = 0x40000000,
00033 Stretch = 0x80000000
00034 };
00035
00036 enum DialogType
00037 {
00038 TreeList,
00039 Tabbed,
00040 Plain,
00041 Swallow,
00042 IconList
00043 };
00044
00045 KDialogBase();
00046 KDialogBase( QWidget *parent=0, const char *name=0, bool modal=true,
00047 const QString &caption=QString::null,
00048 int buttonMask=Ok|Apply|Cancel, ButtonCode defaultButton=Ok,
00049 bool separator=false,
00050 const QString &user1=QString::null,
00051 const QString &user2=QString::null,
00052 const QString &user3=QString::null);
00053 KDialogBase( int dialogFace, const QString &caption,
00054 int buttonMask, ButtonCode defaultButton,
00055 QWidget *parent=0, const char *name=0, bool modal=true,
00056 bool separator=false,
00057 const QString &user1=QString::null,
00058 const QString &user2=QString::null,
00059 const QString &user3=QString::null);
00060 virtual ~KDialogBase();
00061
00062 QFrame *addPage( const QString & );
00063 QFrame *addPage( const QString &, int, const QPixmap & );
00064
00065 void setMainWidget( QWidget *widget );
00066
00067 void enableButton( ButtonCode id, bool state );
00068 void enableButtonOK( bool state );
00069 void enableButtonApply( bool state );
00070
00071 int pageIndex( QWidget *widget ) const;
00072
00073 bool showPage( int index );
00074
00075 QFrame *plainPage();
00076
00077 signals:
00078 void user1Clicked();
00079
00080 protected slots:
00081 virtual void slotOk();
00082 virtual void slotApply();
00083 virtual void slotCancel();
00084 virtual void slotClose();
00085 virtual void slotUser1();
00086
00087 private:
00088 QTabWidget *tabWidget();
00089 void init( const QString &caption, int buttonMask,
00090 const QString &user1=QString::null );
00091 void initLayout();
00092
00093 QWidget *mMainWidget;
00094 QTabWidget *mTabWidget;
00095 QFrame *mPlainPage;
00096 QBoxLayout *mTopLayout;
00097
00098 QPushButton *mUser1Button;
00099 QPushButton *mCloseButton;
00100 QPushButton *mOkButton;
00101 QPushButton *mApplyButton;
00102 QPushButton *mCancelButton;
00103 };
00104
00105 #endif