Procházet zdrojové kódy

ENH: Added ctkVTKSliceView Qt designer plugin

Jean-Christophe Fillion-Robin před 15 roky
rodič
revize
b4b70624f0

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

@@ -15,6 +15,8 @@ SET(PLUGIN_SRCS
 
   ctkVTKRenderViewPlugin.cpp
   ctkVTKRenderViewPlugin.h
+  ctkVTKSliceViewPlugin.cpp
+  ctkVTKSliceViewPlugin.h
   )
 
 # Headers that should run through moc
@@ -22,6 +24,7 @@ SET(PLUGIN_MOC_SRCS
   ctkVTKWidgetsPlugins.h
 
   ctkVTKRenderViewPlugin.h
+  ctkVTKSliceViewPlugin.h
   )
 
 # Resources

+ 69 - 0
Libs/Visualization/VTK/Widgets/Plugins/ctkVTKSliceViewPlugin.cpp

@@ -0,0 +1,69 @@
+/*=========================================================================
+
+  Library:   CTK
+ 
+  Copyright (c) 2010  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.commontk.org/LICENSE
+
+  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 "ctkVTKSliceViewPlugin.h"
+#include "ctkVTKSliceView.h"
+
+//-----------------------------------------------------------------------------
+ctkVTKSliceViewPlugin::ctkVTKSliceViewPlugin(QObject *_parent):QObject(_parent)
+{
+}
+
+//-----------------------------------------------------------------------------
+QWidget *ctkVTKSliceViewPlugin::createWidget(QWidget *_parent)
+{
+  ctkVTKSliceView* _widget = new ctkVTKSliceView(_parent);
+  return _widget;
+}
+
+//-----------------------------------------------------------------------------
+QString ctkVTKSliceViewPlugin::domXml() const
+{
+  return "<widget class=\"ctkVTKSliceView\" \
+          name=\"VTKRenderView\">\n"
+          " <property name=\"geometry\">\n"
+          "  <rect>\n"
+          "   <x>0</x>\n"
+          "   <y>0</y>\n"
+          "   <width>200</width>\n"
+          "   <height>200</height>\n"
+          "  </rect>\n"
+          " </property>\n"
+          "</widget>\n";
+}
+
+//-----------------------------------------------------------------------------
+QString ctkVTKSliceViewPlugin::includeFile() const
+{
+  return "ctkVTKSliceView.h";
+}
+
+//-----------------------------------------------------------------------------
+bool ctkVTKSliceViewPlugin::isContainer() const
+{
+  return false;
+}
+
+//-----------------------------------------------------------------------------
+QString ctkVTKSliceViewPlugin::name() const
+{
+  return "ctkVTKSliceView";
+}

+ 44 - 0
Libs/Visualization/VTK/Widgets/Plugins/ctkVTKSliceViewPlugin.h

@@ -0,0 +1,44 @@
+/*=========================================================================
+
+  Library:   CTK
+ 
+  Copyright (c) 2010  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.commontk.org/LICENSE
+
+  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 __ctkVTKSliceViewPlugin_h
+#define __ctkVTKSliceViewPlugin_h
+
+// CTK includes
+#include "ctkVTKWidgetsAbstractPlugin.h"
+
+class CTK_VISUALIZATION_VTK_WIDGETS_PLUGINS_EXPORT ctkVTKSliceViewPlugin :
+  public QObject,
+  public ctkVTKWidgetsAbstractPlugin
+{
+  Q_OBJECT
+
+public:
+  ctkVTKSliceViewPlugin(QObject *_parent = 0);
+  
+  QWidget *createWidget(QWidget *_parent);
+  QString domXml() const;
+  QString includeFile() const;
+  bool isContainer() const;
+  QString name() const;
+  
+};
+
+#endif

+ 2 - 0
Libs/Visualization/VTK/Widgets/Plugins/ctkVTKWidgetsPlugins.h

@@ -27,6 +27,7 @@
 // CTK includes
 #include "CTKVisualizationVTKWidgetsPluginsExport.h"
 #include "ctkVTKRenderViewPlugin.h"
+#include "ctkVTKSliceViewPlugin.h"
 
 
 /// \class Group the plugins in one library
@@ -42,6 +43,7 @@ public:
     {
     QList<QDesignerCustomWidgetInterface *> plugins;
     plugins << new ctkVTKRenderViewPlugin;
+    plugins << new ctkVTKSliceViewPlugin;
     return plugins;
     }
 };