kdeprint Library API Documentation

kmwizard.h

00001 /*
00002  *  This file is part of the KDE libraries
00003  *  Copyright (c) 2001 Michael Goffioul <kdeprint@swing.be>
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 version 2 as published by the Free Software Foundation.
00008  *
00009  *  This library is distributed in the hope that it will be useful,
00010  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012  *  Library General Public License for more details.
00013  *
00014  *  You should have received a copy of the GNU Library General Public License
00015  *  along with this library; see the file COPYING.LIB.  If not, write to
00016  *  the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
00017  *  Boston, MA 02111-1307, USA.
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 class QWidgetStack;
00028 class QLabel;
00029 class QPushButton;
00030 class KMWizardPage;
00031 class KMPrinter;
00032 class KMWBackend;
00033 class SidePixmap;
00034 
00035 class KMWizard : public QDialog
00036 {
00037     Q_OBJECT
00038 public:
00039     enum PageType {
00040         Start   = 0,
00041         End,
00042         Error,
00043         Backend,
00044         Driver,
00045         File,
00046         SMB,
00047         TCP,
00048         Local,
00049         LPD,
00050         IPP,
00051         IPPSelect,
00052         Class,
00053         Password,
00054         DriverTest,
00055         DriverSelect,
00056         Name,
00057         Banners,
00058         Custom  = 100
00059     };
00060 
00061     KMWizard(QWidget *parent = 0, const char *name = 0);
00062     ~KMWizard();
00063 
00064     void configure(int start, int end, bool inclusive = true);
00065     void setCurrentPage(int ID, bool back = false);
00066     void setPrinter(KMPrinter*);
00067     KMPrinter* printer()        { return m_printer; }
00068     void addPage(KMWizardPage*);
00069     KMWBackend* backendPage()   { return m_backend; }
00070     void setNextPage(int page, int next);
00071 
00072 public slots:
00073     void enableWizard();
00074     void disableWizard();
00075 
00076 protected slots:
00077     void slotNext();
00078     void slotPrev();
00079     void slotHelp();
00080 
00081 private:
00082     QIntDict<KMWizardPage>  m_pagepool;
00083     QValueStack<int>    m_pagestack;
00084 
00085     QWidgetStack        *m_stack;
00086     QLabel          *m_title;
00087     QPushButton     *m_next, *m_prev;
00088     int         m_start, m_end;
00089     bool            m_inclusive;
00090     KMPrinter       *m_printer;
00091 
00092     // backend page
00093     KMWBackend      *m_backend;
00094 
00095     // side pixmap
00096     SidePixmap      *m_side;
00097 };
00098 
00099 #endif
KDE Logo
This file is part of the documentation for kdeprint Library Version 3.3.0.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Thu Sep 23 17:12:54 2004 by doxygen 1.3.8-20040913 written by Dimitri van Heesch, © 1997-2003