kmwizard.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef KMWIZARD_H
00021 #define KMWIZARD_H
00022
00023 #include <qdialog.h>
00024 #include <qintdict.h>
00025 #include <qvaluestack.h>
00026
00027 #include <kdelibs_export.h>
00028
00029 class QWidgetStack;
00030 class QLabel;
00031 class QPushButton;
00032 class KMWizardPage;
00033 class KMPrinter;
00034 class KMWBackend;
00035 class SidePixmap;
00036
00037 class KDEPRINT_EXPORT KMWizard : public QDialog
00038 {
00039 Q_OBJECT
00040 public:
00041 enum PageType {
00042 Start = 0,
00043 End,
00044 Error,
00045 Backend,
00046 Driver,
00047 File,
00048 SMB,
00049 TCP,
00050 Local,
00051 LPD,
00052 IPP,
00053 IPPSelect,
00054 Class,
00055 Password,
00056 DriverTest,
00057 DriverSelect,
00058 Name,
00059 Banners,
00060 Custom = 100
00061 };
00062
00063 KMWizard(QWidget *parent = 0, const char *name = 0);
00064 ~KMWizard();
00065
00066 void configure(int start, int end, bool inclusive = true);
00067 void setCurrentPage(int ID, bool back = false);
00068 void setPrinter(KMPrinter*);
00069 KMPrinter* printer() { return m_printer; }
00070 void addPage(KMWizardPage*);
00071 KMWBackend* backendPage() { return m_backend; }
00072 void setNextPage(int page, int next);
00073
00074 public slots:
00075 void enableWizard();
00076 void disableWizard();
00077
00078 protected slots:
00079 void slotNext();
00080 void slotPrev();
00081 void slotHelp();
00082
00083 private:
00084 QIntDict<KMWizardPage> m_pagepool;
00085 QValueStack<int> m_pagestack;
00086
00087 QWidgetStack *m_stack;
00088 QLabel *m_title;
00089 QPushButton *m_next, *m_prev;
00090 int m_start, m_end;
00091 bool m_inclusive;
00092 KMPrinter *m_printer;
00093
00094
00095 KMWBackend *m_backend;
00096
00097
00098 SidePixmap *m_side;
00099 };
00100
00101 #endif
|