1 /**************************************************************************** 2 ** 3 ** Copyright (C) 2016 The Qt Company Ltd. 4 ** Contact: https://www.qt.io/licensing/ 5 ** 6 ** This file is part of the tools applications of the Qt Toolkit. 7 ** 8 ** $QT_BEGIN_LICENSE:LGPL$ 9 ** Commercial License Usage 10 ** Licensees holding valid commercial Qt licenses may use this file in 11 ** accordance with the commercial license agreement provided with the 12 ** Software or, alternatively, in accordance with the terms contained in 13 ** a written agreement between you and The Qt Company. For licensing terms 14 ** and conditions see https://www.qt.io/terms-conditions. For further 15 ** information use the contact form at https://www.qt.io/contact-us. 16 ** 17 ** GNU Lesser General Public License Usage 18 ** Alternatively, this file may be used under the terms of the GNU Lesser 19 ** General Public License version 3 as published by the Free Software 20 ** Foundation and appearing in the file LICENSE.LGPL3 included in the 21 ** packaging of this file. Please review the following information to 22 ** ensure the GNU Lesser General Public License version 3 requirements 23 ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. 24 ** 25 ** GNU General Public License Usage 26 ** Alternatively, this file may be used under the terms of the GNU 27 ** General Public License version 2.0 or (at your option) the GNU General 28 ** Public license version 3 or any later version approved by the KDE Free 29 ** Qt Foundation. The licenses are as published by the Free Software 30 ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 31 ** included in the packaging of this file. Please review the following 32 ** information to ensure the GNU General Public License requirements will 33 ** be met: https://www.gnu.org/licenses/gpl-2.0.html and 34 ** https://www.gnu.org/licenses/gpl-3.0.html. 35 ** 36 ** $QT_END_LICENSE$ 37 ** 38 ****************************************************************************/ 39 40 #ifndef QTPROPERTYMANAGER_H 41 #define QTPROPERTYMANAGER_H 42 43 #include "qtpropertybrowser.h" 44 45 QT_BEGIN_NAMESPACE 46 47 class QDate; 48 class QTime; 49 class QDateTime; 50 class QLocale; 51 52 class QtGroupPropertyManager : public QtAbstractPropertyManager 53 { 54 Q_OBJECT 55 public: 56 QtGroupPropertyManager(QObject *parent = 0); 57 ~QtGroupPropertyManager(); 58 59 protected: 60 virtual bool hasValue(const QtProperty *property) const; 61 62 virtual void initializeProperty(QtProperty *property); 63 virtual void uninitializeProperty(QtProperty *property); 64 }; 65 66 class QtIntPropertyManagerPrivate; 67 68 class QtIntPropertyManager : public QtAbstractPropertyManager 69 { 70 Q_OBJECT 71 public: 72 QtIntPropertyManager(QObject *parent = 0); 73 ~QtIntPropertyManager(); 74 75 int value(const QtProperty *property) const; 76 int minimum(const QtProperty *property) const; 77 int maximum(const QtProperty *property) const; 78 int singleStep(const QtProperty *property) const; 79 80 public Q_SLOTS: 81 void setValue(QtProperty *property, int val); 82 void setMinimum(QtProperty *property, int minVal); 83 void setMaximum(QtProperty *property, int maxVal); 84 void setRange(QtProperty *property, int minVal, int maxVal); 85 void setSingleStep(QtProperty *property, int step); 86 Q_SIGNALS: 87 void valueChanged(QtProperty *property, int val); 88 void rangeChanged(QtProperty *property, int minVal, int maxVal); 89 void singleStepChanged(QtProperty *property, int step); 90 protected: 91 QString valueText(const QtProperty *property) const; 92 virtual void initializeProperty(QtProperty *property); 93 virtual void uninitializeProperty(QtProperty *property); 94 private: 95 QScopedPointer<QtIntPropertyManagerPrivate> d_ptr; 96 Q_DECLARE_PRIVATE(QtIntPropertyManager) 97 Q_DISABLE_COPY_MOVE(QtIntPropertyManager) 98 }; 99 100 class QtBoolPropertyManagerPrivate; 101 102 class QtBoolPropertyManager : public QtAbstractPropertyManager 103 { 104 Q_OBJECT 105 public: 106 QtBoolPropertyManager(QObject *parent = 0); 107 ~QtBoolPropertyManager(); 108 109 bool value(const QtProperty *property) const; 110 111 public Q_SLOTS: 112 void setValue(QtProperty *property, bool val); 113 Q_SIGNALS: 114 void valueChanged(QtProperty *property, bool val); 115 protected: 116 QString valueText(const QtProperty *property) const; 117 QIcon valueIcon(const QtProperty *property) const; 118 virtual void initializeProperty(QtProperty *property); 119 virtual void uninitializeProperty(QtProperty *property); 120 private: 121 QScopedPointer<QtBoolPropertyManagerPrivate> d_ptr; 122 Q_DECLARE_PRIVATE(QtBoolPropertyManager) 123 Q_DISABLE_COPY_MOVE(QtBoolPropertyManager) 124 }; 125 126 class QtDoublePropertyManagerPrivate; 127 128 class QtDoublePropertyManager : public QtAbstractPropertyManager 129 { 130 Q_OBJECT 131 public: 132 QtDoublePropertyManager(QObject *parent = 0); 133 ~QtDoublePropertyManager(); 134 135 double value(const QtProperty *property) const; 136 double minimum(const QtProperty *property) const; 137 double maximum(const QtProperty *property) const; 138 double singleStep(const QtProperty *property) const; 139 int decimals(const QtProperty *property) const; 140 141 public Q_SLOTS: 142 void setValue(QtProperty *property, double val); 143 void setMinimum(QtProperty *property, double minVal); 144 void setMaximum(QtProperty *property, double maxVal); 145 void setRange(QtProperty *property, double minVal, double maxVal); 146 void setSingleStep(QtProperty *property, double step); 147 void setDecimals(QtProperty *property, int prec); 148 Q_SIGNALS: 149 void valueChanged(QtProperty *property, double val); 150 void rangeChanged(QtProperty *property, double minVal, double maxVal); 151 void singleStepChanged(QtProperty *property, double step); 152 void decimalsChanged(QtProperty *property, int prec); 153 protected: 154 QString valueText(const QtProperty *property) const; 155 virtual void initializeProperty(QtProperty *property); 156 virtual void uninitializeProperty(QtProperty *property); 157 private: 158 QScopedPointer<QtDoublePropertyManagerPrivate> d_ptr; 159 Q_DECLARE_PRIVATE(QtDoublePropertyManager) 160 Q_DISABLE_COPY_MOVE(QtDoublePropertyManager) 161 }; 162 163 class QtStringPropertyManagerPrivate; 164 165 class QtStringPropertyManager : public QtAbstractPropertyManager 166 { 167 Q_OBJECT 168 public: 169 QtStringPropertyManager(QObject *parent = 0); 170 ~QtStringPropertyManager(); 171 172 QString value(const QtProperty *property) const; 173 QRegExp regExp(const QtProperty *property) const; 174 175 public Q_SLOTS: 176 void setValue(QtProperty *property, const QString &val); 177 void setRegExp(QtProperty *property, const QRegExp ®Exp); 178 Q_SIGNALS: 179 void valueChanged(QtProperty *property, const QString &val); 180 void regExpChanged(QtProperty *property, const QRegExp ®Exp); 181 protected: 182 QString valueText(const QtProperty *property) const; 183 virtual void initializeProperty(QtProperty *property); 184 virtual void uninitializeProperty(QtProperty *property); 185 private: 186 QScopedPointer<QtStringPropertyManagerPrivate> d_ptr; 187 Q_DECLARE_PRIVATE(QtStringPropertyManager) 188 Q_DISABLE_COPY_MOVE(QtStringPropertyManager) 189 }; 190 191 class QtDatePropertyManagerPrivate; 192 193 class QtDatePropertyManager : public QtAbstractPropertyManager 194 { 195 Q_OBJECT 196 public: 197 QtDatePropertyManager(QObject *parent = 0); 198 ~QtDatePropertyManager(); 199 200 QDate value(const QtProperty *property) const; 201 QDate minimum(const QtProperty *property) const; 202 QDate maximum(const QtProperty *property) const; 203 204 public Q_SLOTS: 205 void setValue(QtProperty *property, const QDate &val); 206 void setMinimum(QtProperty *property, const QDate &minVal); 207 void setMaximum(QtProperty *property, const QDate &maxVal); 208 void setRange(QtProperty *property, const QDate &minVal, const QDate &maxVal); 209 Q_SIGNALS: 210 void valueChanged(QtProperty *property, const QDate &val); 211 void rangeChanged(QtProperty *property, const QDate &minVal, const QDate &maxVal); 212 protected: 213 QString valueText(const QtProperty *property) const; 214 virtual void initializeProperty(QtProperty *property); 215 virtual void uninitializeProperty(QtProperty *property); 216 private: 217 QScopedPointer<QtDatePropertyManagerPrivate> d_ptr; 218 Q_DECLARE_PRIVATE(QtDatePropertyManager) 219 Q_DISABLE_COPY_MOVE(QtDatePropertyManager) 220 }; 221 222 class QtTimePropertyManagerPrivate; 223 224 class QtTimePropertyManager : public QtAbstractPropertyManager 225 { 226 Q_OBJECT 227 public: 228 QtTimePropertyManager(QObject *parent = 0); 229 ~QtTimePropertyManager(); 230 231 QTime value(const QtProperty *property) const; 232 233 public Q_SLOTS: 234 void setValue(QtProperty *property, const QTime &val); 235 Q_SIGNALS: 236 void valueChanged(QtProperty *property, const QTime &val); 237 protected: 238 QString valueText(const QtProperty *property) const; 239 virtual void initializeProperty(QtProperty *property); 240 virtual void uninitializeProperty(QtProperty *property); 241 private: 242 QScopedPointer<QtTimePropertyManagerPrivate> d_ptr; 243 Q_DECLARE_PRIVATE(QtTimePropertyManager) 244 Q_DISABLE_COPY_MOVE(QtTimePropertyManager) 245 }; 246 247 class QtDateTimePropertyManagerPrivate; 248 249 class QtDateTimePropertyManager : public QtAbstractPropertyManager 250 { 251 Q_OBJECT 252 public: 253 QtDateTimePropertyManager(QObject *parent = 0); 254 ~QtDateTimePropertyManager(); 255 256 QDateTime value(const QtProperty *property) const; 257 258 public Q_SLOTS: 259 void setValue(QtProperty *property, const QDateTime &val); 260 Q_SIGNALS: 261 void valueChanged(QtProperty *property, const QDateTime &val); 262 protected: 263 QString valueText(const QtProperty *property) const; 264 virtual void initializeProperty(QtProperty *property); 265 virtual void uninitializeProperty(QtProperty *property); 266 private: 267 QScopedPointer<QtDateTimePropertyManagerPrivate> d_ptr; 268 Q_DECLARE_PRIVATE(QtDateTimePropertyManager) 269 Q_DISABLE_COPY_MOVE(QtDateTimePropertyManager) 270 }; 271 272 class QtKeySequencePropertyManagerPrivate; 273 274 class QtKeySequencePropertyManager : public QtAbstractPropertyManager 275 { 276 Q_OBJECT 277 public: 278 QtKeySequencePropertyManager(QObject *parent = 0); 279 ~QtKeySequencePropertyManager(); 280 281 QKeySequence value(const QtProperty *property) const; 282 283 public Q_SLOTS: 284 void setValue(QtProperty *property, const QKeySequence &val); 285 Q_SIGNALS: 286 void valueChanged(QtProperty *property, const QKeySequence &val); 287 protected: 288 QString valueText(const QtProperty *property) const; 289 virtual void initializeProperty(QtProperty *property); 290 virtual void uninitializeProperty(QtProperty *property); 291 private: 292 QScopedPointer<QtKeySequencePropertyManagerPrivate> d_ptr; 293 Q_DECLARE_PRIVATE(QtKeySequencePropertyManager) 294 Q_DISABLE_COPY_MOVE(QtKeySequencePropertyManager) 295 }; 296 297 class QtCharPropertyManagerPrivate; 298 299 class QtCharPropertyManager : public QtAbstractPropertyManager 300 { 301 Q_OBJECT 302 public: 303 QtCharPropertyManager(QObject *parent = 0); 304 ~QtCharPropertyManager(); 305 306 QChar value(const QtProperty *property) const; 307 308 public Q_SLOTS: 309 void setValue(QtProperty *property, const QChar &val); 310 Q_SIGNALS: 311 void valueChanged(QtProperty *property, const QChar &val); 312 protected: 313 QString valueText(const QtProperty *property) const; 314 virtual void initializeProperty(QtProperty *property); 315 virtual void uninitializeProperty(QtProperty *property); 316 private: 317 QScopedPointer<QtCharPropertyManagerPrivate> d_ptr; 318 Q_DECLARE_PRIVATE(QtCharPropertyManager) 319 Q_DISABLE_COPY_MOVE(QtCharPropertyManager) 320 }; 321 322 class QtEnumPropertyManager; 323 class QtLocalePropertyManagerPrivate; 324 325 class QtLocalePropertyManager : public QtAbstractPropertyManager 326 { 327 Q_OBJECT 328 public: 329 QtLocalePropertyManager(QObject *parent = 0); 330 ~QtLocalePropertyManager(); 331 332 QtEnumPropertyManager *subEnumPropertyManager() const; 333 334 QLocale value(const QtProperty *property) const; 335 336 public Q_SLOTS: 337 void setValue(QtProperty *property, const QLocale &val); 338 Q_SIGNALS: 339 void valueChanged(QtProperty *property, const QLocale &val); 340 protected: 341 QString valueText(const QtProperty *property) const; 342 virtual void initializeProperty(QtProperty *property); 343 virtual void uninitializeProperty(QtProperty *property); 344 private: 345 QScopedPointer<QtLocalePropertyManagerPrivate> d_ptr; 346 Q_DECLARE_PRIVATE(QtLocalePropertyManager) 347 Q_DISABLE_COPY_MOVE(QtLocalePropertyManager) 348 Q_PRIVATE_SLOT(d_func(), void slotEnumChanged(QtProperty *, int)) 349 Q_PRIVATE_SLOT(d_func(), void slotPropertyDestroyed(QtProperty *)) 350 }; 351 352 class QtPointPropertyManagerPrivate; 353 354 class QtPointPropertyManager : public QtAbstractPropertyManager 355 { 356 Q_OBJECT 357 public: 358 QtPointPropertyManager(QObject *parent = 0); 359 ~QtPointPropertyManager(); 360 361 QtIntPropertyManager *subIntPropertyManager() const; 362 363 QPoint value(const QtProperty *property) const; 364 365 public Q_SLOTS: 366 void setValue(QtProperty *property, const QPoint &val); 367 Q_SIGNALS: 368 void valueChanged(QtProperty *property, const QPoint &val); 369 protected: 370 QString valueText(const QtProperty *property) const; 371 virtual void initializeProperty(QtProperty *property); 372 virtual void uninitializeProperty(QtProperty *property); 373 private: 374 QScopedPointer<QtPointPropertyManagerPrivate> d_ptr; 375 Q_DECLARE_PRIVATE(QtPointPropertyManager) 376 Q_DISABLE_COPY_MOVE(QtPointPropertyManager) 377 Q_PRIVATE_SLOT(d_func(), void slotIntChanged(QtProperty *, int)) 378 Q_PRIVATE_SLOT(d_func(), void slotPropertyDestroyed(QtProperty *)) 379 }; 380 381 class QtPointFPropertyManagerPrivate; 382 383 class QtPointFPropertyManager : public QtAbstractPropertyManager 384 { 385 Q_OBJECT 386 public: 387 QtPointFPropertyManager(QObject *parent = 0); 388 ~QtPointFPropertyManager(); 389 390 QtDoublePropertyManager *subDoublePropertyManager() const; 391 392 QPointF value(const QtProperty *property) const; 393 int decimals(const QtProperty *property) const; 394 395 public Q_SLOTS: 396 void setValue(QtProperty *property, const QPointF &val); 397 void setDecimals(QtProperty *property, int prec); 398 Q_SIGNALS: 399 void valueChanged(QtProperty *property, const QPointF &val); 400 void decimalsChanged(QtProperty *property, int prec); 401 protected: 402 QString valueText(const QtProperty *property) const; 403 virtual void initializeProperty(QtProperty *property); 404 virtual void uninitializeProperty(QtProperty *property); 405 private: 406 QScopedPointer<QtPointFPropertyManagerPrivate> d_ptr; 407 Q_DECLARE_PRIVATE(QtPointFPropertyManager) 408 Q_DISABLE_COPY_MOVE(QtPointFPropertyManager) 409 Q_PRIVATE_SLOT(d_func(), void slotDoubleChanged(QtProperty *, double)) 410 Q_PRIVATE_SLOT(d_func(), void slotPropertyDestroyed(QtProperty *)) 411 }; 412 413 class QtSizePropertyManagerPrivate; 414 415 class QtSizePropertyManager : public QtAbstractPropertyManager 416 { 417 Q_OBJECT 418 public: 419 QtSizePropertyManager(QObject *parent = 0); 420 ~QtSizePropertyManager(); 421 422 QtIntPropertyManager *subIntPropertyManager() const; 423 424 QSize value(const QtProperty *property) const; 425 QSize minimum(const QtProperty *property) const; 426 QSize maximum(const QtProperty *property) const; 427 428 public Q_SLOTS: 429 void setValue(QtProperty *property, const QSize &val); 430 void setMinimum(QtProperty *property, const QSize &minVal); 431 void setMaximum(QtProperty *property, const QSize &maxVal); 432 void setRange(QtProperty *property, const QSize &minVal, const QSize &maxVal); 433 Q_SIGNALS: 434 void valueChanged(QtProperty *property, const QSize &val); 435 void rangeChanged(QtProperty *property, const QSize &minVal, const QSize &maxVal); 436 protected: 437 QString valueText(const QtProperty *property) const; 438 virtual void initializeProperty(QtProperty *property); 439 virtual void uninitializeProperty(QtProperty *property); 440 private: 441 QScopedPointer<QtSizePropertyManagerPrivate> d_ptr; 442 Q_DECLARE_PRIVATE(QtSizePropertyManager) 443 Q_DISABLE_COPY_MOVE(QtSizePropertyManager) 444 Q_PRIVATE_SLOT(d_func(), void slotIntChanged(QtProperty *, int)) 445 Q_PRIVATE_SLOT(d_func(), void slotPropertyDestroyed(QtProperty *)) 446 }; 447 448 class QtSizeFPropertyManagerPrivate; 449 450 class QtSizeFPropertyManager : public QtAbstractPropertyManager 451 { 452 Q_OBJECT 453 public: 454 QtSizeFPropertyManager(QObject *parent = 0); 455 ~QtSizeFPropertyManager(); 456 457 QtDoublePropertyManager *subDoublePropertyManager() const; 458 459 QSizeF value(const QtProperty *property) const; 460 QSizeF minimum(const QtProperty *property) const; 461 QSizeF maximum(const QtProperty *property) const; 462 int decimals(const QtProperty *property) const; 463 464 public Q_SLOTS: 465 void setValue(QtProperty *property, const QSizeF &val); 466 void setMinimum(QtProperty *property, const QSizeF &minVal); 467 void setMaximum(QtProperty *property, const QSizeF &maxVal); 468 void setRange(QtProperty *property, const QSizeF &minVal, const QSizeF &maxVal); 469 void setDecimals(QtProperty *property, int prec); 470 Q_SIGNALS: 471 void valueChanged(QtProperty *property, const QSizeF &val); 472 void rangeChanged(QtProperty *property, const QSizeF &minVal, const QSizeF &maxVal); 473 void decimalsChanged(QtProperty *property, int prec); 474 protected: 475 QString valueText(const QtProperty *property) const; 476 virtual void initializeProperty(QtProperty *property); 477 virtual void uninitializeProperty(QtProperty *property); 478 private: 479 QScopedPointer<QtSizeFPropertyManagerPrivate> d_ptr; 480 Q_DECLARE_PRIVATE(QtSizeFPropertyManager) 481 Q_DISABLE_COPY_MOVE(QtSizeFPropertyManager) 482 Q_PRIVATE_SLOT(d_func(), void slotDoubleChanged(QtProperty *, double)) 483 Q_PRIVATE_SLOT(d_func(), void slotPropertyDestroyed(QtProperty *)) 484 }; 485 486 class QtRectPropertyManagerPrivate; 487 488 class QtRectPropertyManager : public QtAbstractPropertyManager 489 { 490 Q_OBJECT 491 public: 492 QtRectPropertyManager(QObject *parent = 0); 493 ~QtRectPropertyManager(); 494 495 QtIntPropertyManager *subIntPropertyManager() const; 496 497 QRect value(const QtProperty *property) const; 498 QRect constraint(const QtProperty *property) const; 499 500 public Q_SLOTS: 501 void setValue(QtProperty *property, const QRect &val); 502 void setConstraint(QtProperty *property, const QRect &constraint); 503 Q_SIGNALS: 504 void valueChanged(QtProperty *property, const QRect &val); 505 void constraintChanged(QtProperty *property, const QRect &constraint); 506 protected: 507 QString valueText(const QtProperty *property) const; 508 virtual void initializeProperty(QtProperty *property); 509 virtual void uninitializeProperty(QtProperty *property); 510 private: 511 QScopedPointer<QtRectPropertyManagerPrivate> d_ptr; 512 Q_DECLARE_PRIVATE(QtRectPropertyManager) 513 Q_DISABLE_COPY_MOVE(QtRectPropertyManager) 514 Q_PRIVATE_SLOT(d_func(), void slotIntChanged(QtProperty *, int)) 515 Q_PRIVATE_SLOT(d_func(), void slotPropertyDestroyed(QtProperty *)) 516 }; 517 518 class QtRectFPropertyManagerPrivate; 519 520 class QtRectFPropertyManager : public QtAbstractPropertyManager 521 { 522 Q_OBJECT 523 public: 524 QtRectFPropertyManager(QObject *parent = 0); 525 ~QtRectFPropertyManager(); 526 527 QtDoublePropertyManager *subDoublePropertyManager() const; 528 529 QRectF value(const QtProperty *property) const; 530 QRectF constraint(const QtProperty *property) const; 531 int decimals(const QtProperty *property) const; 532 533 public Q_SLOTS: 534 void setValue(QtProperty *property, const QRectF &val); 535 void setConstraint(QtProperty *property, const QRectF &constraint); 536 void setDecimals(QtProperty *property, int prec); 537 Q_SIGNALS: 538 void valueChanged(QtProperty *property, const QRectF &val); 539 void constraintChanged(QtProperty *property, const QRectF &constraint); 540 void decimalsChanged(QtProperty *property, int prec); 541 protected: 542 QString valueText(const QtProperty *property) const; 543 virtual void initializeProperty(QtProperty *property); 544 virtual void uninitializeProperty(QtProperty *property); 545 private: 546 QScopedPointer<QtRectFPropertyManagerPrivate> d_ptr; 547 Q_DECLARE_PRIVATE(QtRectFPropertyManager) 548 Q_DISABLE_COPY_MOVE(QtRectFPropertyManager) 549 Q_PRIVATE_SLOT(d_func(), void slotDoubleChanged(QtProperty *, double)) 550 Q_PRIVATE_SLOT(d_func(), void slotPropertyDestroyed(QtProperty *)) 551 }; 552 553 class QtEnumPropertyManagerPrivate; 554 555 class QtEnumPropertyManager : public QtAbstractPropertyManager 556 { 557 Q_OBJECT 558 public: 559 QtEnumPropertyManager(QObject *parent = 0); 560 ~QtEnumPropertyManager(); 561 562 int value(const QtProperty *property) const; 563 QStringList enumNames(const QtProperty *property) const; 564 QMap<int, QIcon> enumIcons(const QtProperty *property) const; 565 566 public Q_SLOTS: 567 void setValue(QtProperty *property, int val); 568 void setEnumNames(QtProperty *property, const QStringList &names); 569 void setEnumIcons(QtProperty *property, const QMap<int, QIcon> &icons); 570 Q_SIGNALS: 571 void valueChanged(QtProperty *property, int val); 572 void enumNamesChanged(QtProperty *property, const QStringList &names); 573 void enumIconsChanged(QtProperty *property, const QMap<int, QIcon> &icons); 574 protected: 575 QString valueText(const QtProperty *property) const; 576 QIcon valueIcon(const QtProperty *property) const; 577 virtual void initializeProperty(QtProperty *property); 578 virtual void uninitializeProperty(QtProperty *property); 579 private: 580 QScopedPointer<QtEnumPropertyManagerPrivate> d_ptr; 581 Q_DECLARE_PRIVATE(QtEnumPropertyManager) 582 Q_DISABLE_COPY_MOVE(QtEnumPropertyManager) 583 }; 584 585 class QtFlagPropertyManagerPrivate; 586 587 class QtFlagPropertyManager : public QtAbstractPropertyManager 588 { 589 Q_OBJECT 590 public: 591 QtFlagPropertyManager(QObject *parent = 0); 592 ~QtFlagPropertyManager(); 593 594 QtBoolPropertyManager *subBoolPropertyManager() const; 595 596 int value(const QtProperty *property) const; 597 QStringList flagNames(const QtProperty *property) const; 598 599 public Q_SLOTS: 600 void setValue(QtProperty *property, int val); 601 void setFlagNames(QtProperty *property, const QStringList &names); 602 Q_SIGNALS: 603 void valueChanged(QtProperty *property, int val); 604 void flagNamesChanged(QtProperty *property, const QStringList &names); 605 protected: 606 QString valueText(const QtProperty *property) const; 607 virtual void initializeProperty(QtProperty *property); 608 virtual void uninitializeProperty(QtProperty *property); 609 private: 610 QScopedPointer<QtFlagPropertyManagerPrivate> d_ptr; 611 Q_DECLARE_PRIVATE(QtFlagPropertyManager) 612 Q_DISABLE_COPY_MOVE(QtFlagPropertyManager) 613 Q_PRIVATE_SLOT(d_func(), void slotBoolChanged(QtProperty *, bool)) 614 Q_PRIVATE_SLOT(d_func(), void slotPropertyDestroyed(QtProperty *)) 615 }; 616 617 class QtSizePolicyPropertyManagerPrivate; 618 619 class QtSizePolicyPropertyManager : public QtAbstractPropertyManager 620 { 621 Q_OBJECT 622 public: 623 QtSizePolicyPropertyManager(QObject *parent = 0); 624 ~QtSizePolicyPropertyManager(); 625 626 QtIntPropertyManager *subIntPropertyManager() const; 627 QtEnumPropertyManager *subEnumPropertyManager() const; 628 629 QSizePolicy value(const QtProperty *property) const; 630 631 public Q_SLOTS: 632 void setValue(QtProperty *property, const QSizePolicy &val); 633 Q_SIGNALS: 634 void valueChanged(QtProperty *property, const QSizePolicy &val); 635 protected: 636 QString valueText(const QtProperty *property) const; 637 virtual void initializeProperty(QtProperty *property); 638 virtual void uninitializeProperty(QtProperty *property); 639 private: 640 QScopedPointer<QtSizePolicyPropertyManagerPrivate> d_ptr; 641 Q_DECLARE_PRIVATE(QtSizePolicyPropertyManager) 642 Q_DISABLE_COPY_MOVE(QtSizePolicyPropertyManager) 643 Q_PRIVATE_SLOT(d_func(), void slotIntChanged(QtProperty *, int)) 644 Q_PRIVATE_SLOT(d_func(), void slotEnumChanged(QtProperty *, int)) 645 Q_PRIVATE_SLOT(d_func(), void slotPropertyDestroyed(QtProperty *)) 646 }; 647 648 class QtFontPropertyManagerPrivate; 649 650 class QtFontPropertyManager : public QtAbstractPropertyManager 651 { 652 Q_OBJECT 653 public: 654 QtFontPropertyManager(QObject *parent = 0); 655 ~QtFontPropertyManager(); 656 657 QtIntPropertyManager *subIntPropertyManager() const; 658 QtEnumPropertyManager *subEnumPropertyManager() const; 659 QtBoolPropertyManager *subBoolPropertyManager() const; 660 661 QFont value(const QtProperty *property) const; 662 663 public Q_SLOTS: 664 void setValue(QtProperty *property, const QFont &val); 665 Q_SIGNALS: 666 void valueChanged(QtProperty *property, const QFont &val); 667 protected: 668 QString valueText(const QtProperty *property) const; 669 QIcon valueIcon(const QtProperty *property) const; 670 virtual void initializeProperty(QtProperty *property); 671 virtual void uninitializeProperty(QtProperty *property); 672 private: 673 QScopedPointer<QtFontPropertyManagerPrivate> d_ptr; 674 Q_DECLARE_PRIVATE(QtFontPropertyManager) 675 Q_DISABLE_COPY_MOVE(QtFontPropertyManager) 676 Q_PRIVATE_SLOT(d_func(), void slotIntChanged(QtProperty *, int)) 677 Q_PRIVATE_SLOT(d_func(), void slotEnumChanged(QtProperty *, int)) 678 Q_PRIVATE_SLOT(d_func(), void slotBoolChanged(QtProperty *, bool)) 679 Q_PRIVATE_SLOT(d_func(), void slotPropertyDestroyed(QtProperty *)) 680 Q_PRIVATE_SLOT(d_func(), void slotFontDatabaseChanged()) 681 Q_PRIVATE_SLOT(d_func(), void slotFontDatabaseDelayedChange()) 682 }; 683 684 class QtColorPropertyManagerPrivate; 685 686 class QtColorPropertyManager : public QtAbstractPropertyManager 687 { 688 Q_OBJECT 689 public: 690 QtColorPropertyManager(QObject *parent = 0); 691 ~QtColorPropertyManager(); 692 693 QtIntPropertyManager *subIntPropertyManager() const; 694 695 QColor value(const QtProperty *property) const; 696 697 public Q_SLOTS: 698 void setValue(QtProperty *property, const QColor &val); 699 Q_SIGNALS: 700 void valueChanged(QtProperty *property, const QColor &val); 701 protected: 702 QString valueText(const QtProperty *property) const; 703 QIcon valueIcon(const QtProperty *property) const; 704 virtual void initializeProperty(QtProperty *property); 705 virtual void uninitializeProperty(QtProperty *property); 706 private: 707 QScopedPointer<QtColorPropertyManagerPrivate> d_ptr; 708 Q_DECLARE_PRIVATE(QtColorPropertyManager) 709 Q_DISABLE_COPY_MOVE(QtColorPropertyManager) 710 Q_PRIVATE_SLOT(d_func(), void slotIntChanged(QtProperty *, int)) 711 Q_PRIVATE_SLOT(d_func(), void slotPropertyDestroyed(QtProperty *)) 712 }; 713 714 class QtCursorPropertyManagerPrivate; 715 716 class QtCursorPropertyManager : public QtAbstractPropertyManager 717 { 718 Q_OBJECT 719 public: 720 QtCursorPropertyManager(QObject *parent = 0); 721 ~QtCursorPropertyManager(); 722 723 #ifndef QT_NO_CURSOR 724 QCursor value(const QtProperty *property) const; 725 #endif 726 727 public Q_SLOTS: 728 void setValue(QtProperty *property, const QCursor &val); 729 Q_SIGNALS: 730 void valueChanged(QtProperty *property, const QCursor &val); 731 protected: 732 QString valueText(const QtProperty *property) const; 733 QIcon valueIcon(const QtProperty *property) const; 734 virtual void initializeProperty(QtProperty *property); 735 virtual void uninitializeProperty(QtProperty *property); 736 private: 737 QScopedPointer<QtCursorPropertyManagerPrivate> d_ptr; 738 Q_DECLARE_PRIVATE(QtCursorPropertyManager) 739 Q_DISABLE_COPY_MOVE(QtCursorPropertyManager) 740 }; 741 742 QT_END_NAMESPACE 743 744 #endif 745