[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [calligra/krita-scripting-rempt] krita/plugins/extensions/pyqt: Only build the pyqt plugin if python
From: Boudewijn Rempt <boud () valdyas ! org>
Date: 2014-07-28 8:26:48
Message-ID: E1XBgGe-0003jd-Vs () scm ! kde ! org
[Download RAW message or body]
Git commit fe6bc332a586507747fa894e0c2219897f8f758d by Boudewijn Rempt.
Committed on 13/07/2014 at 11:22.
Pushed by rempt into branch 'krita-scripting-rempt'.
Only build the pyqt plugin if python, sip and pyqt are found
M +11 -2 krita/plugins/extensions/pyqt/CMakeLists.txt
M +2 -2 krita/plugins/extensions/pyqt/sip/CMakeLists.txt
R +22 -22 krita/plugins/extensions/pyqt/sip/krita/bak/application.sip [from: \
krita/plugins/extensions/pyqt/sip/krita/application.sip - 057% similarity] R +4 \
-4 krita/plugins/extensions/pyqt/sip/krita/bak/documentmanager.sip [from: \
krita/plugins/extensions/pyqt/sip/krita/documentmanager.sip - 091% similarity] R +12 \
-7 krita/plugins/extensions/pyqt/sip/krita/bak/mainwindow.sip [from: \
krita/plugins/extensions/pyqt/sip/krita/mainwindow.sip - 075% similarity] R +9 -9 \
krita/plugins/extensions/pyqt/sip/krita/bak/plugin.sip [from: \
krita/plugins/extensions/pyqt/sip/krita/plugin.sip - 073% similarity] R +5 -5 \
krita/plugins/extensions/pyqt/sip/krita/bak/pluginconfigpageinterface.sip [from: \
krita/plugins/extensions/pyqt/sip/krita/pluginconfigpageinterface.sip - 087% \
similarity] R +5 -5 \
krita/plugins/extensions/pyqt/sip/krita/bak/pluginmanager.sip [from: \
krita/plugins/extensions/pyqt/sip/krita/pluginmanager.sip - 084% similarity] M +9 \
-16 krita/plugins/extensions/pyqt/sip/krita/kritamod.sip M +1 -0 \
krita/plugins/extensions/pyqt/src/plugins/hello/__init__.py M +3 -3 \
krita/plugins/extensions/pyqt/src/plugins/hello/hello.py
http://commits.kde.org/calligra/fe6bc332a586507747fa894e0c2219897f8f758d
diff --git a/krita/plugins/extensions/pyqt/CMakeLists.txt \
b/krita/plugins/extensions/pyqt/CMakeLists.txt index 8b67475..9d6d96c 100644
--- a/krita/plugins/extensions/pyqt/CMakeLists.txt
+++ b/krita/plugins/extensions/pyqt/CMakeLists.txt
@@ -1,11 +1,18 @@
macro_optional_find_package(PythonLibrary)
macro_log_feature(PYTHON_LIBRARY "PythonLibrary" "Python Library" FALSE "" "Required \
by the Krita PyQt plugin") +macro_bool_to_01(PYTHONLIBS_FOUND HAVE_PYTHONLIBS)
macro_optional_find_package(SIP 4.7.1)
macro_log_feature(SIP_FOUND "SIP" "Support for SIP Python bindings" FALSE "" \
"Required by the Krita PyQt plugin") +macro_bool_to_01(SIP_FOUND HAVE_SIP)
macro_optional_find_package(PyQt4 4.3.1)
macro_log_feature(PYQT4_FOUND "PyQt4" "Python bindings for Qt4" FALSE "" "Required \
by the Krita PyQt plugin") +macro_bool_to_01(PYQT4_FOUND HAVE_PYQT4)
+
+if (HAVE_PYQT4 AND HAVE_SIP AND HAVE_PYTHONLIBS)
+
+message(WARNING "PyQt" ${HAVE_PYQT4} "Sip" ${HAVE_SIP} "Python" ${HAVE_PYTHONLIBS})
if (NOT EXISTS ${PYQT4_SIP_DIR}/QtCore/QtCoremod.sip)
message(WARNING "krita-pyqt plugin needs the PyQt4 development sip file \
QtCoremod.sip") @@ -13,6 +20,8 @@ if (NOT EXISTS \
${PYQT4_SIP_DIR}/QtCore/QtCoremod.sip) endif()
include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${SIP_INCLUDE_DIR} \
${PYTHON_INCLUDE_PATH})
-
-#add_subdirectory(sip)
+
+add_subdirectory(sip)
add_subdirectory(src)
+
+endif (HAVE_PYQT4 AND HAVE_SIP AND HAVE_PYTHONLIBS)
diff --git a/krita/plugins/extensions/pyqt/sip/CMakeLists.txt \
b/krita/plugins/extensions/pyqt/sip/CMakeLists.txt index fbe486e..895aef9 100644
--- a/krita/plugins/extensions/pyqt/sip/CMakeLists.txt
+++ b/krita/plugins/extensions/pyqt/sip/CMakeLists.txt
@@ -1,6 +1,6 @@
include(SIPMacros)
-set(SIP_INCLUDES ${PYQT4_SIP_DIR} ${PYKDE4_SIP_DIR} ./kate)
+set(SIP_INCLUDES ${PYQT4_SIP_DIR} ./krita)
set(SIP_CONCAT_PARTS 1)
set(SIP_TAGS ALL WS_X11 ${PYQT4_VERSION_TAG})
@@ -11,7 +11,7 @@ else (PYQT4_VERSION STRLESS "040905")
set(SIP_EXTRA_OPTIONS -g -x PyKDE_QVector)
endif(PYQT4_VERSION STRLESS "040905")
-add_sip_python_module(PyKrita4.krita ./krita/kritamod.sip komain kritaimage kritaui \
kritalibbrush) +add_sip_python_module(PyKrita4.krita ./krita/kritamod.sip kritaui \
kritaimage kritalibbrush)
install(FILES
./__init__.py
diff --git a/krita/plugins/extensions/pyqt/sip/krita/application.sip \
b/krita/plugins/extensions/pyqt/sip/krita/bak/application.sip similarity index 57%
rename from krita/plugins/extensions/pyqt/sip/krita/application.sip
rename to krita/plugins/extensions/pyqt/sip/krita/bak/application.sip
index db9c96a..232f9c4 100644
--- a/krita/plugins/extensions/pyqt/sip/krita/application.sip
+++ b/krita/plugins/extensions/pyqt/sip/krita/bak/application.sip
@@ -4,7 +4,7 @@
// Generated by preSip
-// PyKDE4 module kate version KDE 3.92.0
+// PyKDE4 module krita version KDE 3.92.0
// This file is part of PyKDE4.
@@ -36,7 +36,7 @@
#include <application.h>
%End
-namespace Kate
+namespace Krita
{
class Application : QObject
@@ -50,31 +50,31 @@ public:
Application (void* /In/);
public:
- Kate::DocumentManager* documentManager ();
- Kate::PluginManager* pluginManager ();
+ Krita::DocumentManager* documentManager ();
+ Krita::PluginManager* pluginManager ();
KTextEditor::Editor* editor ();
- Kate::MainWindow* activeMainWindow ();
- const QList<Kate::MainWindow*>& mainWindows () const;
+ Krita::MainWindow* activeMainWindow ();
+ const QList<Krita::MainWindow*>& mainWindows () const;
// Subclasses for QObject
public:
%ConvertToSubClassCode
- if (dynamic_cast<Kate::Application*>(sipCpp))
- sipClass = sipClass_Kate_Application;
- else if (dynamic_cast<Kate::DocumentManager*>(sipCpp))
- sipClass = sipClass_Kate_DocumentManager;
- else if (dynamic_cast<Kate::MainWindow*>(sipCpp))
- sipClass = sipClass_Kate_MainWindow;
- else if (dynamic_cast<Kate::Plugin*>(sipCpp))
- sipClass = sipClass_Kate_Plugin;
- else if (dynamic_cast<Kate::PluginConfigPage*>(sipCpp))
- sipClass = sipClass_Kate_PluginConfigPage;
- else if (dynamic_cast<Kate::PluginManager*>(sipCpp))
- sipClass = sipClass_Kate_PluginManager;
- else if (dynamic_cast<Kate::PluginView*>(sipCpp))
- sipClass = sipClass_Kate_PluginView;
+ if (dynamic_cast<Krita::Application*>(sipCpp))
+ sipClass = sipClass_Krita_Application;
+ else if (dynamic_cast<Krita::DocumentManager*>(sipCpp))
+ sipClass = sipClass_Krita_DocumentManager;
+ else if (dynamic_cast<Krita::MainWindow*>(sipCpp))
+ sipClass = sipClass_Krita_MainWindow;
+ else if (dynamic_cast<Krita::Plugin*>(sipCpp))
+ sipClass = sipClass_Krita_Plugin;
+ else if (dynamic_cast<Krita::PluginConfigPage*>(sipCpp))
+ sipClass = sipClass_Krita_PluginConfigPage;
+ else if (dynamic_cast<Krita::PluginManager*>(sipCpp))
+ sipClass = sipClass_Krita_PluginManager;
+ else if (dynamic_cast<Krita::PluginView*>(sipCpp))
+ sipClass = sipClass_Krita_PluginView;
else
sipClass = NULL;
%End
@@ -82,6 +82,6 @@ public:
}; // class Application
-Kate::Application* application ();
-}; // namespace Kate
+Krita::Application* application ();
+}; // namespace Krita
diff --git a/krita/plugins/extensions/pyqt/sip/krita/documentmanager.sip \
b/krita/plugins/extensions/pyqt/sip/krita/bak/documentmanager.sip similarity index \
91% rename from krita/plugins/extensions/pyqt/sip/krita/documentmanager.sip
rename to krita/plugins/extensions/pyqt/sip/krita/bak/documentmanager.sip
index b66d9a5..99e0668 100644
--- a/krita/plugins/extensions/pyqt/sip/krita/documentmanager.sip
+++ b/krita/plugins/extensions/pyqt/sip/krita/bak/documentmanager.sip
@@ -4,7 +4,7 @@
// Generated by preSip
-// PyKDE4 module kate version KDE 3.92.0
+// PyKDE4 module krita version KDE 3.92.0
// This file is part of PyKDE4.
@@ -26,7 +26,7 @@
#include <documentmanager.h>
%End
-namespace Kate
+namespace Krita
{
class DocumentManager : QObject
@@ -52,6 +52,6 @@ signals:
}; // class DocumentManager
-Kate::DocumentManager* documentManager ();
-}; // namespace Kate
+Krita::DocumentManager* documentManager ();
+}; // namespace Krita
diff --git a/krita/plugins/extensions/pyqt/sip/krita/mainwindow.sip \
b/krita/plugins/extensions/pyqt/sip/krita/bak/mainwindow.sip similarity index 75%
rename from krita/plugins/extensions/pyqt/sip/krita/mainwindow.sip
rename to krita/plugins/extensions/pyqt/sip/krita/bak/mainwindow.sip
index 55121b5..582cc03 100644
--- a/krita/plugins/extensions/pyqt/sip/krita/mainwindow.sip
+++ b/krita/plugins/extensions/pyqt/sip/krita/bak/mainwindow.sip
@@ -4,7 +4,7 @@
// Generated by preSip
-// PyKDE4 module kate version KDE 3.92.0
+// PyKDE4 module krita version KDE 3.92.0
// This file is part of PyKDE4.
@@ -22,7 +22,7 @@
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
-namespace Kate
+namespace Krita
{
class MainWindow : QObject
@@ -45,7 +45,7 @@ public:
KTextEditor::View* activateView (KTextEditor::Document*);
KTextEditor::View* openUrl (const KUrl&, const QString& = QString ());
// http://kde.6490.n7.nabble.com/Can-I-know-the-project-configuration-from-python-plugin-td1523455.html
- Kate::PluginView* pluginView (const QString&);
+ Krita::PluginView* pluginView (const QString&);
signals:
void viewChanged ();
@@ -60,12 +60,17 @@ public:
Bottom
};
- QWidget* createToolView (const QString&, Kate::MainWindow::Position, \
const QPixmap&, const QString&);
- bool moveToolView (QWidget*, Kate::MainWindow::Position);
+ QWidget* createToolView (const QString&, \
Krita::MainWindow::Position, const QPixmap&, const QString&); + bool \
moveToolView (QWidget*, Krita::MainWindow::Position); bool \
showToolView (QWidget*); bool hideToolView (QWidget*);
+ // NOTE This method do not exist in C++ class, but needed for Python code!
+ void destroyToolView(QWidget*);
+%MethodCode
+ a0->blockSignals(true);
+ a0->deleteLater();
+%End
}; // class MainWindow
-}; // namespace Kate
-
+}; // namespace Krita
diff --git a/krita/plugins/extensions/pyqt/sip/krita/plugin.sip \
b/krita/plugins/extensions/pyqt/sip/krita/bak/plugin.sip similarity index 73%
rename from krita/plugins/extensions/pyqt/sip/krita/plugin.sip
rename to krita/plugins/extensions/pyqt/sip/krita/bak/plugin.sip
index b16a4de..471e92f 100644
--- a/krita/plugins/extensions/pyqt/sip/krita/plugin.sip
+++ b/krita/plugins/extensions/pyqt/sip/krita/bak/plugin.sip
@@ -4,7 +4,7 @@
// Generated by preSip
-// PyKDE4 module kate version KDE 3.92.0
+// PyKDE4 module krita version KDE 3.92.0
// This file is part of PyKDE4.
@@ -23,7 +23,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
-namespace Kate
+namespace Krita
{
class Plugin : QObject
@@ -33,15 +33,15 @@ class Plugin : QObject
%End
public:
- Plugin (Kate::Application* = 0, const char* = 0);
- Kate::Application* application () const;
- virtual Kate::PluginView* createView (Kate::MainWindow*);
+ Plugin (Krita::Application* = 0, const char* = 0);
+ Krita::Application* application () const;
+ virtual Krita::PluginView* createView (Krita::MainWindow*);
virtual void readSessionConfig (KConfigBase*, const QString&);
virtual void writeSessionConfig (KConfigBase*, const QString&);
}; // class Plugin
-Kate::Plugin* createPlugin (const char*, Kate::Application* = 0, const \
QStringList& = QStringList ()); +Krita::Plugin* createPlugin (const char*, \
Krita::Application* = 0, const QStringList& = QStringList ());
class PluginView : QObject
{
@@ -50,13 +50,13 @@ class PluginView : QObject
%End
public:
- PluginView (Kate::MainWindow*);
- Kate::MainWindow* mainWindow () const;
+ PluginView (Krita::MainWindow*);
+ Krita::MainWindow* mainWindow () const;
virtual void readSessionConfig (KConfigBase*, const QString&);
virtual void writeSessionConfig (KConfigBase*, const QString&);
}; // class PluginView
-}; // namespace Kate
+}; // namespace Krita
diff --git a/krita/plugins/extensions/pyqt/sip/krita/pluginconfigpageinterface.sip \
b/krita/plugins/extensions/pyqt/sip/krita/bak/pluginconfigpageinterface.sip \
similarity index 87% rename from \
krita/plugins/extensions/pyqt/sip/krita/pluginconfigpageinterface.sip rename to \
krita/plugins/extensions/pyqt/sip/krita/bak/pluginconfigpageinterface.sip index \
8328dbc..360e298 100644
--- a/krita/plugins/extensions/pyqt/sip/krita/pluginconfigpageinterface.sip
+++ b/krita/plugins/extensions/pyqt/sip/krita/bak/pluginconfigpageinterface.sip
@@ -4,7 +4,7 @@
// Generated by preSip
-// PyKDE4 module kate version KDE 3.92.0
+// PyKDE4 module krita version KDE 3.92.0
// This file is part of PyKDE4.
@@ -26,7 +26,7 @@
#include <pluginconfigpageinterface.h>
%End
-namespace Kate
+namespace Krita
{
class PluginConfigPage : QWidget
@@ -63,13 +63,13 @@ public:
public:
virtual uint configPages () const = 0;
- virtual Kate::PluginConfigPage* configPage (uint = 0, QWidget* = 0, const char* \
= 0) = 0; + virtual Krita::PluginConfigPage* configPage (uint = 0, QWidget* = 0, \
const char* = 0) = 0; virtual QString configPageName (uint = 0) const = 0;
virtual QString configPageFullName (uint = 0) const = 0;
virtual KIcon configPageIcon (uint = 0) const = 0;
}; // class PluginConfigPageInterface
-Kate::PluginConfigPageInterface* pluginConfigPageInterface (Kate::Plugin*);
-}; // namespace Kate
+Krita::PluginConfigPageInterface* pluginConfigPageInterface (Krita::Plugin*);
+}; // namespace Krita
diff --git a/krita/plugins/extensions/pyqt/sip/krita/pluginmanager.sip \
b/krita/plugins/extensions/pyqt/sip/krita/bak/pluginmanager.sip similarity index 84%
rename from krita/plugins/extensions/pyqt/sip/krita/pluginmanager.sip
rename to krita/plugins/extensions/pyqt/sip/krita/bak/pluginmanager.sip
index cc09c87..0769753 100644
--- a/krita/plugins/extensions/pyqt/sip/krita/pluginmanager.sip
+++ b/krita/plugins/extensions/pyqt/sip/krita/bak/pluginmanager.sip
@@ -4,7 +4,7 @@
// Generated by preSip
-// PyKDE4 module kate version KDE 3.92.0
+// PyKDE4 module krita version KDE 3.92.0
// This file is part of PyKDE4.
@@ -22,7 +22,7 @@
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
-namespace Kate
+namespace Krita
{
class PluginManager : QObject
@@ -36,12 +36,12 @@ public:
PluginManager (void* /In/);
public:
- Kate::Plugin* plugin (const QString&);
+ Krita::Plugin* plugin (const QString&);
bool pluginAvailable (const QString&);
- Kate::Plugin* loadPlugin (const QString&, bool = 1);
+ Krita::Plugin* loadPlugin (const QString&, bool = 1);
void unloadPlugin (const QString&, bool = 1);
}; // class PluginManager
-}; // namespace Kate
+}; // namespace Krita
diff --git a/krita/plugins/extensions/pyqt/sip/krita/kritamod.sip \
b/krita/plugins/extensions/pyqt/sip/krita/kritamod.sip index 32a4be7..11793ae 100644
--- a/krita/plugins/extensions/pyqt/sip/krita/kritamod.sip
+++ b/krita/plugins/extensions/pyqt/sip/krita/kritamod.sip
@@ -4,7 +4,7 @@
// Generated by preSip
-// PyKDE4 module kate version KDE_3_92_0
+// PyKDE4 module krita version KDE_3_92_0
%Copying
@@ -25,7 +25,7 @@
%End
-%Module PyKate4.kate
+%Module PyKrita4.krita
%ModuleHeaderCode
#pragma GCC visibility push(default)
@@ -34,18 +34,11 @@
%Import QtCore/QtCoremod.sip
%Import QtGui/QtGuimod.sip
%Import QtXml/QtXmlmod.sip
-%Import kdecore/kdecoremod.sip
-//%Import kdefx/kdefxmod.sip
-%Import kdeui/kdeuimod.sip
-%Import kio/kiomod.sip
-// %Import kutils/kutilsmod.sip
-%Import kparts/kpartsmod.sip
-%Import ktexteditor/ktexteditormod.sip
-
-%Include application.sip
-%Include documentmanager.sip
-%Include mainwindow.sip
-%Include plugin.sip
-%Include pluginconfigpageinterface.sip
-%Include pluginmanager.sip
+
+//%Include application.sip
+//%Include documentmanager.sip
+//%Include mainwindow.sip
+//%Include plugin.sip
+//%Include pluginconfigpageinterface.sip
+//%Include pluginmanager.sip
diff --git a/krita/plugins/extensions/pyqt/src/plugins/hello/__init__.py \
b/krita/plugins/extensions/pyqt/src/plugins/hello/__init__.py index 43dc36c..de744cb \
100644
--- a/krita/plugins/extensions/pyqt/src/plugins/hello/__init__.py
+++ b/krita/plugins/extensions/pyqt/src/plugins/hello/__init__.py
@@ -1 +1,2 @@
# let's make a module
+from .hello import *
diff --git a/krita/plugins/extensions/pyqt/src/plugins/hello/hello.py \
b/krita/plugins/extensions/pyqt/src/plugins/hello/hello.py index ca88f0d..da21e93 \
100644
--- a/krita/plugins/extensions/pyqt/src/plugins/hello/hello.py
+++ b/krita/plugins/extensions/pyqt/src/plugins/hello/hello.py
@@ -1,5 +1,5 @@
-import sys
from PyQt4.QtGui import *
-app = QApplication(sys.argv)
-QMessageBox.information(QWidget(), "Test", "Hello World")
\ No newline at end of file
+def hello():
+ QMessageBox.information(QWidget(), "Test", "Hello World")
+
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic