浏览代码

Created QtDesigner plugin for ctkDICOMTableManager

Andreas Fetzer 11 年之前
父节点
当前提交
b09eb3d07d

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

@@ -16,6 +16,8 @@ set(PLUGIN_SRCS
   ctkDICOMQueryRetrieveWidgetPlugin.cpp
   ctkDICOMQueryRetrieveWidgetPlugin.cpp
   ctkDICOMQueryRetrieveWidgetPlugin.h
   ctkDICOMQueryRetrieveWidgetPlugin.h
 
 
+  ctkDICOMTableManagerPlugin.cpp
+  ctkDICOMTableManagerPlugin.h
   ctkDICOMTableViewPlugin.cpp
   ctkDICOMTableViewPlugin.cpp
   ctkDICOMTableViewPlugin.h
   ctkDICOMTableViewPlugin.h
   )
   )
@@ -25,6 +27,7 @@ set(PLUGIN_MOC_SRCS
   ctkDICOMWidgetsPlugins.h
   ctkDICOMWidgetsPlugins.h
 
 
   ctkDICOMQueryRetrieveWidgetPlugin.h
   ctkDICOMQueryRetrieveWidgetPlugin.h
+  ctkDICOMTableManagerPlugin.h
   ctkDICOMTableViewPlugin.h
   ctkDICOMTableViewPlugin.h
   )
   )
 
 

+ 68 - 0
Libs/DICOM/Widgets/Plugins/ctkDICOMTableManagerPlugin.cpp

@@ -0,0 +1,68 @@
+/*=========================================================================
+
+  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 "ctkDICOMTableManagerPlugin.h"
+#include "ctkDICOMTableManager.h"
+
+//-----------------------------------------------------------------------------
+ctkDICOMTableManagerPlugin::ctkDICOMTableManagerPlugin(QObject* pluginParent)
+  : QObject(pluginParent)
+{
+}
+
+//-----------------------------------------------------------------------------
+QWidget *ctkDICOMTableManagerPlugin::createWidget(QWidget *parentForWidget)
+{
+  ctkDICOMTableManager* newWidget = new ctkDICOMTableManager(parentForWidget);
+  return newWidget;
+}
+
+//-----------------------------------------------------------------------------
+QString ctkDICOMTableManagerPlugin::domXml() const
+{
+  return "<widget class=\"ctkDICOMTableManager\" \
+          name=\"DICOMTableManager\">\n"
+          "</widget>\n";
+}
+
+// --------------------------------------------------------------------------
+QIcon ctkDICOMTableManagerPlugin::icon() const
+{
+  return QIcon(":/Icons/listview.png");
+}
+
+//-----------------------------------------------------------------------------
+QString ctkDICOMTableManagerPlugin::includeFile() const
+{
+  return "ctkDICOMTableManager.h";
+}
+
+//-----------------------------------------------------------------------------
+bool ctkDICOMTableManagerPlugin::isContainer() const
+{
+  return false;
+}
+
+//-----------------------------------------------------------------------------
+QString ctkDICOMTableManagerPlugin::name() const
+{
+  return "ctkDICOMTableManager";
+}

+ 45 - 0
Libs/DICOM/Widgets/Plugins/ctkDICOMTableManagerPlugin.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 __ctkDICOMTableManagerPlugin_h
+#define __ctkDICOMTableManagerPlugin_h
+
+// CTK include
+#include "ctkDICOMWidgetsAbstractPlugin.h"
+
+class CTK_DICOM_WIDGETS_PLUGINS_EXPORT ctkDICOMTableManagerPlugin
+  : public QObject
+  , public ctkDICOMWidgetsAbstractPlugin
+{
+  Q_OBJECT
+
+public:
+  ctkDICOMTableManagerPlugin(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/DICOM/Widgets/Plugins/ctkDICOMWidgetsPlugins.h

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