00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef SCHEDITPREFS_H
00022 #define SCHEDITPREFS_H
00023
00024 #include <qframe.h>
00025 #include <qlayout.h>
00026 #include <qpainter.h>
00027 #include <qptrlist.h>
00028
00029 class KDialogBase;
00030 class KConfigGroup;
00031 class QCheckBox;
00032
00038
00039 class ScheditPrefs : public QFrame {
00040 Q_OBJECT
00041
00042 protected:
00043 QString sLastKey;
00044 int iStyle;
00045
00046 void * pLocalData;
00047 void * pObjectData;
00048 int iSize;
00049
00050 virtual void renderPage ();
00051
00052 public slots:
00053 void render ();
00054
00055 private:
00056 int iPage;
00057
00058 QString sKey;
00059
00060 QPtrList<QCheckBox> apcb;
00061
00062 static void copy ( void * pDst, void * pSrc, int iCount );
00063
00064 typedef QPtrList<ScheditPrefs> prefsList;
00065 static prefsList list;
00066
00067 QFrame * addPage ( KDialogBase * dlg,
00068 QString qsTitle,
00069 QString qsKey);
00070 virtual void readPreferences ( KConfigGroup * config ) = 0;
00071 virtual void writePreferences ( KConfigGroup * config ) = 0;
00072
00073 protected:
00074 QVBoxLayout layout;
00075
00076 public:
00077 ScheditPrefs (KDialogBase * dlg,
00078 QString qsTitle,
00079 QString qsKey);
00080 ScheditPrefs (KDialogBase * dlg,
00081 QString qsKey);
00082 void embolden ( QWidget * w );
00083 QString getKey ( void );
00084 void readGroup ( KConfig * config );
00085 void writeGroup ( KConfig * config );
00086 QCheckBox * makeCb ( QString qs );
00087 void setPage ( int iIndex );
00088
00089 virtual void setupPainter ( QPainter& painter) = 0;
00090
00091 static void load ();
00092 static void save ();
00093
00094 static void render ( int iIndex );
00095 };
00096
00097
00098 #endif