Parcourir la source

Add Qt Designer plugin for ctkCheckablePushButtonPlugin

Julien Finet il y a 13 ans
Parent
commit
27433e9c4b

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

@@ -18,6 +18,8 @@ SET(PLUGIN_SRCS
   ctkAxesWidgetPlugin.h
   ctkCheckableComboBoxPlugin.cpp
   ctkCheckableComboBoxPlugin.h
+  ctkCheckablePushButtonPlugin.cpp
+  ctkCheckablePushButtonPlugin.h
   ctkCheckBoxPlugin.cpp
   ctkCheckBoxPlugin.h
   ctkCollapsibleButtonPlugin.cpp
@@ -93,6 +95,7 @@ SET(PLUGIN_MOC_SRCS
   ctkActionsWidgetPlugin.h
   ctkAxesWidgetPlugin.h
   ctkCheckableComboBoxPlugin.h
+  ctkCheckablePushButtonPlugin.h
   ctkCheckBoxPlugin.h
   ctkCollapsibleButtonPlugin.h
   ctkCollapsibleGroupBoxPlugin.h

+ 69 - 0
Libs/Widgets/Plugins/ctkCheckablePushButtonPlugin.cpp

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

+ 45 - 0
Libs/Widgets/Plugins/ctkCheckablePushButtonPlugin.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 __ctkCheckablePushButtonPlugin_h
+#define __ctkCheckablePushButtonPlugin_h
+
+// CTK includes
+#include "ctkWidgetsAbstractPlugin.h"
+
+class CTK_WIDGETS_PLUGINS_EXPORT ctkCheckablePushButtonPlugin
+  : public QObject
+  , public ctkWidgetsAbstractPlugin
+{
+  Q_OBJECT
+
+public:
+  ctkCheckablePushButtonPlugin(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

@@ -29,6 +29,7 @@
 #include "ctkActionsWidgetPlugin.h"
 #include "ctkAxesWidgetPlugin.h"
 #include "ctkCheckableComboBoxPlugin.h"
+#include "ctkCheckablePushButtonPlugin.h"
 #include "ctkCollapsibleButtonPlugin.h"
 #include "ctkCollapsibleGroupBoxPlugin.h"
 #include "ctkColorPickerButtonPlugin.h"
@@ -74,6 +75,7 @@ public:
     plugins << new ctkActionsWidgetPlugin
             << new ctkAxesWidgetPlugin
             << new ctkCheckableComboBoxPlugin
+            << new ctkCheckablePushButtonPlugin
             << new ctkCollapsibleButtonPlugin
             << new ctkCollapsibleGroupBoxPlugin
             << new ctkColorPickerButtonPlugin