瀏覽代碼

ENH: Add plugin to ctkActionsWidget

Julien Finet 15 年之前
父節點
當前提交
c78a83f29c

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

@@ -13,14 +13,16 @@ SET(PLUGIN_SRCS
   ctkWidgetsAbstractPlugin.cpp
   ctkWidgetsAbstractPlugin.h
 
-  ctkComboBoxPlugin.cpp
-  ctkComboBoxPlugin.h
+  ctkActionsWidgetPlugin.cpp
+  ctkActionsWidgetPlugin.h
   ctkCollapsibleButtonPlugin.cpp
   ctkCollapsibleButtonPlugin.h
   ctkCollapsibleGroupBoxPlugin.cpp
   ctkCollapsibleGroupBoxPlugin.h
   ctkColorPickerButtonPlugin.cpp
   ctkColorPickerButtonPlugin.h
+  ctkComboBoxPlugin.cpp
+  ctkComboBoxPlugin.h
   ctkCoordinatesWidgetPlugin.cpp
   ctkCoordinatesWidgetPlugin.h
   ctkDirectoryButtonPlugin.cpp
@@ -55,10 +57,11 @@ SET(PLUGIN_SRCS
 SET(PLUGIN_MOC_SRCS
   ctkWidgetsPlugins.h
 
-  ctkComboBoxPlugin.h
+  ctkActionsWidgetPlugin.h
   ctkCollapsibleButtonPlugin.h
   ctkCollapsibleGroupBoxPlugin.h
   ctkColorPickerButtonPlugin.h
+  ctkComboBoxPlugin.h
   ctkCoordinatesWidgetPlugin.h
   ctkDirectoryButtonPlugin.h
   ctkDoubleRangeSliderPlugin.h

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

+ 44 - 0
Libs/Widgets/Plugins/ctkActionsWidgetPlugin.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 __ctkActionsWidgetPlugin_h
+#define __ctkActionsWidgetPlugin_h
+
+// CTK includes
+#include "ctkWidgetsAbstractPlugin.h"
+
+class CTK_WIDGETS_PLUGINS_EXPORT ctkActionsWidgetPlugin :
+  public QObject,
+  public ctkWidgetsAbstractPlugin
+{
+  Q_OBJECT
+
+public:
+  ctkActionsWidgetPlugin(QObject *_parent = 0);
+
+  QWidget *createWidget(QWidget *_parent);
+  QString  domXml() const;
+  QIcon    icon() const;
+  QString  includeFile() const;
+  bool     isContainer() const;
+  QString  name() const;
+};
+
+#endif

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

@@ -26,10 +26,11 @@
 
 // CTK includes
 #include "CTKWidgetsPluginsExport.h"
-#include "ctkComboBoxPlugin.h"
+#include "ctkActionsWidgetPlugin.h"
 #include "ctkCollapsibleButtonPlugin.h"
 #include "ctkCollapsibleGroupBoxPlugin.h"
 #include "ctkColorPickerButtonPlugin.h"
+#include "ctkComboBoxPlugin.h"
 #include "ctkCoordinatesWidgetPlugin.h"
 #include "ctkDirectoryButtonPlugin.h"
 #include "ctkDoubleRangeSliderPlugin.h"
@@ -55,10 +56,11 @@ public:
   QList<QDesignerCustomWidgetInterface*> customWidgets() const
     {
     QList<QDesignerCustomWidgetInterface *> plugins;
-    plugins << new ctkComboBoxPlugin
+    plugins << new ctkActionsWidgetPlugin
             << new ctkCollapsibleButtonPlugin
             << new ctkCollapsibleGroupBoxPlugin
             << new ctkColorPickerButtonPlugin
+            << new ctkComboBoxPlugin
             << new ctkCoordinatesWidgetPlugin
             << new ctkDirectoryButtonPlugin
             << new ctkDoubleRangeSliderPlugin