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