qteditorfactory.h 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407
  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 QTEDITORFACTORY_H
  41. #define QTEDITORFACTORY_H
  42. #include "qtpropertymanager.h"
  43. #if QT_VERSION >= 0x040400
  44. QT_BEGIN_NAMESPACE
  45. #endif
  46. class QtSpinBoxFactoryPrivate;
  47. class QT_QTPROPERTYBROWSER_EXPORT QtSpinBoxFactory : public QtAbstractEditorFactory<QtIntPropertyManager>
  48. {
  49. Q_OBJECT
  50. public:
  51. QtSpinBoxFactory(QObject *parent = 0);
  52. ~QtSpinBoxFactory();
  53. protected:
  54. void connectPropertyManager(QtIntPropertyManager *manager);
  55. QWidget *createEditor(QtIntPropertyManager *manager, QtProperty *property,
  56. QWidget *parent);
  57. void disconnectPropertyManager(QtIntPropertyManager *manager);
  58. private:
  59. QtSpinBoxFactoryPrivate *d_ptr;
  60. Q_DECLARE_PRIVATE(QtSpinBoxFactory)
  61. Q_DISABLE_COPY(QtSpinBoxFactory)
  62. Q_PRIVATE_SLOT(d_func(), void slotPropertyChanged(QtProperty *, int))
  63. Q_PRIVATE_SLOT(d_func(), void slotRangeChanged(QtProperty *, int, int))
  64. Q_PRIVATE_SLOT(d_func(), void slotSingleStepChanged(QtProperty *, int))
  65. Q_PRIVATE_SLOT(d_func(), void slotReadOnlyChanged(QtProperty *, bool))
  66. Q_PRIVATE_SLOT(d_func(), void slotSetValue(int))
  67. Q_PRIVATE_SLOT(d_func(), void slotEditorDestroyed(QObject *))
  68. };
  69. class QtSliderFactoryPrivate;
  70. class QT_QTPROPERTYBROWSER_EXPORT QtSliderFactory : public QtAbstractEditorFactory<QtIntPropertyManager>
  71. {
  72. Q_OBJECT
  73. public:
  74. QtSliderFactory(QObject *parent = 0);
  75. ~QtSliderFactory();
  76. protected:
  77. void connectPropertyManager(QtIntPropertyManager *manager);
  78. QWidget *createEditor(QtIntPropertyManager *manager, QtProperty *property,
  79. QWidget *parent);
  80. void disconnectPropertyManager(QtIntPropertyManager *manager);
  81. private:
  82. QtSliderFactoryPrivate *d_ptr;
  83. Q_DECLARE_PRIVATE(QtSliderFactory)
  84. Q_DISABLE_COPY(QtSliderFactory)
  85. Q_PRIVATE_SLOT(d_func(), void slotPropertyChanged(QtProperty *, int))
  86. Q_PRIVATE_SLOT(d_func(), void slotRangeChanged(QtProperty *, int, int))
  87. Q_PRIVATE_SLOT(d_func(), void slotSingleStepChanged(QtProperty *, int))
  88. Q_PRIVATE_SLOT(d_func(), void slotSetValue(int))
  89. Q_PRIVATE_SLOT(d_func(), void slotEditorDestroyed(QObject *))
  90. };
  91. class QtScrollBarFactoryPrivate;
  92. class QT_QTPROPERTYBROWSER_EXPORT QtScrollBarFactory : public QtAbstractEditorFactory<QtIntPropertyManager>
  93. {
  94. Q_OBJECT
  95. public:
  96. QtScrollBarFactory(QObject *parent = 0);
  97. ~QtScrollBarFactory();
  98. protected:
  99. void connectPropertyManager(QtIntPropertyManager *manager);
  100. QWidget *createEditor(QtIntPropertyManager *manager, QtProperty *property,
  101. QWidget *parent);
  102. void disconnectPropertyManager(QtIntPropertyManager *manager);
  103. private:
  104. QtScrollBarFactoryPrivate *d_ptr;
  105. Q_DECLARE_PRIVATE(QtScrollBarFactory)
  106. Q_DISABLE_COPY(QtScrollBarFactory)
  107. Q_PRIVATE_SLOT(d_func(), void slotPropertyChanged(QtProperty *, int))
  108. Q_PRIVATE_SLOT(d_func(), void slotRangeChanged(QtProperty *, int, int))
  109. Q_PRIVATE_SLOT(d_func(), void slotSingleStepChanged(QtProperty *, int))
  110. Q_PRIVATE_SLOT(d_func(), void slotSetValue(int))
  111. Q_PRIVATE_SLOT(d_func(), void slotEditorDestroyed(QObject *))
  112. };
  113. class QtCheckBoxFactoryPrivate;
  114. class QT_QTPROPERTYBROWSER_EXPORT QtCheckBoxFactory : public QtAbstractEditorFactory<QtBoolPropertyManager>
  115. {
  116. Q_OBJECT
  117. public:
  118. QtCheckBoxFactory(QObject *parent = 0);
  119. ~QtCheckBoxFactory();
  120. protected:
  121. void connectPropertyManager(QtBoolPropertyManager *manager);
  122. QWidget *createEditor(QtBoolPropertyManager *manager, QtProperty *property,
  123. QWidget *parent);
  124. void disconnectPropertyManager(QtBoolPropertyManager *manager);
  125. private:
  126. QtCheckBoxFactoryPrivate *d_ptr;
  127. Q_DECLARE_PRIVATE(QtCheckBoxFactory)
  128. Q_DISABLE_COPY(QtCheckBoxFactory)
  129. Q_PRIVATE_SLOT(d_func(), void slotPropertyChanged(QtProperty *, bool))
  130. Q_PRIVATE_SLOT(d_func(), void slotTextVisibleChanged(QtProperty *, bool))
  131. Q_PRIVATE_SLOT(d_func(), void slotSetValue(bool))
  132. Q_PRIVATE_SLOT(d_func(), void slotEditorDestroyed(QObject *))
  133. };
  134. class QtDoubleSpinBoxFactoryPrivate;
  135. class QT_QTPROPERTYBROWSER_EXPORT QtDoubleSpinBoxFactory : public QtAbstractEditorFactory<QtDoublePropertyManager>
  136. {
  137. Q_OBJECT
  138. public:
  139. QtDoubleSpinBoxFactory(QObject *parent = 0);
  140. ~QtDoubleSpinBoxFactory();
  141. protected:
  142. void connectPropertyManager(QtDoublePropertyManager *manager);
  143. QWidget *createEditor(QtDoublePropertyManager *manager, QtProperty *property,
  144. QWidget *parent);
  145. void disconnectPropertyManager(QtDoublePropertyManager *manager);
  146. private:
  147. QtDoubleSpinBoxFactoryPrivate *d_ptr;
  148. Q_DECLARE_PRIVATE(QtDoubleSpinBoxFactory)
  149. Q_DISABLE_COPY(QtDoubleSpinBoxFactory)
  150. Q_PRIVATE_SLOT(d_func(), void slotPropertyChanged(QtProperty *, double))
  151. Q_PRIVATE_SLOT(d_func(), void slotRangeChanged(QtProperty *, double, double))
  152. Q_PRIVATE_SLOT(d_func(), void slotSingleStepChanged(QtProperty *, double))
  153. Q_PRIVATE_SLOT(d_func(), void slotDecimalsChanged(QtProperty *, int))
  154. Q_PRIVATE_SLOT(d_func(), void slotReadOnlyChanged(QtProperty *, bool))
  155. Q_PRIVATE_SLOT(d_func(), void slotSetValue(double))
  156. Q_PRIVATE_SLOT(d_func(), void slotEditorDestroyed(QObject *))
  157. };
  158. class QtLineEditFactoryPrivate;
  159. class QT_QTPROPERTYBROWSER_EXPORT QtLineEditFactory : public QtAbstractEditorFactory<QtStringPropertyManager>
  160. {
  161. Q_OBJECT
  162. public:
  163. QtLineEditFactory(QObject *parent = 0);
  164. ~QtLineEditFactory();
  165. protected:
  166. void connectPropertyManager(QtStringPropertyManager *manager);
  167. QWidget *createEditor(QtStringPropertyManager *manager, QtProperty *property,
  168. QWidget *parent);
  169. void disconnectPropertyManager(QtStringPropertyManager *manager);
  170. private:
  171. QtLineEditFactoryPrivate *d_ptr;
  172. Q_DECLARE_PRIVATE(QtLineEditFactory)
  173. Q_DISABLE_COPY(QtLineEditFactory)
  174. Q_PRIVATE_SLOT(d_func(), void slotPropertyChanged(QtProperty *, const QString &))
  175. Q_PRIVATE_SLOT(d_func(), void slotRegExpChanged(QtProperty *, const QRegExp &))
  176. Q_PRIVATE_SLOT(d_func(), void slotEchoModeChanged(QtProperty *, int))
  177. Q_PRIVATE_SLOT(d_func(), void slotReadOnlyChanged(QtProperty *, bool))
  178. Q_PRIVATE_SLOT(d_func(), void slotSetValue(const QString &))
  179. Q_PRIVATE_SLOT(d_func(), void slotEditorDestroyed(QObject *))
  180. };
  181. class QtDateEditFactoryPrivate;
  182. class QT_QTPROPERTYBROWSER_EXPORT QtDateEditFactory : public QtAbstractEditorFactory<QtDatePropertyManager>
  183. {
  184. Q_OBJECT
  185. public:
  186. QtDateEditFactory(QObject *parent = 0);
  187. ~QtDateEditFactory();
  188. protected:
  189. void connectPropertyManager(QtDatePropertyManager *manager);
  190. QWidget *createEditor(QtDatePropertyManager *manager, QtProperty *property,
  191. QWidget *parent);
  192. void disconnectPropertyManager(QtDatePropertyManager *manager);
  193. private:
  194. QtDateEditFactoryPrivate *d_ptr;
  195. Q_DECLARE_PRIVATE(QtDateEditFactory)
  196. Q_DISABLE_COPY(QtDateEditFactory)
  197. Q_PRIVATE_SLOT(d_func(), void slotPropertyChanged(QtProperty *, const QDate &))
  198. Q_PRIVATE_SLOT(d_func(), void slotRangeChanged(QtProperty *,
  199. const QDate &, const QDate &))
  200. Q_PRIVATE_SLOT(d_func(), void slotSetValue(const QDate &))
  201. Q_PRIVATE_SLOT(d_func(), void slotEditorDestroyed(QObject *))
  202. };
  203. class QtTimeEditFactoryPrivate;
  204. class QT_QTPROPERTYBROWSER_EXPORT QtTimeEditFactory : public QtAbstractEditorFactory<QtTimePropertyManager>
  205. {
  206. Q_OBJECT
  207. public:
  208. QtTimeEditFactory(QObject *parent = 0);
  209. ~QtTimeEditFactory();
  210. protected:
  211. void connectPropertyManager(QtTimePropertyManager *manager);
  212. QWidget *createEditor(QtTimePropertyManager *manager, QtProperty *property,
  213. QWidget *parent);
  214. void disconnectPropertyManager(QtTimePropertyManager *manager);
  215. private:
  216. QtTimeEditFactoryPrivate *d_ptr;
  217. Q_DECLARE_PRIVATE(QtTimeEditFactory)
  218. Q_DISABLE_COPY(QtTimeEditFactory)
  219. Q_PRIVATE_SLOT(d_func(), void slotPropertyChanged(QtProperty *, const QTime &))
  220. Q_PRIVATE_SLOT(d_func(), void slotSetValue(const QTime &))
  221. Q_PRIVATE_SLOT(d_func(), void slotEditorDestroyed(QObject *))
  222. };
  223. class QtDateTimeEditFactoryPrivate;
  224. class QT_QTPROPERTYBROWSER_EXPORT QtDateTimeEditFactory : public QtAbstractEditorFactory<QtDateTimePropertyManager>
  225. {
  226. Q_OBJECT
  227. public:
  228. QtDateTimeEditFactory(QObject *parent = 0);
  229. ~QtDateTimeEditFactory();
  230. protected:
  231. void connectPropertyManager(QtDateTimePropertyManager *manager);
  232. QWidget *createEditor(QtDateTimePropertyManager *manager, QtProperty *property,
  233. QWidget *parent);
  234. void disconnectPropertyManager(QtDateTimePropertyManager *manager);
  235. private:
  236. QtDateTimeEditFactoryPrivate *d_ptr;
  237. Q_DECLARE_PRIVATE(QtDateTimeEditFactory)
  238. Q_DISABLE_COPY(QtDateTimeEditFactory)
  239. Q_PRIVATE_SLOT(d_func(), void slotPropertyChanged(QtProperty *, const QDateTime &))
  240. Q_PRIVATE_SLOT(d_func(), void slotSetValue(const QDateTime &))
  241. Q_PRIVATE_SLOT(d_func(), void slotEditorDestroyed(QObject *))
  242. };
  243. class QtKeySequenceEditorFactoryPrivate;
  244. class QT_QTPROPERTYBROWSER_EXPORT QtKeySequenceEditorFactory : public QtAbstractEditorFactory<QtKeySequencePropertyManager>
  245. {
  246. Q_OBJECT
  247. public:
  248. QtKeySequenceEditorFactory(QObject *parent = 0);
  249. ~QtKeySequenceEditorFactory();
  250. protected:
  251. void connectPropertyManager(QtKeySequencePropertyManager *manager);
  252. QWidget *createEditor(QtKeySequencePropertyManager *manager, QtProperty *property,
  253. QWidget *parent);
  254. void disconnectPropertyManager(QtKeySequencePropertyManager *manager);
  255. private:
  256. QtKeySequenceEditorFactoryPrivate *d_ptr;
  257. Q_DECLARE_PRIVATE(QtKeySequenceEditorFactory)
  258. Q_DISABLE_COPY(QtKeySequenceEditorFactory)
  259. Q_PRIVATE_SLOT(d_func(), void slotPropertyChanged(QtProperty *, const QKeySequence &))
  260. Q_PRIVATE_SLOT(d_func(), void slotSetValue(const QKeySequence &))
  261. Q_PRIVATE_SLOT(d_func(), void slotEditorDestroyed(QObject *))
  262. };
  263. class QtCharEditorFactoryPrivate;
  264. class QT_QTPROPERTYBROWSER_EXPORT QtCharEditorFactory : public QtAbstractEditorFactory<QtCharPropertyManager>
  265. {
  266. Q_OBJECT
  267. public:
  268. QtCharEditorFactory(QObject *parent = 0);
  269. ~QtCharEditorFactory();
  270. protected:
  271. void connectPropertyManager(QtCharPropertyManager *manager);
  272. QWidget *createEditor(QtCharPropertyManager *manager, QtProperty *property,
  273. QWidget *parent);
  274. void disconnectPropertyManager(QtCharPropertyManager *manager);
  275. private:
  276. QtCharEditorFactoryPrivate *d_ptr;
  277. Q_DECLARE_PRIVATE(QtCharEditorFactory)
  278. Q_DISABLE_COPY(QtCharEditorFactory)
  279. Q_PRIVATE_SLOT(d_func(), void slotPropertyChanged(QtProperty *, const QChar &))
  280. Q_PRIVATE_SLOT(d_func(), void slotSetValue(const QChar &))
  281. Q_PRIVATE_SLOT(d_func(), void slotEditorDestroyed(QObject *))
  282. };
  283. class QtEnumEditorFactoryPrivate;
  284. class QT_QTPROPERTYBROWSER_EXPORT QtEnumEditorFactory : public QtAbstractEditorFactory<QtEnumPropertyManager>
  285. {
  286. Q_OBJECT
  287. public:
  288. QtEnumEditorFactory(QObject *parent = 0);
  289. ~QtEnumEditorFactory();
  290. protected:
  291. void connectPropertyManager(QtEnumPropertyManager *manager);
  292. QWidget *createEditor(QtEnumPropertyManager *manager, QtProperty *property,
  293. QWidget *parent);
  294. void disconnectPropertyManager(QtEnumPropertyManager *manager);
  295. private:
  296. QtEnumEditorFactoryPrivate *d_ptr;
  297. Q_DECLARE_PRIVATE(QtEnumEditorFactory)
  298. Q_DISABLE_COPY(QtEnumEditorFactory)
  299. Q_PRIVATE_SLOT(d_func(), void slotPropertyChanged(QtProperty *, int))
  300. Q_PRIVATE_SLOT(d_func(), void slotEnumNamesChanged(QtProperty *,
  301. const QStringList &))
  302. Q_PRIVATE_SLOT(d_func(), void slotEnumIconsChanged(QtProperty *,
  303. const QMap<int, QIcon> &))
  304. Q_PRIVATE_SLOT(d_func(), void slotSetValue(int))
  305. Q_PRIVATE_SLOT(d_func(), void slotEditorDestroyed(QObject *))
  306. };
  307. class QtCursorEditorFactoryPrivate;
  308. class QT_QTPROPERTYBROWSER_EXPORT QtCursorEditorFactory : public QtAbstractEditorFactory<QtCursorPropertyManager>
  309. {
  310. Q_OBJECT
  311. public:
  312. QtCursorEditorFactory(QObject *parent = 0);
  313. ~QtCursorEditorFactory();
  314. protected:
  315. void connectPropertyManager(QtCursorPropertyManager *manager);
  316. QWidget *createEditor(QtCursorPropertyManager *manager, QtProperty *property,
  317. QWidget *parent);
  318. void disconnectPropertyManager(QtCursorPropertyManager *manager);
  319. private:
  320. QtCursorEditorFactoryPrivate *d_ptr;
  321. Q_DECLARE_PRIVATE(QtCursorEditorFactory)
  322. Q_DISABLE_COPY(QtCursorEditorFactory)
  323. Q_PRIVATE_SLOT(d_func(), void slotPropertyChanged(QtProperty *, const QCursor &))
  324. Q_PRIVATE_SLOT(d_func(), void slotEnumChanged(QtProperty *, int))
  325. Q_PRIVATE_SLOT(d_func(), void slotEditorDestroyed(QObject *))
  326. };
  327. class QtColorEditorFactoryPrivate;
  328. class QT_QTPROPERTYBROWSER_EXPORT QtColorEditorFactory : public QtAbstractEditorFactory<QtColorPropertyManager>
  329. {
  330. Q_OBJECT
  331. public:
  332. QtColorEditorFactory(QObject *parent = 0);
  333. ~QtColorEditorFactory();
  334. protected:
  335. void connectPropertyManager(QtColorPropertyManager *manager);
  336. QWidget *createEditor(QtColorPropertyManager *manager, QtProperty *property,
  337. QWidget *parent);
  338. void disconnectPropertyManager(QtColorPropertyManager *manager);
  339. private:
  340. QtColorEditorFactoryPrivate *d_ptr;
  341. Q_DECLARE_PRIVATE(QtColorEditorFactory)
  342. Q_DISABLE_COPY(QtColorEditorFactory)
  343. Q_PRIVATE_SLOT(d_func(), void slotPropertyChanged(QtProperty *, const QColor &))
  344. Q_PRIVATE_SLOT(d_func(), void slotEditorDestroyed(QObject *))
  345. Q_PRIVATE_SLOT(d_func(), void slotSetValue(const QColor &))
  346. };
  347. class QtFontEditorFactoryPrivate;
  348. class QT_QTPROPERTYBROWSER_EXPORT QtFontEditorFactory : public QtAbstractEditorFactory<QtFontPropertyManager>
  349. {
  350. Q_OBJECT
  351. public:
  352. QtFontEditorFactory(QObject *parent = 0);
  353. ~QtFontEditorFactory();
  354. protected:
  355. void connectPropertyManager(QtFontPropertyManager *manager);
  356. QWidget *createEditor(QtFontPropertyManager *manager, QtProperty *property,
  357. QWidget *parent);
  358. void disconnectPropertyManager(QtFontPropertyManager *manager);
  359. private:
  360. QtFontEditorFactoryPrivate *d_ptr;
  361. Q_DECLARE_PRIVATE(QtFontEditorFactory)
  362. Q_DISABLE_COPY(QtFontEditorFactory)
  363. Q_PRIVATE_SLOT(d_func(), void slotPropertyChanged(QtProperty *, const QFont &))
  364. Q_PRIVATE_SLOT(d_func(), void slotEditorDestroyed(QObject *))
  365. Q_PRIVATE_SLOT(d_func(), void slotSetValue(const QFont &))
  366. };
  367. #if QT_VERSION >= 0x040400
  368. QT_END_NAMESPACE
  369. #endif
  370. #endif