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

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 QTEDITORFACTORY_H
0041 #define QTEDITORFACTORY_H
0042 
0043 #include "qtpropertymanager.h"
0044 
0045 QT_BEGIN_NAMESPACE
0046 
0047 class QtSpinBoxFactoryPrivate;
0048 
0049 class QT_QTPROPERTYBROWSER_EXPORT QtSpinBoxFactory : public QtAbstractEditorFactory<QtIntPropertyManager>
0050 {
0051     Q_OBJECT
0052 public:
0053     QtSpinBoxFactory(QObject *parent = 0);
0054     ~QtSpinBoxFactory();
0055 protected:
0056     void connectPropertyManager(QtIntPropertyManager *manager);
0057     QWidget *createEditor(QtIntPropertyManager *manager, QtProperty *property,
0058                 QWidget *parent);
0059     void disconnectPropertyManager(QtIntPropertyManager *manager);
0060 private:
0061     QScopedPointer<QtSpinBoxFactoryPrivate> d_ptr;
0062     Q_DECLARE_PRIVATE(QtSpinBoxFactory)
0063     Q_DISABLE_COPY(QtSpinBoxFactory)
0064     Q_PRIVATE_SLOT(d_func(), void slotPropertyChanged(QtProperty *, int))
0065     Q_PRIVATE_SLOT(d_func(), void slotRangeChanged(QtProperty *, int, int))
0066     Q_PRIVATE_SLOT(d_func(), void slotSingleStepChanged(QtProperty *, int))
0067     Q_PRIVATE_SLOT(d_func(), void slotSetValue(int))
0068     Q_PRIVATE_SLOT(d_func(), void slotEditorDestroyed(QObject *))
0069 };
0070 
0071 class QtSliderFactoryPrivate;
0072 
0073 class QtSliderFactory : public QtAbstractEditorFactory<QtIntPropertyManager>
0074 {
0075     Q_OBJECT
0076 public:
0077     QtSliderFactory(QObject *parent = 0);
0078     ~QtSliderFactory();
0079 protected:
0080     void connectPropertyManager(QtIntPropertyManager *manager);
0081     QWidget *createEditor(QtIntPropertyManager *manager, QtProperty *property,
0082                 QWidget *parent);
0083     void disconnectPropertyManager(QtIntPropertyManager *manager);
0084 private:
0085     QScopedPointer<QtSliderFactoryPrivate> d_ptr;
0086     Q_DECLARE_PRIVATE(QtSliderFactory)
0087     Q_DISABLE_COPY(QtSliderFactory)
0088     Q_PRIVATE_SLOT(d_func(), void slotPropertyChanged(QtProperty *, int))
0089     Q_PRIVATE_SLOT(d_func(), void slotRangeChanged(QtProperty *, int, int))
0090     Q_PRIVATE_SLOT(d_func(), void slotSingleStepChanged(QtProperty *, int))
0091     Q_PRIVATE_SLOT(d_func(), void slotSetValue(int))
0092     Q_PRIVATE_SLOT(d_func(), void slotEditorDestroyed(QObject *))
0093 };
0094 
0095 class QtScrollBarFactoryPrivate;
0096 
0097 class QtScrollBarFactory : public QtAbstractEditorFactory<QtIntPropertyManager>
0098 {
0099     Q_OBJECT
0100 public:
0101     QtScrollBarFactory(QObject *parent = 0);
0102     ~QtScrollBarFactory();
0103 protected:
0104     void connectPropertyManager(QtIntPropertyManager *manager);
0105     QWidget *createEditor(QtIntPropertyManager *manager, QtProperty *property,
0106                 QWidget *parent);
0107     void disconnectPropertyManager(QtIntPropertyManager *manager);
0108 private:
0109     QScopedPointer<QtScrollBarFactoryPrivate> d_ptr;
0110     Q_DECLARE_PRIVATE(QtScrollBarFactory)
0111     Q_DISABLE_COPY(QtScrollBarFactory)
0112     Q_PRIVATE_SLOT(d_func(), void slotPropertyChanged(QtProperty *, int))
0113     Q_PRIVATE_SLOT(d_func(), void slotRangeChanged(QtProperty *, int, int))
0114     Q_PRIVATE_SLOT(d_func(), void slotSingleStepChanged(QtProperty *, int))
0115     Q_PRIVATE_SLOT(d_func(), void slotSetValue(int))
0116     Q_PRIVATE_SLOT(d_func(), void slotEditorDestroyed(QObject *))
0117 };
0118 
0119 class QtCheckBoxFactoryPrivate;
0120 
0121 class QtCheckBoxFactory : public QtAbstractEditorFactory<QtBoolPropertyManager>
0122 {
0123     Q_OBJECT
0124 public:
0125     QtCheckBoxFactory(QObject *parent = 0);
0126     ~QtCheckBoxFactory();
0127 protected:
0128     void connectPropertyManager(QtBoolPropertyManager *manager);
0129     QWidget *createEditor(QtBoolPropertyManager *manager, QtProperty *property,
0130                 QWidget *parent);
0131     void disconnectPropertyManager(QtBoolPropertyManager *manager);
0132 private:
0133     QScopedPointer<QtCheckBoxFactoryPrivate> d_ptr;
0134     Q_DECLARE_PRIVATE(QtCheckBoxFactory)
0135     Q_DISABLE_COPY(QtCheckBoxFactory)
0136     Q_PRIVATE_SLOT(d_func(), void slotPropertyChanged(QtProperty *, bool))
0137     Q_PRIVATE_SLOT(d_func(), void slotSetValue(bool))
0138     Q_PRIVATE_SLOT(d_func(), void slotEditorDestroyed(QObject *))
0139 };
0140 
0141 class QtDoubleSpinBoxFactoryPrivate;
0142 
0143 class QtDoubleSpinBoxFactory : public QtAbstractEditorFactory<QtDoublePropertyManager>
0144 {
0145     Q_OBJECT
0146 public:
0147     QtDoubleSpinBoxFactory(QObject *parent = 0);
0148     ~QtDoubleSpinBoxFactory();
0149 protected:
0150     void connectPropertyManager(QtDoublePropertyManager *manager);
0151     QWidget *createEditor(QtDoublePropertyManager *manager, QtProperty *property,
0152                 QWidget *parent);
0153     void disconnectPropertyManager(QtDoublePropertyManager *manager);
0154 private:
0155     QScopedPointer<QtDoubleSpinBoxFactoryPrivate> d_ptr;
0156     Q_DECLARE_PRIVATE(QtDoubleSpinBoxFactory)
0157     Q_DISABLE_COPY(QtDoubleSpinBoxFactory)
0158     Q_PRIVATE_SLOT(d_func(), void slotPropertyChanged(QtProperty *, double))
0159     Q_PRIVATE_SLOT(d_func(), void slotRangeChanged(QtProperty *, double, double))
0160     Q_PRIVATE_SLOT(d_func(), void slotSingleStepChanged(QtProperty *, double))
0161     Q_PRIVATE_SLOT(d_func(), void slotDecimalsChanged(QtProperty *, int))
0162     Q_PRIVATE_SLOT(d_func(), void slotSetValue(double))
0163     Q_PRIVATE_SLOT(d_func(), void slotEditorDestroyed(QObject *))
0164 };
0165 
0166 class QtLineEditFactoryPrivate;
0167 
0168 class QtLineEditFactory : public QtAbstractEditorFactory<QtStringPropertyManager>
0169 {
0170     Q_OBJECT
0171 public:
0172     QtLineEditFactory(QObject *parent = 0);
0173     ~QtLineEditFactory();
0174 protected:
0175     void connectPropertyManager(QtStringPropertyManager *manager);
0176     QWidget *createEditor(QtStringPropertyManager *manager, QtProperty *property,
0177                 QWidget *parent);
0178     void disconnectPropertyManager(QtStringPropertyManager *manager);
0179 private:
0180     QScopedPointer<QtLineEditFactoryPrivate> d_ptr;
0181     Q_DECLARE_PRIVATE(QtLineEditFactory)
0182     Q_DISABLE_COPY(QtLineEditFactory)
0183     Q_PRIVATE_SLOT(d_func(), void slotPropertyChanged(QtProperty *, const QString &))
0184     Q_PRIVATE_SLOT(d_func(), void slotRegExpChanged(QtProperty *, const QRegExp &))
0185     Q_PRIVATE_SLOT(d_func(), void slotSetValue(const QString &))
0186     Q_PRIVATE_SLOT(d_func(), void slotEditorDestroyed(QObject *))
0187 };
0188 
0189 class QtDateEditFactoryPrivate;
0190 
0191 class QtDateEditFactory : public QtAbstractEditorFactory<QtDatePropertyManager>
0192 {
0193     Q_OBJECT
0194 public:
0195     QtDateEditFactory(QObject *parent = 0);
0196     ~QtDateEditFactory();
0197 protected:
0198     void connectPropertyManager(QtDatePropertyManager *manager);
0199     QWidget *createEditor(QtDatePropertyManager *manager, QtProperty *property,
0200                 QWidget *parent);
0201     void disconnectPropertyManager(QtDatePropertyManager *manager);
0202 private:
0203     QScopedPointer<QtDateEditFactoryPrivate> d_ptr;
0204     Q_DECLARE_PRIVATE(QtDateEditFactory)
0205     Q_DISABLE_COPY(QtDateEditFactory)
0206     Q_PRIVATE_SLOT(d_func(), void slotPropertyChanged(QtProperty *, const QDate &))
0207     Q_PRIVATE_SLOT(d_func(), void slotRangeChanged(QtProperty *,
0208                         const QDate &, const QDate &))
0209     Q_PRIVATE_SLOT(d_func(), void slotSetValue(const QDate &))
0210     Q_PRIVATE_SLOT(d_func(), void slotEditorDestroyed(QObject *))
0211 };
0212 
0213 class QtTimeEditFactoryPrivate;
0214 
0215 class QtTimeEditFactory : public QtAbstractEditorFactory<QtTimePropertyManager>
0216 {
0217     Q_OBJECT
0218 public:
0219     QtTimeEditFactory(QObject *parent = 0);
0220     ~QtTimeEditFactory();
0221 protected:
0222     void connectPropertyManager(QtTimePropertyManager *manager);
0223     QWidget *createEditor(QtTimePropertyManager *manager, QtProperty *property,
0224                 QWidget *parent);
0225     void disconnectPropertyManager(QtTimePropertyManager *manager);
0226 private:
0227     QScopedPointer<QtTimeEditFactoryPrivate> d_ptr;
0228     Q_DECLARE_PRIVATE(QtTimeEditFactory)
0229     Q_DISABLE_COPY(QtTimeEditFactory)
0230     Q_PRIVATE_SLOT(d_func(), void slotPropertyChanged(QtProperty *, const QTime &))
0231     Q_PRIVATE_SLOT(d_func(), void slotSetValue(const QTime &))
0232     Q_PRIVATE_SLOT(d_func(), void slotEditorDestroyed(QObject *))
0233 };
0234 
0235 class QtDateTimeEditFactoryPrivate;
0236 
0237 class QtDateTimeEditFactory : public QtAbstractEditorFactory<QtDateTimePropertyManager>
0238 {
0239     Q_OBJECT
0240 public:
0241     QtDateTimeEditFactory(QObject *parent = 0);
0242     ~QtDateTimeEditFactory();
0243 protected:
0244     void connectPropertyManager(QtDateTimePropertyManager *manager);
0245     QWidget *createEditor(QtDateTimePropertyManager *manager, QtProperty *property,
0246                 QWidget *parent);
0247     void disconnectPropertyManager(QtDateTimePropertyManager *manager);
0248 private:
0249     QScopedPointer<QtDateTimeEditFactoryPrivate> d_ptr;
0250     Q_DECLARE_PRIVATE(QtDateTimeEditFactory)
0251     Q_DISABLE_COPY(QtDateTimeEditFactory)
0252     Q_PRIVATE_SLOT(d_func(), void slotPropertyChanged(QtProperty *, const QDateTime &))
0253     Q_PRIVATE_SLOT(d_func(), void slotSetValue(const QDateTime &))
0254     Q_PRIVATE_SLOT(d_func(), void slotEditorDestroyed(QObject *))
0255 };
0256 
0257 class QtKeySequenceEditorFactoryPrivate;
0258 
0259 class QtKeySequenceEditorFactory : public QtAbstractEditorFactory<QtKeySequencePropertyManager>
0260 {
0261     Q_OBJECT
0262 public:
0263     QtKeySequenceEditorFactory(QObject *parent = 0);
0264     ~QtKeySequenceEditorFactory();
0265 protected:
0266     void connectPropertyManager(QtKeySequencePropertyManager *manager);
0267     QWidget *createEditor(QtKeySequencePropertyManager *manager, QtProperty *property,
0268                 QWidget *parent);
0269     void disconnectPropertyManager(QtKeySequencePropertyManager *manager);
0270 private:
0271     QScopedPointer<QtKeySequenceEditorFactoryPrivate> d_ptr;
0272     Q_DECLARE_PRIVATE(QtKeySequenceEditorFactory)
0273     Q_DISABLE_COPY(QtKeySequenceEditorFactory)
0274     Q_PRIVATE_SLOT(d_func(), void slotPropertyChanged(QtProperty *, const QKeySequence &))
0275     Q_PRIVATE_SLOT(d_func(), void slotSetValue(const QKeySequence &))
0276     Q_PRIVATE_SLOT(d_func(), void slotEditorDestroyed(QObject *))
0277 };
0278 
0279 class QtCharEditorFactoryPrivate;
0280 
0281 class QtCharEditorFactory : public QtAbstractEditorFactory<QtCharPropertyManager>
0282 {
0283     Q_OBJECT
0284 public:
0285     QtCharEditorFactory(QObject *parent = 0);
0286     ~QtCharEditorFactory();
0287 protected:
0288     void connectPropertyManager(QtCharPropertyManager *manager);
0289     QWidget *createEditor(QtCharPropertyManager *manager, QtProperty *property,
0290                 QWidget *parent);
0291     void disconnectPropertyManager(QtCharPropertyManager *manager);
0292 private:
0293     QScopedPointer<QtCharEditorFactoryPrivate> d_ptr;
0294     Q_DECLARE_PRIVATE(QtCharEditorFactory)
0295     Q_DISABLE_COPY(QtCharEditorFactory)
0296     Q_PRIVATE_SLOT(d_func(), void slotPropertyChanged(QtProperty *, const QChar &))
0297     Q_PRIVATE_SLOT(d_func(), void slotSetValue(const QChar &))
0298     Q_PRIVATE_SLOT(d_func(), void slotEditorDestroyed(QObject *))
0299 };
0300 
0301 class QtEnumEditorFactoryPrivate;
0302 
0303 class QtEnumEditorFactory : public QtAbstractEditorFactory<QtEnumPropertyManager>
0304 {
0305     Q_OBJECT
0306 public:
0307     QtEnumEditorFactory(QObject *parent = 0);
0308     ~QtEnumEditorFactory();
0309 protected:
0310     void connectPropertyManager(QtEnumPropertyManager *manager);
0311     QWidget *createEditor(QtEnumPropertyManager *manager, QtProperty *property,
0312                 QWidget *parent);
0313     void disconnectPropertyManager(QtEnumPropertyManager *manager);
0314 private:
0315     QScopedPointer<QtEnumEditorFactoryPrivate> d_ptr;
0316     Q_DECLARE_PRIVATE(QtEnumEditorFactory)
0317     Q_DISABLE_COPY(QtEnumEditorFactory)
0318     Q_PRIVATE_SLOT(d_func(), void slotPropertyChanged(QtProperty *, int))
0319     Q_PRIVATE_SLOT(d_func(), void slotEnumNamesChanged(QtProperty *,
0320                         const QStringList &))
0321     Q_PRIVATE_SLOT(d_func(), void slotEnumIconsChanged(QtProperty *,
0322                         const QMap<int, QIcon> &))
0323     Q_PRIVATE_SLOT(d_func(), void slotSetValue(int))
0324     Q_PRIVATE_SLOT(d_func(), void slotEditorDestroyed(QObject *))
0325 };
0326 
0327 class QtCursorEditorFactoryPrivate;
0328 
0329 class QtCursorEditorFactory : public QtAbstractEditorFactory<QtCursorPropertyManager>
0330 {
0331     Q_OBJECT
0332 public:
0333     QtCursorEditorFactory(QObject *parent = 0);
0334     ~QtCursorEditorFactory();
0335 protected:
0336     void connectPropertyManager(QtCursorPropertyManager *manager);
0337     QWidget *createEditor(QtCursorPropertyManager *manager, QtProperty *property,
0338                 QWidget *parent);
0339     void disconnectPropertyManager(QtCursorPropertyManager *manager);
0340 private:
0341     QScopedPointer<QtCursorEditorFactoryPrivate> d_ptr;
0342     Q_DECLARE_PRIVATE(QtCursorEditorFactory)
0343     Q_DISABLE_COPY(QtCursorEditorFactory)
0344     Q_PRIVATE_SLOT(d_func(), void slotPropertyChanged(QtProperty *, const QCursor &))
0345     Q_PRIVATE_SLOT(d_func(), void slotEnumChanged(QtProperty *, int))
0346     Q_PRIVATE_SLOT(d_func(), void slotEditorDestroyed(QObject *))
0347 };
0348 
0349 class QtColorEditorFactoryPrivate;
0350 
0351 class QtColorEditorFactory : public QtAbstractEditorFactory<QtColorPropertyManager>
0352 {
0353     Q_OBJECT
0354 public:
0355     QtColorEditorFactory(QObject *parent = 0);
0356     ~QtColorEditorFactory();
0357 protected:
0358     void connectPropertyManager(QtColorPropertyManager *manager);
0359     QWidget *createEditor(QtColorPropertyManager *manager, QtProperty *property,
0360                 QWidget *parent);
0361     void disconnectPropertyManager(QtColorPropertyManager *manager);
0362 private:
0363     QScopedPointer<QtColorEditorFactoryPrivate> d_ptr;
0364     Q_DECLARE_PRIVATE(QtColorEditorFactory)
0365     Q_DISABLE_COPY(QtColorEditorFactory)
0366     Q_PRIVATE_SLOT(d_func(), void slotPropertyChanged(QtProperty *, const QColor &))
0367     Q_PRIVATE_SLOT(d_func(), void slotEditorDestroyed(QObject *))
0368     Q_PRIVATE_SLOT(d_func(), void slotSetValue(const QColor &))
0369 };
0370 
0371 class QtFontEditorFactoryPrivate;
0372 
0373 class QtFontEditorFactory : public QtAbstractEditorFactory<QtFontPropertyManager>
0374 {
0375     Q_OBJECT
0376 public:
0377     QtFontEditorFactory(QObject *parent = 0);
0378     ~QtFontEditorFactory();
0379 protected:
0380     void connectPropertyManager(QtFontPropertyManager *manager);
0381     QWidget *createEditor(QtFontPropertyManager *manager, QtProperty *property,
0382                 QWidget *parent);
0383     void disconnectPropertyManager(QtFontPropertyManager *manager);
0384 private:
0385     QScopedPointer<QtFontEditorFactoryPrivate> d_ptr;
0386     Q_DECLARE_PRIVATE(QtFontEditorFactory)
0387     Q_DISABLE_COPY(QtFontEditorFactory)
0388     Q_PRIVATE_SLOT(d_func(), void slotPropertyChanged(QtProperty *, const QFont &))
0389     Q_PRIVATE_SLOT(d_func(), void slotEditorDestroyed(QObject *))
0390     Q_PRIVATE_SLOT(d_func(), void slotSetValue(const QFont &))
0391 };
0392 
0393 QT_END_NAMESPACE
0394 
0395 #endif