summaryrefslogtreecommitdiffstats
path: root/sigencore/plugins
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2009-03-20 19:28:09 -0400
committerBen Boeckel <MathStuf@gmail.com>2009-03-20 19:28:46 -0400
commita70ac5cdfeb6bc68ff1fd92125f7c6a72dcec6ee (patch)
treea428a9d549165451efc2f283fd7cd7f62f6b2a6f /sigencore/plugins
parent2694bd7a800ed2940d81f7b600cc31b69980a621 (diff)
downloadsigen-a70ac5cdfeb6bc68ff1fd92125f7c6a72dcec6ee.tar.gz
sigen-a70ac5cdfeb6bc68ff1fd92125f7c6a72dcec6ee.tar.xz
sigen-a70ac5cdfeb6bc68ff1fd92125f7c6a72dcec6ee.zip
Add a canvas plugin
Diffstat (limited to 'sigencore/plugins')
-rw-r--r--sigencore/plugins/CMakeLists.txt1
-rw-r--r--sigencore/plugins/canvases/CMakeLists.txt35
-rw-r--r--sigencore/plugins/canvases/SigenCanvases.cpp76
-rw-r--r--sigencore/plugins/canvases/SigenCanvases.h41
-rw-r--r--sigencore/plugins/canvases/sigen_canvases.desktop15
5 files changed, 168 insertions, 0 deletions
diff --git a/sigencore/plugins/CMakeLists.txt b/sigencore/plugins/CMakeLists.txt
index 0069f811..32421746 100644
--- a/sigencore/plugins/CMakeLists.txt
+++ b/sigencore/plugins/CMakeLists.txt
@@ -33,6 +33,7 @@ target_link_libraries(sigencoreplugins LINK_INTERFACE_LIBRARIES
)
add_subdirectory(arenas)
+add_subdirectory(canvases)
install(
TARGETS
diff --git a/sigencore/plugins/canvases/CMakeLists.txt b/sigencore/plugins/canvases/CMakeLists.txt
new file mode 100644
index 00000000..db7e0f76
--- /dev/null
+++ b/sigencore/plugins/canvases/CMakeLists.txt
@@ -0,0 +1,35 @@
+project(sigencanvases)
+
+set(sigencanvases_SRCS
+ SigenCanvases.cpp
+)
+set(sigencanvases_SERVICES
+ sigen_canvases.desktop
+)
+
+kde4_add_plugin(canvas_sigen
+ ${sigencanvases_SRCS}
+)
+target_link_libraries(canvas_sigen
+ ${QT_QTCORE_LIBRARY}
+ ${KDE4_KROSSCORE_LIBRARY}
+ sigencoreplugins
+)
+
+install(
+ TARGETS
+ canvas_sigen
+ DESTINATION
+ ${PLUGIN_INSTALL_DIR}/plugins/sigen
+ COMPONENT
+ plugins
+)
+
+install(
+ FILES
+ ${sigencanvases_SERVICES}
+ DESTINATION
+ ${SERVICES_INSTALL_DIR}
+ COMPONENT
+ plugins
+)
diff --git a/sigencore/plugins/canvases/SigenCanvases.cpp b/sigencore/plugins/canvases/SigenCanvases.cpp
new file mode 100644
index 00000000..043449a5
--- /dev/null
+++ b/sigencore/plugins/canvases/SigenCanvases.cpp
@@ -0,0 +1,76 @@
+/*
+ * Copyright 2009 Ben Boeckel <MathStuf@gmail.com>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+// Header include
+#include "SigenCanvases.h"
+
+// Canvas includes
+// #include "/Canvas.h"
+
+// Sigencore includes
+#include <sigencore/Canvas.h>
+
+SIGEN_CANVAS_PLUGIN(SigenCanvases, "sigen_canvases")
+
+using namespace Sigencore;
+using namespace Sigencore::Interfaces;
+
+SigenCanvases::SigenCanvases(QObject* parent, const QVariantList& args) :
+ CanvasPlugin(parent, args)
+{
+}
+
+SigenCanvases::~SigenCanvases()
+{
+}
+
+QStringList SigenCanvases::canvases() const
+{
+ // TODO
+ return QStringList();
+}
+
+QString SigenCanvases::description(const QString& name) const
+{
+// if (name == Canvas::name())
+// return Canvas::description();
+ return "(Unknown canvas)";
+}
+
+QIcon SigenCanvases::icon(const QString& name)
+{
+// if (name == Canvas::name())
+// return Canvas::icon();
+ return QIcon();
+}
+
+Canvas* SigenCanvases::createCanvas(const QString& name, Config* parent)
+{
+// if (name == Canvas::name())
+// return new Canvas(parent);
+ return NULL;
+}
+
+void SigenCanvases::cleanupCanvas(Canvas* canvas)
+{
+// Canvas* Canvas = qobject_cast<Canvas*>(canvas);
+// if (Canvas)
+// {
+// delete Canvas;
+// return;
+// }
+}
diff --git a/sigencore/plugins/canvases/SigenCanvases.h b/sigencore/plugins/canvases/SigenCanvases.h
new file mode 100644
index 00000000..00d4e2ff
--- /dev/null
+++ b/sigencore/plugins/canvases/SigenCanvases.h
@@ -0,0 +1,41 @@
+/*
+ * Copyright 2009 Ben Boeckel <MathStuf@gmail.com>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef SIGENCANVASES_SIGENCANVASES
+#define SIGENCANVASES_SIGENCANVASES
+
+// Sigencore plugin includes
+#include <sigencore/plugins/CanvasPlugin.h>
+
+class SigenCanvases : public Sigencore::Interfaces::CanvasPlugin
+{
+ Q_OBJECT
+
+ public:
+ SigenCanvases(QObject* parent, const QVariantList& args);
+ ~SigenCanvases();
+
+ QStringList canvases() const;
+ QString description(const QString& name) const;
+ QIcon icon(const QString& name);
+ protected:
+ Sigencore::Canvas* createCanvas(const QString& name, Sigscript::Config* parent);
+ protected slots:
+ void cleanupCanvas(Sigencore::Canvas* canvas);
+};
+
+#endif
diff --git a/sigencore/plugins/canvases/sigen_canvases.desktop b/sigencore/plugins/canvases/sigen_canvases.desktop
new file mode 100644
index 00000000..4586c545
--- /dev/null
+++ b/sigencore/plugins/canvases/sigen_canvases.desktop
@@ -0,0 +1,15 @@
+[Desktop Entry]
+Type=Service
+X-KDE-ServiceTypes=Sigen/Canvas
+Icon=sigen-canvasplugin
+Name=Sigen Canvases
+X-KDE-Library=canvas_sigen
+X-KDE-PluginInfo-Author=Ben Boeckel
+X-KDE-PluginInfo-Email=MathStuf@gmail.com
+X-KDE-PluginInfo-Name=sigen_canvas
+X-KDE-PluginInfo-Version=0.1.1
+X-KDE-PluginInfo-Website=
+X-KDE-PluginInfo-Category=canvas
+X-KDE-PluginInfo-Depends=
+X-KDE-PluginInfo-License=GPLv3
+X-KDE-PluginInfo-EnabledByDefault=true