libkdepim
kwidgetlister.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032 #ifndef _KWIDGETLISTER_H_
00033 #define _KWIDGETLISTER_H_
00034
00035 #include <qwidget.h>
00036 #include <qptrlist.h>
00037 #include <kdepimmacros.h>
00038
00039 class QPushButton;
00040 class QVBoxLayout;
00041 class QHBox;
00042
00065 class KDE_EXPORT KWidgetLister : public QWidget
00066 {
00067 Q_OBJECT
00068 public:
00069 KWidgetLister( int minWidgets=1, int maxWidgets=8, QWidget* parent=0, const char* name=0 );
00070 virtual ~KWidgetLister();
00071
00072 protected slots:
00078 virtual void slotMore();
00084 virtual void slotFewer();
00090 virtual void slotClear();
00091
00092
00093
00094 protected:
00103 virtual void addWidgetAtEnd(QWidget *w =0);
00111 virtual void removeLastWidget();
00114 virtual void clearWidget( QWidget* );
00119 virtual QWidget* createWidget( QWidget *parent );
00123 virtual void setNumberOfShownWidgetsTo( int aNum );
00127 QPtrList<QWidget> mWidgetList;
00129 int mMinWidgets;
00131 int mMaxWidgets;
00132
00133 signals:
00135 void widgetAdded();
00137 void widgetAdded(QWidget *);
00139 void widgetRemoved();
00141 void clearWidgets();
00142
00143 private:
00144 void enableControls();
00145
00146 QPushButton *mBtnMore, *mBtnFewer, *mBtnClear;
00147 QVBoxLayout *mLayout;
00148 QHBox *mButtonBox;
00149 };
00150
00151
00152
00153 #endif
|