ctkWidgetsPlugins.h 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. /*=========================================================================
  2. Library: CTK
  3. Copyright (c) Kitware Inc.
  4. Licensed under the Apache License, Version 2.0 (the "License");
  5. you may not use this file except in compliance with the License.
  6. You may obtain a copy of the License at
  7. http://www.apache.org/licenses/LICENSE-2.0.txt
  8. Unless required by applicable law or agreed to in writing, software
  9. distributed under the License is distributed on an "AS IS" BASIS,
  10. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  11. See the License for the specific language governing permissions and
  12. limitations under the License.
  13. =========================================================================*/
  14. #ifndef __ctkWidgetsPlugins_h
  15. #define __ctkWidgetsPlugins_h
  16. // Qt includes
  17. #include <QtGlobal>
  18. #ifndef HAVE_QT5
  19. #include <QDesignerCustomWidgetCollectionInterface>
  20. #else
  21. #include <QtUiPlugin/QDesignerCustomWidgetCollectionInterface>
  22. #endif
  23. // CTK includes
  24. #include "ctkWidgetsPluginsExport.h"
  25. #include "ctkActionsWidgetPlugin.h"
  26. #include "ctkAxesWidgetPlugin.h"
  27. #include "ctkCheckableComboBoxPlugin.h"
  28. #include "ctkCheckablePushButtonPlugin.h"
  29. #include "ctkCheckBoxPlugin.h"
  30. #include "ctkCollapsibleButtonPlugin.h"
  31. #include "ctkCollapsibleGroupBoxPlugin.h"
  32. #include "ctkColorPickerButtonPlugin.h"
  33. #include "ctkComboBoxPlugin.h"
  34. #include "ctkCoordinatesWidgetPlugin.h"
  35. #include "ctkCrosshairLabelPlugin.h"
  36. #include "ctkDirectoryButtonPlugin.h"
  37. #include "ctkDoubleRangeSliderPlugin.h"
  38. #include "ctkDoubleSliderPlugin.h"
  39. #include "ctkDoubleSpinBoxPlugin.h"
  40. #include "ctkDynamicSpacerPlugin.h"
  41. #include "ctkExpandButtonPlugin.h"
  42. #include "ctkExpandableWidgetPlugin.h"
  43. #include "ctkFittedTextBrowserPlugin.h"
  44. #include "ctkFontButtonPlugin.h"
  45. #include "ctkMaterialPropertyPreviewLabelPlugin.h"
  46. #include "ctkMaterialPropertyWidgetPlugin.h"
  47. #include "ctkMatrixWidgetPlugin.h"
  48. #include "ctkMenuButtonPlugin.h"
  49. #include "ctkModalityWidgetPlugin.h"
  50. #include "ctkPathLineEditPlugin.h"
  51. #include "ctkPathListButtonsWidgetPlugin.h"
  52. #include "ctkPathListWidgetPlugin.h"
  53. #include "ctkPopupWidgetPlugin.h"
  54. #include "ctkPushButtonPlugin.h"
  55. #include "ctkRangeSliderPlugin.h"
  56. #include "ctkRangeWidgetPlugin.h"
  57. #include "ctkSearchBoxPlugin.h"
  58. #include "ctkSettingsPanelPlugin.h"
  59. #include "ctkSettingsDialogPlugin.h"
  60. #include "ctkSliderWidgetPlugin.h"
  61. #include "ctkThumbnailLabelPlugin.h"
  62. #include "ctkTransferFunctionViewPlugin.h"
  63. #include "ctkTreeComboBoxPlugin.h"
  64. #include "ctkWorkflowButtonBoxWidgetPlugin.h"
  65. #include "ctkWorkflowWidgetStepPlugin.h"
  66. /// \class Group the plugins in one library
  67. class CTK_WIDGETS_PLUGINS_EXPORT ctkWidgetsPlugins
  68. : public QObject
  69. , public QDesignerCustomWidgetCollectionInterface
  70. {
  71. Q_OBJECT
  72. Q_INTERFACES(QDesignerCustomWidgetCollectionInterface)
  73. #ifdef HAVE_QT5
  74. Q_PLUGIN_METADATA(IID "org.commontk.Widgets")
  75. #endif
  76. public:
  77. QList<QDesignerCustomWidgetInterface*> customWidgets() const
  78. {
  79. QList<QDesignerCustomWidgetInterface *> plugins;
  80. plugins << new ctkActionsWidgetPlugin
  81. << new ctkAxesWidgetPlugin
  82. << new ctkCheckableComboBoxPlugin
  83. << new ctkCheckablePushButtonPlugin
  84. << new ctkCheckBoxPlugin
  85. << new ctkCollapsibleButtonPlugin
  86. << new ctkCollapsibleGroupBoxPlugin
  87. << new ctkColorPickerButtonPlugin
  88. << new ctkComboBoxPlugin
  89. << new ctkCoordinatesWidgetPlugin
  90. << new ctkCrosshairLabelPlugin
  91. << new ctkDirectoryButtonPlugin
  92. << new ctkDoubleRangeSliderPlugin
  93. << new ctkDoubleSliderPlugin
  94. << new ctkDoubleSpinBoxPlugin
  95. << new ctkDynamicSpacerPlugin
  96. << new ctkExpandButtonPlugin
  97. << new ctkExpandableWidgetPlugin
  98. << new ctkFittedTextBrowserPlugin
  99. << new ctkFontButtonPlugin
  100. << new ctkMaterialPropertyPreviewLabelPlugin
  101. << new ctkMaterialPropertyWidgetPlugin
  102. << new ctkMatrixWidgetPlugin
  103. << new ctkMenuButtonPlugin
  104. << new ctkModalityWidgetPlugin
  105. << new ctkPathLineEditPlugin
  106. << new ctkPathListButtonsWidgetPlugin
  107. << new ctkPathListWidgetPlugin
  108. << new ctkPopupWidgetPlugin
  109. << new ctkPushButtonPlugin
  110. << new ctkRangeSliderPlugin
  111. << new ctkRangeWidgetPlugin
  112. << new ctkSearchBoxPlugin
  113. << new ctkSettingsPanelPlugin
  114. << new ctkSettingsDialogPlugin
  115. << new ctkSliderWidgetPlugin
  116. << new ctkThumbnailLabelPlugin
  117. << new ctkTransferFunctionViewPlugin
  118. << new ctkTreeComboBoxPlugin
  119. << new ctkWorkflowButtonBoxWidgetPlugin
  120. << new ctkWorkflowWidgetStepPlugin;
  121. return plugins;
  122. }
  123. };
  124. #endif