ソースを参照

ENH: Add plugin to ctkTransferFunctionWidget

Julien Finet 15 年 前
コミット
32907595d7

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

@@ -43,6 +43,8 @@ SET(PLUGIN_SRCS
   ctkRangeWidgetPlugin.h
   ctkTitleComboBoxPlugin.cpp
   ctkTitleComboBoxPlugin.h
+  ctkTransferFunctionWidgetPlugin.cpp
+  ctkTransferFunctionWidgetPlugin.h
   ctkTreeComboBoxPlugin.cpp
   ctkTreeComboBoxPlugin.h
   ctkSliderSpinBoxWidgetPlugin.cpp
@@ -68,6 +70,7 @@ SET(PLUGIN_MOC_SRCS
   ctkRangeSliderPlugin.h
   ctkRangeWidgetPlugin.h
   ctkTitleComboBoxPlugin.h
+  ctkTransferFunctionWidgetPlugin.h
   ctkTreeComboBoxPlugin.h
   ctkSliderSpinBoxWidgetPlugin.h
   )

+ 69 - 0
Libs/Widgets/Plugins/ctkTransferFunctionWidgetPlugin.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 "ctkTransferFunctionWidgetPlugin.h"
+#include "ctkTransferFunctionWidget.h"
+
+//-----------------------------------------------------------------------------
+ctkTransferFunctionWidgetPlugin::ctkTransferFunctionWidgetPlugin(QObject *_parent)
+        : QObject(_parent)
+{
+
+}
+
+//-----------------------------------------------------------------------------
+QWidget *ctkTransferFunctionWidgetPlugin::createWidget(QWidget *_parent)
+{
+  ctkTransferFunctionWidget* _widget = new ctkTransferFunctionWidget(_parent);
+  return _widget;
+}
+
+//-----------------------------------------------------------------------------
+QString ctkTransferFunctionWidgetPlugin::domXml() const
+{
+  return "<widget class=\"ctkTransferFunctionWidget\" \
+          name=\"ctkTransferFunctionWidget\">\n"
+          "</widget>\n";
+}
+
+// --------------------------------------------------------------------------
+QIcon ctkTransferFunctionWidgetPlugin::icon() const
+{
+  return QIcon();
+}
+
+//-----------------------------------------------------------------------------
+QString ctkTransferFunctionWidgetPlugin::includeFile() const
+{
+  return "ctkTransferFunctionWidget.h";
+}
+
+//-----------------------------------------------------------------------------
+bool ctkTransferFunctionWidgetPlugin::isContainer() const
+{
+  return false;
+}
+
+//-----------------------------------------------------------------------------
+QString ctkTransferFunctionWidgetPlugin::name() const
+{
+  return "ctkTransferFunctionWidget";
+}

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

@@ -0,0 +1,45 @@
+/*=========================================================================
+
+  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 __ctkTransferFunctionWidgetPlugin_h
+#define __ctkTransferFunctionWidgetPlugin_h
+
+// CTK includes
+#include "ctkWidgetsAbstractPlugin.h"
+
+class CTK_WIDGETS_PLUGINS_EXPORT ctkTransferFunctionWidgetPlugin :
+  public QObject,
+  public ctkWidgetsAbstractPlugin
+{
+  Q_OBJECT
+
+public:
+  ctkTransferFunctionWidgetPlugin(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

@@ -40,6 +40,7 @@
 #include "ctkRangeSliderPlugin.h"
 #include "ctkRangeWidgetPlugin.h"
 #include "ctkTitleComboBoxPlugin.h"
+#include "ctkTransferFunctionWidgetPlugin.h"
 #include "ctkTreeComboBoxPlugin.h"
 #include "ctkSliderSpinBoxWidgetPlugin.h"
 
@@ -68,6 +69,7 @@ public:
             << new ctkRangeSliderPlugin
             << new ctkRangeWidgetPlugin
             << new ctkTitleComboBoxPlugin
+            << new ctkTransferFunctionWidgetPlugin
             << new ctkTreeComboBoxPlugin
             << new ctkSliderSpinBoxWidgetPlugin;
     return plugins;