Ver código fonte

Add Qt designer plugin for ctkThumbnailWidget

Julien Finet 13 anos atrás
pai
commit
19115f9d49

+ 3 - 0
Libs/Widgets/Plugins/CMakeLists.txt

@@ -62,6 +62,8 @@ SET(PLUGIN_SRCS
   ctkRangeSliderPlugin.h
   ctkRangeWidgetPlugin.cpp
   ctkRangeWidgetPlugin.h
+  ctkThumbnailWidgetPlugin.cpp
+  ctkThumbnailWidgetPlugin.h
   ctkTransferFunctionViewPlugin.cpp
   ctkTransferFunctionViewPlugin.h
   ctkTreeComboBoxPlugin.cpp
@@ -109,6 +111,7 @@ SET(PLUGIN_MOC_SRCS
   ctkPopupWidgetPlugin.h
   ctkRangeSliderPlugin.h
   ctkRangeWidgetPlugin.h
+  ctkThumbnailWidgetPlugin.h
   ctkTransferFunctionViewPlugin.h
   ctkTreeComboBoxPlugin.h
   ctkSearchBoxPlugin.h

+ 67 - 0
Libs/Widgets/Plugins/ctkThumbnailWidgetPlugin.cpp

@@ -0,0 +1,67 @@
+/*=========================================================================
+
+  Library:   CTK
+
+  Copyright (c) Kitware Inc.
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0.txt
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+=========================================================================*/
+
+// CTK includes
+#include "ctkThumbnailWidgetPlugin.h"
+#include "ctkThumbnailWidget.h"
+
+//-----------------------------------------------------------------------------
+ctkThumbnailWidgetPlugin::ctkThumbnailWidgetPlugin(QObject* parentObject)
+  : QObject(parentObject)
+{
+}
+
+//-----------------------------------------------------------------------------
+QWidget *ctkThumbnailWidgetPlugin::createWidget(QWidget* parentWidget)
+{
+  ctkThumbnailWidget* newWidget = new ctkThumbnailWidget(parentWidget);
+  return newWidget;
+}
+
+//-----------------------------------------------------------------------------
+QString ctkThumbnailWidgetPlugin::domXml() const
+{
+  return "<widget class=\"ctkThumbnailWidget\" name=\"ThumbnailWidget\">\n"
+          "</widget>\n";
+}
+
+// --------------------------------------------------------------------------
+QIcon ctkThumbnailWidgetPlugin::icon() const
+{
+  return QIcon(":/Icons/widget.png");
+}
+
+//-----------------------------------------------------------------------------
+QString ctkThumbnailWidgetPlugin::includeFile() const
+{
+  return "ctkThumbnailWidget.h";
+}
+
+//-----------------------------------------------------------------------------
+bool ctkThumbnailWidgetPlugin::isContainer() const
+{
+  return false;
+}
+
+//-----------------------------------------------------------------------------
+QString ctkThumbnailWidgetPlugin::name() const
+{
+  return "ctkThumbnailWidget";
+}

+ 45 - 0
Libs/Widgets/Plugins/ctkThumbnailWidgetPlugin.h

@@ -0,0 +1,45 @@
+/*=========================================================================
+
+  Library:   CTK
+
+  Copyright (c) Kitware Inc.
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0.txt
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+=========================================================================*/
+
+#ifndef __ctkThumbnailWidgetPlugin_h
+#define __ctkThumbnailWidgetPlugin_h
+
+// CTK includes
+#include "ctkWidgetsAbstractPlugin.h"
+
+class CTK_WIDGETS_PLUGINS_EXPORT ctkThumbnailWidgetPlugin :
+  public QObject,
+  public ctkWidgetsAbstractPlugin
+{
+  Q_OBJECT
+
+public:
+  ctkThumbnailWidgetPlugin(QObject *_parent = 0);
+
+  QWidget *createWidget(QWidget *_parent);
+  QString  domXml() const;
+  QIcon    icon() const;
+  QString  includeFile() const;
+  bool     isContainer() const;
+  QString  name() const;
+
+};
+
+#endif

+ 2 - 0
Libs/Widgets/Plugins/ctkWidgetsPlugins.h

@@ -54,6 +54,7 @@
 #include "ctkSettingsPanelPlugin.h"
 #include "ctkSettingsDialogPlugin.h"
 #include "ctkSliderWidgetPlugin.h"
+#include "ctkThumbnailWidgetPlugin.h"
 #include "ctkTransferFunctionViewPlugin.h"
 #include "ctkTreeComboBoxPlugin.h"
 #include "ctkWorkflowButtonBoxWidgetPlugin.h"
@@ -98,6 +99,7 @@ public:
             << new ctkSettingsPanelPlugin
             << new ctkSettingsDialogPlugin
             << new ctkSliderWidgetPlugin
+            << new ctkThumbnailWidgetPlugin
             << new ctkTransferFunctionViewPlugin
             << new ctkTreeComboBoxPlugin
             << new ctkWorkflowButtonBoxWidgetPlugin