qtpropertymanager.h 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770
  1. /****************************************************************************
  2. **
  3. ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
  4. ** Contact: http://www.qt-project.org/legal
  5. **
  6. ** This file is part of the Qt Solutions component.
  7. **
  8. ** $QT_BEGIN_LICENSE:BSD$
  9. ** You may use this file under the terms of the BSD license as follows:
  10. **
  11. ** "Redistribution and use in source and binary forms, with or without
  12. ** modification, are permitted provided that the following conditions are
  13. ** met:
  14. ** * Redistributions of source code must retain the above copyright
  15. ** notice, this list of conditions and the following disclaimer.
  16. ** * Redistributions in binary form must reproduce the above copyright
  17. ** notice, this list of conditions and the following disclaimer in
  18. ** the documentation and/or other materials provided with the
  19. ** distribution.
  20. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
  21. ** of its contributors may be used to endorse or promote products derived
  22. ** from this software without specific prior written permission.
  23. **
  24. **
  25. ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  26. ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  27. ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  28. ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  29. ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  30. ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  31. ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  32. ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  33. ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  34. ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  35. ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
  36. **
  37. ** $QT_END_LICENSE$
  38. **
  39. ****************************************************************************/
  40. #ifndef QTPROPERTYMANAGER_H
  41. #define QTPROPERTYMANAGER_H
  42. #include "qtpropertybrowser.h"
  43. #include <QLineEdit>
  44. #if QT_VERSION >= 0x040400
  45. QT_BEGIN_NAMESPACE
  46. #endif
  47. class QDate;
  48. class QTime;
  49. class QDateTime;
  50. class QLocale;
  51. class QT_QTPROPERTYBROWSER_EXPORT QtGroupPropertyManager : public QtAbstractPropertyManager
  52. {
  53. Q_OBJECT
  54. public:
  55. QtGroupPropertyManager(QObject *parent = 0);
  56. ~QtGroupPropertyManager();
  57. protected:
  58. virtual bool hasValue(const QtProperty *property) const;
  59. virtual void initializeProperty(QtProperty *property);
  60. virtual void uninitializeProperty(QtProperty *property);
  61. };
  62. class QtIntPropertyManagerPrivate;
  63. class QT_QTPROPERTYBROWSER_EXPORT QtIntPropertyManager : public QtAbstractPropertyManager
  64. {
  65. Q_OBJECT
  66. public:
  67. QtIntPropertyManager(QObject *parent = 0);
  68. ~QtIntPropertyManager();
  69. int value(const QtProperty *property) const;
  70. int minimum(const QtProperty *property) const;
  71. int maximum(const QtProperty *property) const;
  72. int singleStep(const QtProperty *property) const;
  73. bool isReadOnly(const QtProperty *property) const;
  74. public Q_SLOTS:
  75. void setValue(QtProperty *property, int val);
  76. void setMinimum(QtProperty *property, int minVal);
  77. void setMaximum(QtProperty *property, int maxVal);
  78. void setRange(QtProperty *property, int minVal, int maxVal);
  79. void setSingleStep(QtProperty *property, int step);
  80. void setReadOnly(QtProperty *property, bool readOnly);
  81. Q_SIGNALS:
  82. void valueChanged(QtProperty *property, int val);
  83. void rangeChanged(QtProperty *property, int minVal, int maxVal);
  84. void singleStepChanged(QtProperty *property, int step);
  85. void readOnlyChanged(QtProperty *property, bool readOnly);
  86. protected:
  87. QString valueText(const QtProperty *property) const;
  88. virtual void initializeProperty(QtProperty *property);
  89. virtual void uninitializeProperty(QtProperty *property);
  90. private:
  91. QtIntPropertyManagerPrivate *d_ptr;
  92. Q_DECLARE_PRIVATE(QtIntPropertyManager)
  93. Q_DISABLE_COPY(QtIntPropertyManager)
  94. };
  95. class QtBoolPropertyManagerPrivate;
  96. class QT_QTPROPERTYBROWSER_EXPORT QtBoolPropertyManager : public QtAbstractPropertyManager
  97. {
  98. Q_OBJECT
  99. public:
  100. QtBoolPropertyManager(QObject *parent = 0);
  101. ~QtBoolPropertyManager();
  102. bool value(const QtProperty *property) const;
  103. bool textVisible(const QtProperty *property) const;
  104. public Q_SLOTS:
  105. void setValue(QtProperty *property, bool val);
  106. void setTextVisible(QtProperty *property, bool textVisible);
  107. Q_SIGNALS:
  108. void valueChanged(QtProperty *property, bool val);
  109. void textVisibleChanged(QtProperty *property, bool);
  110. protected:
  111. QString valueText(const QtProperty *property) const;
  112. QIcon valueIcon(const QtProperty *property) const;
  113. virtual void initializeProperty(QtProperty *property);
  114. virtual void uninitializeProperty(QtProperty *property);
  115. private:
  116. QtBoolPropertyManagerPrivate *d_ptr;
  117. Q_DECLARE_PRIVATE(QtBoolPropertyManager)
  118. Q_DISABLE_COPY(QtBoolPropertyManager)
  119. };
  120. class QtDoublePropertyManagerPrivate;
  121. class QT_QTPROPERTYBROWSER_EXPORT QtDoublePropertyManager : public QtAbstractPropertyManager
  122. {
  123. Q_OBJECT
  124. public:
  125. QtDoublePropertyManager(QObject *parent = 0);
  126. ~QtDoublePropertyManager();
  127. double value(const QtProperty *property) const;
  128. double minimum(const QtProperty *property) const;
  129. double maximum(const QtProperty *property) const;
  130. double singleStep(const QtProperty *property) const;
  131. int decimals(const QtProperty *property) const;
  132. bool isReadOnly(const QtProperty *property) const;
  133. public Q_SLOTS:
  134. void setValue(QtProperty *property, double val);
  135. void setMinimum(QtProperty *property, double minVal);
  136. void setMaximum(QtProperty *property, double maxVal);
  137. void setRange(QtProperty *property, double minVal, double maxVal);
  138. void setSingleStep(QtProperty *property, double step);
  139. void setDecimals(QtProperty *property, int prec);
  140. void setReadOnly(QtProperty *property, bool readOnly);
  141. Q_SIGNALS:
  142. void valueChanged(QtProperty *property, double val);
  143. void rangeChanged(QtProperty *property, double minVal, double maxVal);
  144. void singleStepChanged(QtProperty *property, double step);
  145. void decimalsChanged(QtProperty *property, int prec);
  146. void readOnlyChanged(QtProperty *property, bool readOnly);
  147. protected:
  148. QString valueText(const QtProperty *property) const;
  149. virtual void initializeProperty(QtProperty *property);
  150. virtual void uninitializeProperty(QtProperty *property);
  151. private:
  152. QtDoublePropertyManagerPrivate *d_ptr;
  153. Q_DECLARE_PRIVATE(QtDoublePropertyManager)
  154. Q_DISABLE_COPY(QtDoublePropertyManager)
  155. };
  156. class QtStringPropertyManagerPrivate;
  157. class QT_QTPROPERTYBROWSER_EXPORT QtStringPropertyManager : public QtAbstractPropertyManager
  158. {
  159. Q_OBJECT
  160. public:
  161. QtStringPropertyManager(QObject *parent = 0);
  162. ~QtStringPropertyManager();
  163. QString value(const QtProperty *property) const;
  164. QRegExp regExp(const QtProperty *property) const;
  165. EchoMode echoMode(const QtProperty *property) const;
  166. bool isReadOnly(const QtProperty *property) const;
  167. public Q_SLOTS:
  168. void setValue(QtProperty *property, const QString &val);
  169. void setRegExp(QtProperty *property, const QRegExp &regExp);
  170. void setEchoMode(QtProperty *property, EchoMode echoMode);
  171. void setReadOnly(QtProperty *property, bool readOnly);
  172. Q_SIGNALS:
  173. void valueChanged(QtProperty *property, const QString &val);
  174. void regExpChanged(QtProperty *property, const QRegExp &regExp);
  175. void echoModeChanged(QtProperty *property, const int);
  176. void readOnlyChanged(QtProperty *property, bool);
  177. protected:
  178. QString valueText(const QtProperty *property) const;
  179. QString displayText(const QtProperty *property) const;
  180. virtual void initializeProperty(QtProperty *property);
  181. virtual void uninitializeProperty(QtProperty *property);
  182. private:
  183. QtStringPropertyManagerPrivate *d_ptr;
  184. Q_DECLARE_PRIVATE(QtStringPropertyManager)
  185. Q_DISABLE_COPY(QtStringPropertyManager)
  186. };
  187. class QtDatePropertyManagerPrivate;
  188. class QT_QTPROPERTYBROWSER_EXPORT QtDatePropertyManager : public QtAbstractPropertyManager
  189. {
  190. Q_OBJECT
  191. public:
  192. QtDatePropertyManager(QObject *parent = 0);
  193. ~QtDatePropertyManager();
  194. QDate value(const QtProperty *property) const;
  195. QDate minimum(const QtProperty *property) const;
  196. QDate maximum(const QtProperty *property) const;
  197. public Q_SLOTS:
  198. void setValue(QtProperty *property, const QDate &val);
  199. void setMinimum(QtProperty *property, const QDate &minVal);
  200. void setMaximum(QtProperty *property, const QDate &maxVal);
  201. void setRange(QtProperty *property, const QDate &minVal, const QDate &maxVal);
  202. Q_SIGNALS:
  203. void valueChanged(QtProperty *property, const QDate &val);
  204. void rangeChanged(QtProperty *property, const QDate &minVal, const QDate &maxVal);
  205. protected:
  206. QString valueText(const QtProperty *property) const;
  207. virtual void initializeProperty(QtProperty *property);
  208. virtual void uninitializeProperty(QtProperty *property);
  209. private:
  210. QtDatePropertyManagerPrivate *d_ptr;
  211. Q_DECLARE_PRIVATE(QtDatePropertyManager)
  212. Q_DISABLE_COPY(QtDatePropertyManager)
  213. };
  214. class QtTimePropertyManagerPrivate;
  215. class QT_QTPROPERTYBROWSER_EXPORT QtTimePropertyManager : public QtAbstractPropertyManager
  216. {
  217. Q_OBJECT
  218. public:
  219. QtTimePropertyManager(QObject *parent = 0);
  220. ~QtTimePropertyManager();
  221. QTime value(const QtProperty *property) const;
  222. public Q_SLOTS:
  223. void setValue(QtProperty *property, const QTime &val);
  224. Q_SIGNALS:
  225. void valueChanged(QtProperty *property, const QTime &val);
  226. protected:
  227. QString valueText(const QtProperty *property) const;
  228. virtual void initializeProperty(QtProperty *property);
  229. virtual void uninitializeProperty(QtProperty *property);
  230. private:
  231. QtTimePropertyManagerPrivate *d_ptr;
  232. Q_DECLARE_PRIVATE(QtTimePropertyManager)
  233. Q_DISABLE_COPY(QtTimePropertyManager)
  234. };
  235. class QtDateTimePropertyManagerPrivate;
  236. class QT_QTPROPERTYBROWSER_EXPORT QtDateTimePropertyManager : public QtAbstractPropertyManager
  237. {
  238. Q_OBJECT
  239. public:
  240. QtDateTimePropertyManager(QObject *parent = 0);
  241. ~QtDateTimePropertyManager();
  242. QDateTime value(const QtProperty *property) const;
  243. public Q_SLOTS:
  244. void setValue(QtProperty *property, const QDateTime &val);
  245. Q_SIGNALS:
  246. void valueChanged(QtProperty *property, const QDateTime &val);
  247. protected:
  248. QString valueText(const QtProperty *property) const;
  249. virtual void initializeProperty(QtProperty *property);
  250. virtual void uninitializeProperty(QtProperty *property);
  251. private:
  252. QtDateTimePropertyManagerPrivate *d_ptr;
  253. Q_DECLARE_PRIVATE(QtDateTimePropertyManager)
  254. Q_DISABLE_COPY(QtDateTimePropertyManager)
  255. };
  256. class QtKeySequencePropertyManagerPrivate;
  257. class QT_QTPROPERTYBROWSER_EXPORT QtKeySequencePropertyManager : public QtAbstractPropertyManager
  258. {
  259. Q_OBJECT
  260. public:
  261. QtKeySequencePropertyManager(QObject *parent = 0);
  262. ~QtKeySequencePropertyManager();
  263. QKeySequence value(const QtProperty *property) const;
  264. public Q_SLOTS:
  265. void setValue(QtProperty *property, const QKeySequence &val);
  266. Q_SIGNALS:
  267. void valueChanged(QtProperty *property, const QKeySequence &val);
  268. protected:
  269. QString valueText(const QtProperty *property) const;
  270. virtual void initializeProperty(QtProperty *property);
  271. virtual void uninitializeProperty(QtProperty *property);
  272. private:
  273. QtKeySequencePropertyManagerPrivate *d_ptr;
  274. Q_DECLARE_PRIVATE(QtKeySequencePropertyManager)
  275. Q_DISABLE_COPY(QtKeySequencePropertyManager)
  276. };
  277. class QtCharPropertyManagerPrivate;
  278. class QT_QTPROPERTYBROWSER_EXPORT QtCharPropertyManager : public QtAbstractPropertyManager
  279. {
  280. Q_OBJECT
  281. public:
  282. QtCharPropertyManager(QObject *parent = 0);
  283. ~QtCharPropertyManager();
  284. QChar value(const QtProperty *property) const;
  285. public Q_SLOTS:
  286. void setValue(QtProperty *property, const QChar &val);
  287. Q_SIGNALS:
  288. void valueChanged(QtProperty *property, const QChar &val);
  289. protected:
  290. QString valueText(const QtProperty *property) const;
  291. virtual void initializeProperty(QtProperty *property);
  292. virtual void uninitializeProperty(QtProperty *property);
  293. private:
  294. QtCharPropertyManagerPrivate *d_ptr;
  295. Q_DECLARE_PRIVATE(QtCharPropertyManager)
  296. Q_DISABLE_COPY(QtCharPropertyManager)
  297. };
  298. class QtEnumPropertyManager;
  299. class QtLocalePropertyManagerPrivate;
  300. class QT_QTPROPERTYBROWSER_EXPORT QtLocalePropertyManager : public QtAbstractPropertyManager
  301. {
  302. Q_OBJECT
  303. public:
  304. QtLocalePropertyManager(QObject *parent = 0);
  305. ~QtLocalePropertyManager();
  306. QtEnumPropertyManager *subEnumPropertyManager() const;
  307. QLocale value(const QtProperty *property) const;
  308. public Q_SLOTS:
  309. void setValue(QtProperty *property, const QLocale &val);
  310. Q_SIGNALS:
  311. void valueChanged(QtProperty *property, const QLocale &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. QtLocalePropertyManagerPrivate *d_ptr;
  318. Q_DECLARE_PRIVATE(QtLocalePropertyManager)
  319. Q_DISABLE_COPY(QtLocalePropertyManager)
  320. Q_PRIVATE_SLOT(d_func(), void slotEnumChanged(QtProperty *, int))
  321. Q_PRIVATE_SLOT(d_func(), void slotPropertyDestroyed(QtProperty *))
  322. };
  323. class QtPointPropertyManagerPrivate;
  324. class QT_QTPROPERTYBROWSER_EXPORT QtPointPropertyManager : public QtAbstractPropertyManager
  325. {
  326. Q_OBJECT
  327. public:
  328. QtPointPropertyManager(QObject *parent = 0);
  329. ~QtPointPropertyManager();
  330. QtIntPropertyManager *subIntPropertyManager() const;
  331. QPoint value(const QtProperty *property) const;
  332. public Q_SLOTS:
  333. void setValue(QtProperty *property, const QPoint &val);
  334. Q_SIGNALS:
  335. void valueChanged(QtProperty *property, const QPoint &val);
  336. protected:
  337. QString valueText(const QtProperty *property) const;
  338. virtual void initializeProperty(QtProperty *property);
  339. virtual void uninitializeProperty(QtProperty *property);
  340. private:
  341. QtPointPropertyManagerPrivate *d_ptr;
  342. Q_DECLARE_PRIVATE(QtPointPropertyManager)
  343. Q_DISABLE_COPY(QtPointPropertyManager)
  344. Q_PRIVATE_SLOT(d_func(), void slotIntChanged(QtProperty *, int))
  345. Q_PRIVATE_SLOT(d_func(), void slotPropertyDestroyed(QtProperty *))
  346. };
  347. class QtPointFPropertyManagerPrivate;
  348. class QT_QTPROPERTYBROWSER_EXPORT QtPointFPropertyManager : public QtAbstractPropertyManager
  349. {
  350. Q_OBJECT
  351. public:
  352. QtPointFPropertyManager(QObject *parent = 0);
  353. ~QtPointFPropertyManager();
  354. QtDoublePropertyManager *subDoublePropertyManager() const;
  355. QPointF value(const QtProperty *property) const;
  356. int decimals(const QtProperty *property) const;
  357. public Q_SLOTS:
  358. void setValue(QtProperty *property, const QPointF &val);
  359. void setDecimals(QtProperty *property, int prec);
  360. Q_SIGNALS:
  361. void valueChanged(QtProperty *property, const QPointF &val);
  362. void decimalsChanged(QtProperty *property, int prec);
  363. protected:
  364. QString valueText(const QtProperty *property) const;
  365. virtual void initializeProperty(QtProperty *property);
  366. virtual void uninitializeProperty(QtProperty *property);
  367. private:
  368. QtPointFPropertyManagerPrivate *d_ptr;
  369. Q_DECLARE_PRIVATE(QtPointFPropertyManager)
  370. Q_DISABLE_COPY(QtPointFPropertyManager)
  371. Q_PRIVATE_SLOT(d_func(), void slotDoubleChanged(QtProperty *, double))
  372. Q_PRIVATE_SLOT(d_func(), void slotPropertyDestroyed(QtProperty *))
  373. };
  374. class QtSizePropertyManagerPrivate;
  375. class QT_QTPROPERTYBROWSER_EXPORT QtSizePropertyManager : public QtAbstractPropertyManager
  376. {
  377. Q_OBJECT
  378. public:
  379. QtSizePropertyManager(QObject *parent = 0);
  380. ~QtSizePropertyManager();
  381. QtIntPropertyManager *subIntPropertyManager() const;
  382. QSize value(const QtProperty *property) const;
  383. QSize minimum(const QtProperty *property) const;
  384. QSize maximum(const QtProperty *property) const;
  385. public Q_SLOTS:
  386. void setValue(QtProperty *property, const QSize &val);
  387. void setMinimum(QtProperty *property, const QSize &minVal);
  388. void setMaximum(QtProperty *property, const QSize &maxVal);
  389. void setRange(QtProperty *property, const QSize &minVal, const QSize &maxVal);
  390. Q_SIGNALS:
  391. void valueChanged(QtProperty *property, const QSize &val);
  392. void rangeChanged(QtProperty *property, const QSize &minVal, const QSize &maxVal);
  393. protected:
  394. QString valueText(const QtProperty *property) const;
  395. virtual void initializeProperty(QtProperty *property);
  396. virtual void uninitializeProperty(QtProperty *property);
  397. private:
  398. QtSizePropertyManagerPrivate *d_ptr;
  399. Q_DECLARE_PRIVATE(QtSizePropertyManager)
  400. Q_DISABLE_COPY(QtSizePropertyManager)
  401. Q_PRIVATE_SLOT(d_func(), void slotIntChanged(QtProperty *, int))
  402. Q_PRIVATE_SLOT(d_func(), void slotPropertyDestroyed(QtProperty *))
  403. };
  404. class QtSizeFPropertyManagerPrivate;
  405. class QT_QTPROPERTYBROWSER_EXPORT QtSizeFPropertyManager : public QtAbstractPropertyManager
  406. {
  407. Q_OBJECT
  408. public:
  409. QtSizeFPropertyManager(QObject *parent = 0);
  410. ~QtSizeFPropertyManager();
  411. QtDoublePropertyManager *subDoublePropertyManager() const;
  412. QSizeF value(const QtProperty *property) const;
  413. QSizeF minimum(const QtProperty *property) const;
  414. QSizeF maximum(const QtProperty *property) const;
  415. int decimals(const QtProperty *property) const;
  416. public Q_SLOTS:
  417. void setValue(QtProperty *property, const QSizeF &val);
  418. void setMinimum(QtProperty *property, const QSizeF &minVal);
  419. void setMaximum(QtProperty *property, const QSizeF &maxVal);
  420. void setRange(QtProperty *property, const QSizeF &minVal, const QSizeF &maxVal);
  421. void setDecimals(QtProperty *property, int prec);
  422. Q_SIGNALS:
  423. void valueChanged(QtProperty *property, const QSizeF &val);
  424. void rangeChanged(QtProperty *property, const QSizeF &minVal, const QSizeF &maxVal);
  425. void decimalsChanged(QtProperty *property, int prec);
  426. protected:
  427. QString valueText(const QtProperty *property) const;
  428. virtual void initializeProperty(QtProperty *property);
  429. virtual void uninitializeProperty(QtProperty *property);
  430. private:
  431. QtSizeFPropertyManagerPrivate *d_ptr;
  432. Q_DECLARE_PRIVATE(QtSizeFPropertyManager)
  433. Q_DISABLE_COPY(QtSizeFPropertyManager)
  434. Q_PRIVATE_SLOT(d_func(), void slotDoubleChanged(QtProperty *, double))
  435. Q_PRIVATE_SLOT(d_func(), void slotPropertyDestroyed(QtProperty *))
  436. };
  437. class QtRectPropertyManagerPrivate;
  438. class QT_QTPROPERTYBROWSER_EXPORT QtRectPropertyManager : public QtAbstractPropertyManager
  439. {
  440. Q_OBJECT
  441. public:
  442. QtRectPropertyManager(QObject *parent = 0);
  443. ~QtRectPropertyManager();
  444. QtIntPropertyManager *subIntPropertyManager() const;
  445. QRect value(const QtProperty *property) const;
  446. QRect constraint(const QtProperty *property) const;
  447. public Q_SLOTS:
  448. void setValue(QtProperty *property, const QRect &val);
  449. void setConstraint(QtProperty *property, const QRect &constraint);
  450. Q_SIGNALS:
  451. void valueChanged(QtProperty *property, const QRect &val);
  452. void constraintChanged(QtProperty *property, const QRect &constraint);
  453. protected:
  454. QString valueText(const QtProperty *property) const;
  455. virtual void initializeProperty(QtProperty *property);
  456. virtual void uninitializeProperty(QtProperty *property);
  457. private:
  458. QtRectPropertyManagerPrivate *d_ptr;
  459. Q_DECLARE_PRIVATE(QtRectPropertyManager)
  460. Q_DISABLE_COPY(QtRectPropertyManager)
  461. Q_PRIVATE_SLOT(d_func(), void slotIntChanged(QtProperty *, int))
  462. Q_PRIVATE_SLOT(d_func(), void slotPropertyDestroyed(QtProperty *))
  463. };
  464. class QtRectFPropertyManagerPrivate;
  465. class QT_QTPROPERTYBROWSER_EXPORT QtRectFPropertyManager : public QtAbstractPropertyManager
  466. {
  467. Q_OBJECT
  468. public:
  469. QtRectFPropertyManager(QObject *parent = 0);
  470. ~QtRectFPropertyManager();
  471. QtDoublePropertyManager *subDoublePropertyManager() const;
  472. QRectF value(const QtProperty *property) const;
  473. QRectF constraint(const QtProperty *property) const;
  474. int decimals(const QtProperty *property) const;
  475. public Q_SLOTS:
  476. void setValue(QtProperty *property, const QRectF &val);
  477. void setConstraint(QtProperty *property, const QRectF &constraint);
  478. void setDecimals(QtProperty *property, int prec);
  479. Q_SIGNALS:
  480. void valueChanged(QtProperty *property, const QRectF &val);
  481. void constraintChanged(QtProperty *property, const QRectF &constraint);
  482. void decimalsChanged(QtProperty *property, int prec);
  483. protected:
  484. QString valueText(const QtProperty *property) const;
  485. virtual void initializeProperty(QtProperty *property);
  486. virtual void uninitializeProperty(QtProperty *property);
  487. private:
  488. QtRectFPropertyManagerPrivate *d_ptr;
  489. Q_DECLARE_PRIVATE(QtRectFPropertyManager)
  490. Q_DISABLE_COPY(QtRectFPropertyManager)
  491. Q_PRIVATE_SLOT(d_func(), void slotDoubleChanged(QtProperty *, double))
  492. Q_PRIVATE_SLOT(d_func(), void slotPropertyDestroyed(QtProperty *))
  493. };
  494. class QtEnumPropertyManagerPrivate;
  495. class QT_QTPROPERTYBROWSER_EXPORT QtEnumPropertyManager : public QtAbstractPropertyManager
  496. {
  497. Q_OBJECT
  498. public:
  499. QtEnumPropertyManager(QObject *parent = 0);
  500. ~QtEnumPropertyManager();
  501. int value(const QtProperty *property) const;
  502. QStringList enumNames(const QtProperty *property) const;
  503. QMap<int, QIcon> enumIcons(const QtProperty *property) const;
  504. public Q_SLOTS:
  505. void setValue(QtProperty *property, int val);
  506. void setEnumNames(QtProperty *property, const QStringList &names);
  507. void setEnumIcons(QtProperty *property, const QMap<int, QIcon> &icons);
  508. Q_SIGNALS:
  509. void valueChanged(QtProperty *property, int val);
  510. void enumNamesChanged(QtProperty *property, const QStringList &names);
  511. void enumIconsChanged(QtProperty *property, const QMap<int, QIcon> &icons);
  512. protected:
  513. QString valueText(const QtProperty *property) const;
  514. QIcon valueIcon(const QtProperty *property) const;
  515. virtual void initializeProperty(QtProperty *property);
  516. virtual void uninitializeProperty(QtProperty *property);
  517. private:
  518. QtEnumPropertyManagerPrivate *d_ptr;
  519. Q_DECLARE_PRIVATE(QtEnumPropertyManager)
  520. Q_DISABLE_COPY(QtEnumPropertyManager)
  521. };
  522. class QtFlagPropertyManagerPrivate;
  523. class QT_QTPROPERTYBROWSER_EXPORT QtFlagPropertyManager : public QtAbstractPropertyManager
  524. {
  525. Q_OBJECT
  526. public:
  527. QtFlagPropertyManager(QObject *parent = 0);
  528. ~QtFlagPropertyManager();
  529. QtBoolPropertyManager *subBoolPropertyManager() const;
  530. int value(const QtProperty *property) const;
  531. QStringList flagNames(const QtProperty *property) const;
  532. public Q_SLOTS:
  533. void setValue(QtProperty *property, int val);
  534. void setFlagNames(QtProperty *property, const QStringList &names);
  535. Q_SIGNALS:
  536. void valueChanged(QtProperty *property, int val);
  537. void flagNamesChanged(QtProperty *property, const QStringList &names);
  538. protected:
  539. QString valueText(const QtProperty *property) const;
  540. virtual void initializeProperty(QtProperty *property);
  541. virtual void uninitializeProperty(QtProperty *property);
  542. private:
  543. QtFlagPropertyManagerPrivate *d_ptr;
  544. Q_DECLARE_PRIVATE(QtFlagPropertyManager)
  545. Q_DISABLE_COPY(QtFlagPropertyManager)
  546. Q_PRIVATE_SLOT(d_func(), void slotBoolChanged(QtProperty *, bool))
  547. Q_PRIVATE_SLOT(d_func(), void slotPropertyDestroyed(QtProperty *))
  548. };
  549. class QtSizePolicyPropertyManagerPrivate;
  550. class QT_QTPROPERTYBROWSER_EXPORT QtSizePolicyPropertyManager : public QtAbstractPropertyManager
  551. {
  552. Q_OBJECT
  553. public:
  554. QtSizePolicyPropertyManager(QObject *parent = 0);
  555. ~QtSizePolicyPropertyManager();
  556. QtIntPropertyManager *subIntPropertyManager() const;
  557. QtEnumPropertyManager *subEnumPropertyManager() const;
  558. QSizePolicy value(const QtProperty *property) const;
  559. public Q_SLOTS:
  560. void setValue(QtProperty *property, const QSizePolicy &val);
  561. Q_SIGNALS:
  562. void valueChanged(QtProperty *property, const QSizePolicy &val);
  563. protected:
  564. QString valueText(const QtProperty *property) const;
  565. virtual void initializeProperty(QtProperty *property);
  566. virtual void uninitializeProperty(QtProperty *property);
  567. private:
  568. QtSizePolicyPropertyManagerPrivate *d_ptr;
  569. Q_DECLARE_PRIVATE(QtSizePolicyPropertyManager)
  570. Q_DISABLE_COPY(QtSizePolicyPropertyManager)
  571. Q_PRIVATE_SLOT(d_func(), void slotIntChanged(QtProperty *, int))
  572. Q_PRIVATE_SLOT(d_func(), void slotEnumChanged(QtProperty *, int))
  573. Q_PRIVATE_SLOT(d_func(), void slotPropertyDestroyed(QtProperty *))
  574. };
  575. class QtFontPropertyManagerPrivate;
  576. class QT_QTPROPERTYBROWSER_EXPORT QtFontPropertyManager : public QtAbstractPropertyManager
  577. {
  578. Q_OBJECT
  579. public:
  580. QtFontPropertyManager(QObject *parent = 0);
  581. ~QtFontPropertyManager();
  582. QtIntPropertyManager *subIntPropertyManager() const;
  583. QtEnumPropertyManager *subEnumPropertyManager() const;
  584. QtBoolPropertyManager *subBoolPropertyManager() const;
  585. QFont value(const QtProperty *property) const;
  586. public Q_SLOTS:
  587. void setValue(QtProperty *property, const QFont &val);
  588. Q_SIGNALS:
  589. void valueChanged(QtProperty *property, const QFont &val);
  590. protected:
  591. QString valueText(const QtProperty *property) const;
  592. QIcon valueIcon(const QtProperty *property) const;
  593. virtual void initializeProperty(QtProperty *property);
  594. virtual void uninitializeProperty(QtProperty *property);
  595. private:
  596. QtFontPropertyManagerPrivate *d_ptr;
  597. Q_DECLARE_PRIVATE(QtFontPropertyManager)
  598. Q_DISABLE_COPY(QtFontPropertyManager)
  599. Q_PRIVATE_SLOT(d_func(), void slotIntChanged(QtProperty *, int))
  600. Q_PRIVATE_SLOT(d_func(), void slotEnumChanged(QtProperty *, int))
  601. Q_PRIVATE_SLOT(d_func(), void slotBoolChanged(QtProperty *, bool))
  602. Q_PRIVATE_SLOT(d_func(), void slotPropertyDestroyed(QtProperty *))
  603. Q_PRIVATE_SLOT(d_func(), void slotFontDatabaseChanged())
  604. Q_PRIVATE_SLOT(d_func(), void slotFontDatabaseDelayedChange())
  605. };
  606. class QtColorPropertyManagerPrivate;
  607. class QT_QTPROPERTYBROWSER_EXPORT QtColorPropertyManager : public QtAbstractPropertyManager
  608. {
  609. Q_OBJECT
  610. public:
  611. QtColorPropertyManager(QObject *parent = 0);
  612. ~QtColorPropertyManager();
  613. QtIntPropertyManager *subIntPropertyManager() const;
  614. QColor value(const QtProperty *property) const;
  615. public Q_SLOTS:
  616. void setValue(QtProperty *property, const QColor &val);
  617. Q_SIGNALS:
  618. void valueChanged(QtProperty *property, const QColor &val);
  619. protected:
  620. QString valueText(const QtProperty *property) const;
  621. QIcon valueIcon(const QtProperty *property) const;
  622. virtual void initializeProperty(QtProperty *property);
  623. virtual void uninitializeProperty(QtProperty *property);
  624. private:
  625. QtColorPropertyManagerPrivate *d_ptr;
  626. Q_DECLARE_PRIVATE(QtColorPropertyManager)
  627. Q_DISABLE_COPY(QtColorPropertyManager)
  628. Q_PRIVATE_SLOT(d_func(), void slotIntChanged(QtProperty *, int))
  629. Q_PRIVATE_SLOT(d_func(), void slotPropertyDestroyed(QtProperty *))
  630. };
  631. class QtCursorPropertyManagerPrivate;
  632. class QT_QTPROPERTYBROWSER_EXPORT QtCursorPropertyManager : public QtAbstractPropertyManager
  633. {
  634. Q_OBJECT
  635. public:
  636. QtCursorPropertyManager(QObject *parent = 0);
  637. ~QtCursorPropertyManager();
  638. #ifndef QT_NO_CURSOR
  639. QCursor value(const QtProperty *property) const;
  640. #endif
  641. public Q_SLOTS:
  642. void setValue(QtProperty *property, const QCursor &val);
  643. Q_SIGNALS:
  644. void valueChanged(QtProperty *property, const QCursor &val);
  645. protected:
  646. QString valueText(const QtProperty *property) const;
  647. QIcon valueIcon(const QtProperty *property) const;
  648. virtual void initializeProperty(QtProperty *property);
  649. virtual void uninitializeProperty(QtProperty *property);
  650. private:
  651. QtCursorPropertyManagerPrivate *d_ptr;
  652. Q_DECLARE_PRIVATE(QtCursorPropertyManager)
  653. Q_DISABLE_COPY(QtCursorPropertyManager)
  654. };
  655. #if QT_VERSION >= 0x040400
  656. QT_END_NAMESPACE
  657. #endif
  658. #endif