00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef KCONFIGWIZARD_H
00022 #define KCONFIGWIZARD_H
00023
00024 #include <kconfigpropagator.h>
00025 #include <kdepimmacros.h>
00026 #include <kdialogbase.h>
00027
00028 class TQListView;
00029
00033 class KDE_EXPORT KConfigWizard : public KDialogBase
00034 {
00035 Q_OBJECT
00036 TQ_OBJECT
00037 public:
00041 KConfigWizard( TQWidget *parent = 0, char *name = 0, bool modal = false );
00046 KConfigWizard( KConfigPropagator *propagator, TQWidget *parent = 0,
00047 char *name = 0, bool modal = false );
00051 virtual ~KConfigWizard();
00052
00056 void setPropagator( KConfigPropagator * );
00060 KConfigPropagator *propagator() { return mPropagator; }
00061
00065 TQFrame *createWizardPage( const TQString &title );
00066
00071 virtual void usrReadConfig() = 0;
00072
00078 virtual void usrWriteConfig() = 0;
00079
00084 virtual TQString validate() { return TQString(); }
00085
00086 protected slots:
00087 void readConfig();
00088
00089 void slotOk();
00090
00091 void slotAboutToShowPage( TQWidget *page );
00092
00093 protected:
00094 void init();
00095
00096 void setupRulesPage();
00097 void updateRules();
00098 void setupChangesPage();
00099 void updateChanges();
00100
00101 private:
00102 KConfigPropagator *mPropagator;
00103
00104 TQListView *mRuleView;
00105 TQListView *mChangeView;
00106
00107 TQWidget *mChangesPage;
00108 };
00109
00110 #endif