qteditorfactory.h 15 KB

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