File indexing completed on 2024-05-12 04:35:13

0001 /****************************************************************************
0002 **
0003 ** Copyright (C) 2016 The Qt Company Ltd.
0004 ** Contact: https://www.qt.io/licensing/
0005 **
0006 ** This file is part of the tools applications of the Qt Toolkit.
0007 **
0008 ** $QT_BEGIN_LICENSE:LGPL$
0009 ** Commercial License Usage
0010 ** Licensees holding valid commercial Qt licenses may use this file in
0011 ** accordance with the commercial license agreement provided with the
0012 ** Software or, alternatively, in accordance with the terms contained in
0013 ** a written agreement between you and The Qt Company. For licensing terms
0014 ** and conditions see https://www.qt.io/terms-conditions. For further
0015 ** information use the contact form at https://www.qt.io/contact-us.
0016 **
0017 ** GNU Lesser General Public License Usage
0018 ** Alternatively, this file may be used under the terms of the GNU Lesser
0019 ** General Public License version 3 as published by the Free Software
0020 ** Foundation and appearing in the file LICENSE.LGPL3 included in the
0021 ** packaging of this file. Please review the following information to
0022 ** ensure the GNU Lesser General Public License version 3 requirements
0023 ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
0024 **
0025 ** GNU General Public License Usage
0026 ** Alternatively, this file may be used under the terms of the GNU
0027 ** General Public License version 2.0 or (at your option) the GNU General
0028 ** Public license version 3 or any later version approved by the KDE Free
0029 ** Qt Foundation. The licenses are as published by the Free Software
0030 ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
0031 ** included in the packaging of this file. Please review the following
0032 ** information to ensure the GNU General Public License requirements will
0033 ** be met: https://www.gnu.org/licenses/gpl-2.0.html and
0034 ** https://www.gnu.org/licenses/gpl-3.0.html.
0035 **
0036 ** $QT_END_LICENSE$
0037 **
0038 ****************************************************************************/
0039 
0040 #ifndef QTPROPERTYMANAGER_H
0041 #define QTPROPERTYMANAGER_H
0042 
0043 #include "qtpropertybrowser.h"
0044 
0045 QT_BEGIN_NAMESPACE
0046 
0047 class QDate;
0048 class QTime;
0049 class QDateTime;
0050 class QLocale;
0051 
0052 class QT_QTPROPERTYBROWSER_EXPORT QtGroupPropertyManager : public QtAbstractPropertyManager
0053 {
0054     Q_OBJECT
0055 public:
0056     QtGroupPropertyManager(QObject *parent = 0);
0057     ~QtGroupPropertyManager();
0058 
0059 protected:
0060     virtual bool hasValue(const QtProperty *property) const;
0061 
0062     virtual void initializeProperty(QtProperty *property);
0063     virtual void uninitializeProperty(QtProperty *property);
0064 };
0065 
0066 class QtIntPropertyManagerPrivate;
0067 
0068 class QT_QTPROPERTYBROWSER_EXPORT QtIntPropertyManager : public QtAbstractPropertyManager
0069 {
0070     Q_OBJECT
0071 public:
0072     QtIntPropertyManager(QObject *parent = 0);
0073     ~QtIntPropertyManager();
0074 
0075     int value(const QtProperty *property) const;
0076     int minimum(const QtProperty *property) const;
0077     int maximum(const QtProperty *property) const;
0078     int singleStep(const QtProperty *property) const;
0079 
0080 public Q_SLOTS:
0081     void setValue(QtProperty *property, int val);
0082     void setMinimum(QtProperty *property, int minVal);
0083     void setMaximum(QtProperty *property, int maxVal);
0084     void setRange(QtProperty *property, int minVal, int maxVal);
0085     void setSingleStep(QtProperty *property, int step);
0086 Q_SIGNALS:
0087     void valueChanged(QtProperty *property, int val);
0088     void rangeChanged(QtProperty *property, int minVal, int maxVal);
0089     void singleStepChanged(QtProperty *property, int step);
0090 protected:
0091     QString valueText(const QtProperty *property) const;
0092     virtual void initializeProperty(QtProperty *property);
0093     virtual void uninitializeProperty(QtProperty *property);
0094 private:
0095     QScopedPointer<QtIntPropertyManagerPrivate> d_ptr;
0096     Q_DECLARE_PRIVATE(QtIntPropertyManager)
0097     Q_DISABLE_COPY(QtIntPropertyManager)
0098 };
0099 
0100 class QtBoolPropertyManagerPrivate;
0101 
0102 class QT_QTPROPERTYBROWSER_EXPORT QtBoolPropertyManager : public QtAbstractPropertyManager
0103 {
0104     Q_OBJECT
0105 public:
0106     QtBoolPropertyManager(QObject *parent = 0);
0107     ~QtBoolPropertyManager();
0108 
0109     bool value(const QtProperty *property) const;
0110 
0111 public Q_SLOTS:
0112     void setValue(QtProperty *property, bool val);
0113 Q_SIGNALS:
0114     void valueChanged(QtProperty *property, bool val);
0115 protected:
0116     QString valueText(const QtProperty *property) const;
0117     QIcon valueIcon(const QtProperty *property) const;
0118     virtual void initializeProperty(QtProperty *property);
0119     virtual void uninitializeProperty(QtProperty *property);
0120 private:
0121     QScopedPointer<QtBoolPropertyManagerPrivate> d_ptr;
0122     Q_DECLARE_PRIVATE(QtBoolPropertyManager)
0123     Q_DISABLE_COPY(QtBoolPropertyManager)
0124 };
0125 
0126 class QtDoublePropertyManagerPrivate;
0127 
0128 class QT_QTPROPERTYBROWSER_EXPORT QtDoublePropertyManager : public QtAbstractPropertyManager
0129 {
0130     Q_OBJECT
0131 public:
0132     QtDoublePropertyManager(QObject *parent = 0);
0133     ~QtDoublePropertyManager();
0134 
0135     double value(const QtProperty *property) const;
0136     double minimum(const QtProperty *property) const;
0137     double maximum(const QtProperty *property) const;
0138     double singleStep(const QtProperty *property) const;
0139     int decimals(const QtProperty *property) const;
0140 
0141 public Q_SLOTS:
0142     void setValue(QtProperty *property, double val);
0143     void setMinimum(QtProperty *property, double minVal);
0144     void setMaximum(QtProperty *property, double maxVal);
0145     void setRange(QtProperty *property, double minVal, double maxVal);
0146     void setSingleStep(QtProperty *property, double step);
0147     void setDecimals(QtProperty *property, int prec);
0148 Q_SIGNALS:
0149     void valueChanged(QtProperty *property, double val);
0150     void rangeChanged(QtProperty *property, double minVal, double maxVal);
0151     void singleStepChanged(QtProperty *property, double step);
0152     void decimalsChanged(QtProperty *property, int prec);
0153 protected:
0154     QString valueText(const QtProperty *property) const;
0155     virtual void initializeProperty(QtProperty *property);
0156     virtual void uninitializeProperty(QtProperty *property);
0157 private:
0158     QScopedPointer<QtDoublePropertyManagerPrivate> d_ptr;
0159     Q_DECLARE_PRIVATE(QtDoublePropertyManager)
0160     Q_DISABLE_COPY(QtDoublePropertyManager)
0161 };
0162 
0163 class QtStringPropertyManagerPrivate;
0164 
0165 class QT_QTPROPERTYBROWSER_EXPORT QtStringPropertyManager : public QtAbstractPropertyManager
0166 {
0167     Q_OBJECT
0168 public:
0169     QtStringPropertyManager(QObject *parent = 0);
0170     ~QtStringPropertyManager();
0171 
0172     QString value(const QtProperty *property) const;
0173     QRegExp regExp(const QtProperty *property) const;
0174 
0175 public Q_SLOTS:
0176     void setValue(QtProperty *property, const QString &val);
0177     void setRegExp(QtProperty *property, const QRegExp &regExp);
0178 Q_SIGNALS:
0179     void valueChanged(QtProperty *property, const QString &val);
0180     void regExpChanged(QtProperty *property, const QRegExp &regExp);
0181 protected:
0182     QString valueText(const QtProperty *property) const;
0183     virtual void initializeProperty(QtProperty *property);
0184     virtual void uninitializeProperty(QtProperty *property);
0185 private:
0186     QScopedPointer<QtStringPropertyManagerPrivate> d_ptr;
0187     Q_DECLARE_PRIVATE(QtStringPropertyManager)
0188     Q_DISABLE_COPY(QtStringPropertyManager)
0189 };
0190 
0191 class QtDatePropertyManagerPrivate;
0192 
0193 class QT_QTPROPERTYBROWSER_EXPORT QtDatePropertyManager : public QtAbstractPropertyManager
0194 {
0195     Q_OBJECT
0196 public:
0197     QtDatePropertyManager(QObject *parent = 0);
0198     ~QtDatePropertyManager();
0199 
0200     QDate value(const QtProperty *property) const;
0201     QDate minimum(const QtProperty *property) const;
0202     QDate maximum(const QtProperty *property) const;
0203 
0204 public Q_SLOTS:
0205     void setValue(QtProperty *property, const QDate &val);
0206     void setMinimum(QtProperty *property, const QDate &minVal);
0207     void setMaximum(QtProperty *property, const QDate &maxVal);
0208     void setRange(QtProperty *property, const QDate &minVal, const QDate &maxVal);
0209 Q_SIGNALS:
0210     void valueChanged(QtProperty *property, const QDate &val);
0211     void rangeChanged(QtProperty *property, const QDate &minVal, const QDate &maxVal);
0212 protected:
0213     QString valueText(const QtProperty *property) const;
0214     virtual void initializeProperty(QtProperty *property);
0215     virtual void uninitializeProperty(QtProperty *property);
0216 private:
0217     QScopedPointer<QtDatePropertyManagerPrivate> d_ptr;
0218     Q_DECLARE_PRIVATE(QtDatePropertyManager)
0219     Q_DISABLE_COPY(QtDatePropertyManager)
0220 };
0221 
0222 class QtTimePropertyManagerPrivate;
0223 
0224 class QT_QTPROPERTYBROWSER_EXPORT QtTimePropertyManager : public QtAbstractPropertyManager
0225 {
0226     Q_OBJECT
0227 public:
0228     QtTimePropertyManager(QObject *parent = 0);
0229     ~QtTimePropertyManager();
0230 
0231     QTime value(const QtProperty *property) const;
0232 
0233 public Q_SLOTS:
0234     void setValue(QtProperty *property, const QTime &val);
0235 Q_SIGNALS:
0236     void valueChanged(QtProperty *property, const QTime &val);
0237 protected:
0238     QString valueText(const QtProperty *property) const;
0239     virtual void initializeProperty(QtProperty *property);
0240     virtual void uninitializeProperty(QtProperty *property);
0241 private:
0242     QScopedPointer<QtTimePropertyManagerPrivate> d_ptr;
0243     Q_DECLARE_PRIVATE(QtTimePropertyManager)
0244     Q_DISABLE_COPY(QtTimePropertyManager)
0245 };
0246 
0247 class QtDateTimePropertyManagerPrivate;
0248 
0249 class QT_QTPROPERTYBROWSER_EXPORT QtDateTimePropertyManager : public QtAbstractPropertyManager
0250 {
0251     Q_OBJECT
0252 public:
0253     QtDateTimePropertyManager(QObject *parent = 0);
0254     ~QtDateTimePropertyManager();
0255 
0256     QDateTime value(const QtProperty *property) const;
0257 
0258 public Q_SLOTS:
0259     void setValue(QtProperty *property, const QDateTime &val);
0260 Q_SIGNALS:
0261     void valueChanged(QtProperty *property, const QDateTime &val);
0262 protected:
0263     QString valueText(const QtProperty *property) const;
0264     virtual void initializeProperty(QtProperty *property);
0265     virtual void uninitializeProperty(QtProperty *property);
0266 private:
0267     QScopedPointer<QtDateTimePropertyManagerPrivate> d_ptr;
0268     Q_DECLARE_PRIVATE(QtDateTimePropertyManager)
0269     Q_DISABLE_COPY(QtDateTimePropertyManager)
0270 };
0271 
0272 class QtKeySequencePropertyManagerPrivate;
0273 
0274 class QT_QTPROPERTYBROWSER_EXPORT QtKeySequencePropertyManager : public QtAbstractPropertyManager
0275 {
0276     Q_OBJECT
0277 public:
0278     QtKeySequencePropertyManager(QObject *parent = 0);
0279     ~QtKeySequencePropertyManager();
0280 
0281     QKeySequence value(const QtProperty *property) const;
0282 
0283 public Q_SLOTS:
0284     void setValue(QtProperty *property, const QKeySequence &val);
0285 Q_SIGNALS:
0286     void valueChanged(QtProperty *property, const QKeySequence &val);
0287 protected:
0288     QString valueText(const QtProperty *property) const;
0289     virtual void initializeProperty(QtProperty *property);
0290     virtual void uninitializeProperty(QtProperty *property);
0291 private:
0292     QScopedPointer<QtKeySequencePropertyManagerPrivate> d_ptr;
0293     Q_DECLARE_PRIVATE(QtKeySequencePropertyManager)
0294     Q_DISABLE_COPY(QtKeySequencePropertyManager)
0295 };
0296 
0297 class QtCharPropertyManagerPrivate;
0298 
0299 class QT_QTPROPERTYBROWSER_EXPORT QtCharPropertyManager : public QtAbstractPropertyManager
0300 {
0301     Q_OBJECT
0302 public:
0303     QtCharPropertyManager(QObject *parent = 0);
0304     ~QtCharPropertyManager();
0305 
0306     QChar value(const QtProperty *property) const;
0307 
0308 public Q_SLOTS:
0309     void setValue(QtProperty *property, const QChar &val);
0310 Q_SIGNALS:
0311     void valueChanged(QtProperty *property, const QChar &val);
0312 protected:
0313     QString valueText(const QtProperty *property) const;
0314     virtual void initializeProperty(QtProperty *property);
0315     virtual void uninitializeProperty(QtProperty *property);
0316 private:
0317     QScopedPointer<QtCharPropertyManagerPrivate> d_ptr;
0318     Q_DECLARE_PRIVATE(QtCharPropertyManager)
0319     Q_DISABLE_COPY(QtCharPropertyManager)
0320 };
0321 
0322 class QtEnumPropertyManager;
0323 class QtLocalePropertyManagerPrivate;
0324 
0325 class QT_QTPROPERTYBROWSER_EXPORT QtLocalePropertyManager : public QtAbstractPropertyManager
0326 {
0327     Q_OBJECT
0328 public:
0329     QtLocalePropertyManager(QObject *parent = 0);
0330     ~QtLocalePropertyManager();
0331 
0332     QtEnumPropertyManager *subEnumPropertyManager() const;
0333 
0334     QLocale value(const QtProperty *property) const;
0335 
0336 public Q_SLOTS:
0337     void setValue(QtProperty *property, const QLocale &val);
0338 Q_SIGNALS:
0339     void valueChanged(QtProperty *property, const QLocale &val);
0340 protected:
0341     QString valueText(const QtProperty *property) const;
0342     virtual void initializeProperty(QtProperty *property);
0343     virtual void uninitializeProperty(QtProperty *property);
0344 private:
0345     QScopedPointer<QtLocalePropertyManagerPrivate> d_ptr;
0346     Q_DECLARE_PRIVATE(QtLocalePropertyManager)
0347     Q_DISABLE_COPY(QtLocalePropertyManager)
0348     Q_PRIVATE_SLOT(d_func(), void slotEnumChanged(QtProperty *, int))
0349     Q_PRIVATE_SLOT(d_func(), void slotPropertyDestroyed(QtProperty *))
0350 };
0351 
0352 class QtPointPropertyManagerPrivate;
0353 
0354 class QT_QTPROPERTYBROWSER_EXPORT QtPointPropertyManager : public QtAbstractPropertyManager
0355 {
0356     Q_OBJECT
0357 public:
0358     QtPointPropertyManager(QObject *parent = 0);
0359     ~QtPointPropertyManager();
0360 
0361     QtIntPropertyManager *subIntPropertyManager() const;
0362 
0363     QPoint value(const QtProperty *property) const;
0364 
0365 public Q_SLOTS:
0366     void setValue(QtProperty *property, const QPoint &val);
0367 Q_SIGNALS:
0368     void valueChanged(QtProperty *property, const QPoint &val);
0369 protected:
0370     QString valueText(const QtProperty *property) const;
0371     virtual void initializeProperty(QtProperty *property);
0372     virtual void uninitializeProperty(QtProperty *property);
0373 private:
0374     QScopedPointer<QtPointPropertyManagerPrivate> d_ptr;
0375     Q_DECLARE_PRIVATE(QtPointPropertyManager)
0376     Q_DISABLE_COPY(QtPointPropertyManager)
0377     Q_PRIVATE_SLOT(d_func(), void slotIntChanged(QtProperty *, int))
0378     Q_PRIVATE_SLOT(d_func(), void slotPropertyDestroyed(QtProperty *))
0379 };
0380 
0381 class QtPointFPropertyManagerPrivate;
0382 
0383 class QT_QTPROPERTYBROWSER_EXPORT QtPointFPropertyManager : public QtAbstractPropertyManager
0384 {
0385     Q_OBJECT
0386 public:
0387     QtPointFPropertyManager(QObject *parent = 0);
0388     ~QtPointFPropertyManager();
0389 
0390     QtDoublePropertyManager *subDoublePropertyManager() const;
0391 
0392     QPointF value(const QtProperty *property) const;
0393     int decimals(const QtProperty *property) const;
0394 
0395 public Q_SLOTS:
0396     void setValue(QtProperty *property, const QPointF &val);
0397     void setDecimals(QtProperty *property, int prec);
0398 Q_SIGNALS:
0399     void valueChanged(QtProperty *property, const QPointF &val);
0400     void decimalsChanged(QtProperty *property, int prec);
0401 protected:
0402     QString valueText(const QtProperty *property) const;
0403     virtual void initializeProperty(QtProperty *property);
0404     virtual void uninitializeProperty(QtProperty *property);
0405 private:
0406     QScopedPointer<QtPointFPropertyManagerPrivate> d_ptr;
0407     Q_DECLARE_PRIVATE(QtPointFPropertyManager)
0408     Q_DISABLE_COPY(QtPointFPropertyManager)
0409     Q_PRIVATE_SLOT(d_func(), void slotDoubleChanged(QtProperty *, double))
0410     Q_PRIVATE_SLOT(d_func(), void slotPropertyDestroyed(QtProperty *))
0411 };
0412 
0413 class QtSizePropertyManagerPrivate;
0414 
0415 class QT_QTPROPERTYBROWSER_EXPORT QtSizePropertyManager : public QtAbstractPropertyManager
0416 {
0417     Q_OBJECT
0418 public:
0419     QtSizePropertyManager(QObject *parent = 0);
0420     ~QtSizePropertyManager();
0421 
0422     QtIntPropertyManager *subIntPropertyManager() const;
0423 
0424     QSize value(const QtProperty *property) const;
0425     QSize minimum(const QtProperty *property) const;
0426     QSize maximum(const QtProperty *property) const;
0427 
0428 public Q_SLOTS:
0429     void setValue(QtProperty *property, const QSize &val);
0430     void setMinimum(QtProperty *property, const QSize &minVal);
0431     void setMaximum(QtProperty *property, const QSize &maxVal);
0432     void setRange(QtProperty *property, const QSize &minVal, const QSize &maxVal);
0433 Q_SIGNALS:
0434     void valueChanged(QtProperty *property, const QSize &val);
0435     void rangeChanged(QtProperty *property, const QSize &minVal, const QSize &maxVal);
0436 protected:
0437     QString valueText(const QtProperty *property) const;
0438     virtual void initializeProperty(QtProperty *property);
0439     virtual void uninitializeProperty(QtProperty *property);
0440 private:
0441     QScopedPointer<QtSizePropertyManagerPrivate> d_ptr;
0442     Q_DECLARE_PRIVATE(QtSizePropertyManager)
0443     Q_DISABLE_COPY(QtSizePropertyManager)
0444     Q_PRIVATE_SLOT(d_func(), void slotIntChanged(QtProperty *, int))
0445     Q_PRIVATE_SLOT(d_func(), void slotPropertyDestroyed(QtProperty *))
0446 };
0447 
0448 class QtSizeFPropertyManagerPrivate;
0449 
0450 class QT_QTPROPERTYBROWSER_EXPORT QtSizeFPropertyManager : public QtAbstractPropertyManager
0451 {
0452     Q_OBJECT
0453 public:
0454     QtSizeFPropertyManager(QObject *parent = 0);
0455     ~QtSizeFPropertyManager();
0456 
0457     QtDoublePropertyManager *subDoublePropertyManager() const;
0458 
0459     QSizeF value(const QtProperty *property) const;
0460     QSizeF minimum(const QtProperty *property) const;
0461     QSizeF maximum(const QtProperty *property) const;
0462     int decimals(const QtProperty *property) const;
0463 
0464 public Q_SLOTS:
0465     void setValue(QtProperty *property, const QSizeF &val);
0466     void setMinimum(QtProperty *property, const QSizeF &minVal);
0467     void setMaximum(QtProperty *property, const QSizeF &maxVal);
0468     void setRange(QtProperty *property, const QSizeF &minVal, const QSizeF &maxVal);
0469     void setDecimals(QtProperty *property, int prec);
0470 Q_SIGNALS:
0471     void valueChanged(QtProperty *property, const QSizeF &val);
0472     void rangeChanged(QtProperty *property, const QSizeF &minVal, const QSizeF &maxVal);
0473     void decimalsChanged(QtProperty *property, int prec);
0474 protected:
0475     QString valueText(const QtProperty *property) const;
0476     virtual void initializeProperty(QtProperty *property);
0477     virtual void uninitializeProperty(QtProperty *property);
0478 private:
0479     QScopedPointer<QtSizeFPropertyManagerPrivate> d_ptr;
0480     Q_DECLARE_PRIVATE(QtSizeFPropertyManager)
0481     Q_DISABLE_COPY(QtSizeFPropertyManager)
0482     Q_PRIVATE_SLOT(d_func(), void slotDoubleChanged(QtProperty *, double))
0483     Q_PRIVATE_SLOT(d_func(), void slotPropertyDestroyed(QtProperty *))
0484 };
0485 
0486 class QtRectPropertyManagerPrivate;
0487 
0488 class QT_QTPROPERTYBROWSER_EXPORT QtRectPropertyManager : public QtAbstractPropertyManager
0489 {
0490     Q_OBJECT
0491 public:
0492     QtRectPropertyManager(QObject *parent = 0);
0493     ~QtRectPropertyManager();
0494 
0495     QtIntPropertyManager *subIntPropertyManager() const;
0496 
0497     QRect value(const QtProperty *property) const;
0498     QRect constraint(const QtProperty *property) const;
0499 
0500 public Q_SLOTS:
0501     void setValue(QtProperty *property, const QRect &val);
0502     void setConstraint(QtProperty *property, const QRect &constraint);
0503 Q_SIGNALS:
0504     void valueChanged(QtProperty *property, const QRect &val);
0505     void constraintChanged(QtProperty *property, const QRect &constraint);
0506 protected:
0507     QString valueText(const QtProperty *property) const;
0508     virtual void initializeProperty(QtProperty *property);
0509     virtual void uninitializeProperty(QtProperty *property);
0510 private:
0511     QScopedPointer<QtRectPropertyManagerPrivate> d_ptr;
0512     Q_DECLARE_PRIVATE(QtRectPropertyManager)
0513     Q_DISABLE_COPY(QtRectPropertyManager)
0514     Q_PRIVATE_SLOT(d_func(), void slotIntChanged(QtProperty *, int))
0515     Q_PRIVATE_SLOT(d_func(), void slotPropertyDestroyed(QtProperty *))
0516 };
0517 
0518 class QtRectFPropertyManagerPrivate;
0519 
0520 class QT_QTPROPERTYBROWSER_EXPORT QtRectFPropertyManager : public QtAbstractPropertyManager
0521 {
0522     Q_OBJECT
0523 public:
0524     QtRectFPropertyManager(QObject *parent = 0);
0525     ~QtRectFPropertyManager();
0526 
0527     QtDoublePropertyManager *subDoublePropertyManager() const;
0528 
0529     QRectF value(const QtProperty *property) const;
0530     QRectF constraint(const QtProperty *property) const;
0531     int decimals(const QtProperty *property) const;
0532 
0533 public Q_SLOTS:
0534     void setValue(QtProperty *property, const QRectF &val);
0535     void setConstraint(QtProperty *property, const QRectF &constraint);
0536     void setDecimals(QtProperty *property, int prec);
0537 Q_SIGNALS:
0538     void valueChanged(QtProperty *property, const QRectF &val);
0539     void constraintChanged(QtProperty *property, const QRectF &constraint);
0540     void decimalsChanged(QtProperty *property, int prec);
0541 protected:
0542     QString valueText(const QtProperty *property) const;
0543     virtual void initializeProperty(QtProperty *property);
0544     virtual void uninitializeProperty(QtProperty *property);
0545 private:
0546     QScopedPointer<QtRectFPropertyManagerPrivate> d_ptr;
0547     Q_DECLARE_PRIVATE(QtRectFPropertyManager)
0548     Q_DISABLE_COPY(QtRectFPropertyManager)
0549     Q_PRIVATE_SLOT(d_func(), void slotDoubleChanged(QtProperty *, double))
0550     Q_PRIVATE_SLOT(d_func(), void slotPropertyDestroyed(QtProperty *))
0551 };
0552 
0553 class QtEnumPropertyManagerPrivate;
0554 
0555 class QT_QTPROPERTYBROWSER_EXPORT QtEnumPropertyManager : public QtAbstractPropertyManager
0556 {
0557     Q_OBJECT
0558 public:
0559     QtEnumPropertyManager(QObject *parent = 0);
0560     ~QtEnumPropertyManager();
0561 
0562     int value(const QtProperty *property) const;
0563     QStringList enumNames(const QtProperty *property) const;
0564     QMap<int, QIcon> enumIcons(const QtProperty *property) const;
0565 
0566 public Q_SLOTS:
0567     void setValue(QtProperty *property, int val);
0568     void setEnumNames(QtProperty *property, const QStringList &names);
0569     void setEnumIcons(QtProperty *property, const QMap<int, QIcon> &icons);
0570 Q_SIGNALS:
0571     void valueChanged(QtProperty *property, int val);
0572     void enumNamesChanged(QtProperty *property, const QStringList &names);
0573     void enumIconsChanged(QtProperty *property, const QMap<int, QIcon> &icons);
0574 protected:
0575     QString valueText(const QtProperty *property) const;
0576     QIcon valueIcon(const QtProperty *property) const;
0577     virtual void initializeProperty(QtProperty *property);
0578     virtual void uninitializeProperty(QtProperty *property);
0579 private:
0580     QScopedPointer<QtEnumPropertyManagerPrivate> d_ptr;
0581     Q_DECLARE_PRIVATE(QtEnumPropertyManager)
0582     Q_DISABLE_COPY(QtEnumPropertyManager)
0583 };
0584 
0585 class QtFlagPropertyManagerPrivate;
0586 
0587 class QT_QTPROPERTYBROWSER_EXPORT QtFlagPropertyManager : public QtAbstractPropertyManager
0588 {
0589     Q_OBJECT
0590 public:
0591     QtFlagPropertyManager(QObject *parent = 0);
0592     ~QtFlagPropertyManager();
0593 
0594     QtBoolPropertyManager *subBoolPropertyManager() const;
0595 
0596     int value(const QtProperty *property) const;
0597     QStringList flagNames(const QtProperty *property) const;
0598 
0599 public Q_SLOTS:
0600     void setValue(QtProperty *property, int val);
0601     void setFlagNames(QtProperty *property, const QStringList &names);
0602 Q_SIGNALS:
0603     void valueChanged(QtProperty *property, int val);
0604     void flagNamesChanged(QtProperty *property, const QStringList &names);
0605 protected:
0606     QString valueText(const QtProperty *property) const;
0607     virtual void initializeProperty(QtProperty *property);
0608     virtual void uninitializeProperty(QtProperty *property);
0609 private:
0610     QScopedPointer<QtFlagPropertyManagerPrivate> d_ptr;
0611     Q_DECLARE_PRIVATE(QtFlagPropertyManager)
0612     Q_DISABLE_COPY(QtFlagPropertyManager)
0613     Q_PRIVATE_SLOT(d_func(), void slotBoolChanged(QtProperty *, bool))
0614     Q_PRIVATE_SLOT(d_func(), void slotPropertyDestroyed(QtProperty *))
0615 };
0616 
0617 class QtSizePolicyPropertyManagerPrivate;
0618 
0619 class QT_QTPROPERTYBROWSER_EXPORT QtSizePolicyPropertyManager : public QtAbstractPropertyManager
0620 {
0621     Q_OBJECT
0622 public:
0623     QtSizePolicyPropertyManager(QObject *parent = 0);
0624     ~QtSizePolicyPropertyManager();
0625 
0626     QtIntPropertyManager *subIntPropertyManager() const;
0627     QtEnumPropertyManager *subEnumPropertyManager() const;
0628 
0629     QSizePolicy value(const QtProperty *property) const;
0630 
0631 public Q_SLOTS:
0632     void setValue(QtProperty *property, const QSizePolicy &val);
0633 Q_SIGNALS:
0634     void valueChanged(QtProperty *property, const QSizePolicy &val);
0635 protected:
0636     QString valueText(const QtProperty *property) const;
0637     virtual void initializeProperty(QtProperty *property);
0638     virtual void uninitializeProperty(QtProperty *property);
0639 private:
0640     QScopedPointer<QtSizePolicyPropertyManagerPrivate> d_ptr;
0641     Q_DECLARE_PRIVATE(QtSizePolicyPropertyManager)
0642     Q_DISABLE_COPY(QtSizePolicyPropertyManager)
0643     Q_PRIVATE_SLOT(d_func(), void slotIntChanged(QtProperty *, int))
0644     Q_PRIVATE_SLOT(d_func(), void slotEnumChanged(QtProperty *, int))
0645     Q_PRIVATE_SLOT(d_func(), void slotPropertyDestroyed(QtProperty *))
0646 };
0647 
0648 class QtFontPropertyManagerPrivate;
0649 
0650 class QT_QTPROPERTYBROWSER_EXPORT QtFontPropertyManager : public QtAbstractPropertyManager
0651 {
0652     Q_OBJECT
0653 public:
0654     QtFontPropertyManager(QObject *parent = 0);
0655     ~QtFontPropertyManager();
0656 
0657     QtIntPropertyManager *subIntPropertyManager() const;
0658     QtEnumPropertyManager *subEnumPropertyManager() const;
0659     QtBoolPropertyManager *subBoolPropertyManager() const;
0660 
0661     QFont value(const QtProperty *property) const;
0662 
0663 public Q_SLOTS:
0664     void setValue(QtProperty *property, const QFont &val);
0665 Q_SIGNALS:
0666     void valueChanged(QtProperty *property, const QFont &val);
0667 protected:
0668     QString valueText(const QtProperty *property) const;
0669     QIcon valueIcon(const QtProperty *property) const;
0670     virtual void initializeProperty(QtProperty *property);
0671     virtual void uninitializeProperty(QtProperty *property);
0672 private:
0673     QScopedPointer<QtFontPropertyManagerPrivate> d_ptr;
0674     Q_DECLARE_PRIVATE(QtFontPropertyManager)
0675     Q_DISABLE_COPY(QtFontPropertyManager)
0676     Q_PRIVATE_SLOT(d_func(), void slotIntChanged(QtProperty *, int))
0677     Q_PRIVATE_SLOT(d_func(), void slotEnumChanged(QtProperty *, int))
0678     Q_PRIVATE_SLOT(d_func(), void slotBoolChanged(QtProperty *, bool))
0679     Q_PRIVATE_SLOT(d_func(), void slotPropertyDestroyed(QtProperty *))
0680     Q_PRIVATE_SLOT(d_func(), void slotFontDatabaseChanged())
0681     Q_PRIVATE_SLOT(d_func(), void slotFontDatabaseDelayedChange())
0682 };
0683 
0684 class QtColorPropertyManagerPrivate;
0685 
0686 class QT_QTPROPERTYBROWSER_EXPORT QtColorPropertyManager : public QtAbstractPropertyManager
0687 {
0688     Q_OBJECT
0689 public:
0690     QtColorPropertyManager(QObject *parent = 0);
0691     ~QtColorPropertyManager();
0692 
0693     QtIntPropertyManager *subIntPropertyManager() const;
0694 
0695     QColor value(const QtProperty *property) const;
0696 
0697 public Q_SLOTS:
0698     void setValue(QtProperty *property, const QColor &val);
0699 Q_SIGNALS:
0700     void valueChanged(QtProperty *property, const QColor &val);
0701 protected:
0702     QString valueText(const QtProperty *property) const;
0703     QIcon valueIcon(const QtProperty *property) const;
0704     virtual void initializeProperty(QtProperty *property);
0705     virtual void uninitializeProperty(QtProperty *property);
0706 private:
0707     QScopedPointer<QtColorPropertyManagerPrivate> d_ptr;
0708     Q_DECLARE_PRIVATE(QtColorPropertyManager)
0709     Q_DISABLE_COPY(QtColorPropertyManager)
0710     Q_PRIVATE_SLOT(d_func(), void slotIntChanged(QtProperty *, int))
0711     Q_PRIVATE_SLOT(d_func(), void slotPropertyDestroyed(QtProperty *))
0712 };
0713 
0714 class QtCursorPropertyManagerPrivate;
0715 
0716 class QT_QTPROPERTYBROWSER_EXPORT QtCursorPropertyManager : public QtAbstractPropertyManager
0717 {
0718     Q_OBJECT
0719 public:
0720     QtCursorPropertyManager(QObject *parent = 0);
0721     ~QtCursorPropertyManager();
0722 
0723 #ifndef QT_NO_CURSOR
0724     QCursor value(const QtProperty *property) const;
0725 #endif
0726 
0727 public Q_SLOTS:
0728     void setValue(QtProperty *property, const QCursor &val);
0729 Q_SIGNALS:
0730     void valueChanged(QtProperty *property, const QCursor &val);
0731 protected:
0732     QString valueText(const QtProperty *property) const;
0733     QIcon valueIcon(const QtProperty *property) const;
0734     virtual void initializeProperty(QtProperty *property);
0735     virtual void uninitializeProperty(QtProperty *property);
0736 private:
0737     QScopedPointer<QtCursorPropertyManagerPrivate> d_ptr;
0738     Q_DECLARE_PRIVATE(QtCursorPropertyManager)
0739     Q_DISABLE_COPY(QtCursorPropertyManager)
0740 };
0741 
0742 QT_END_NAMESPACE
0743 
0744 #endif