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