diff options
Diffstat (limited to 'PySide2/QtWebKitWidgets')
-rw-r--r-- | PySide2/QtWebKitWidgets/CMakeLists.txt | 77 | ||||
-rw-r--r-- | PySide2/QtWebKitWidgets/typesystem_webkitwidgets.xml | 245 |
2 files changed, 322 insertions, 0 deletions
diff --git a/PySide2/QtWebKitWidgets/CMakeLists.txt b/PySide2/QtWebKitWidgets/CMakeLists.txt new file mode 100644 index 00000000..a1008cb0 --- /dev/null +++ b/PySide2/QtWebKitWidgets/CMakeLists.txt @@ -0,0 +1,77 @@ +project(QtWebKitWidgets) + +set(QtWebKitWidgets_SRC +${QtWebKitWidgets_GEN_DIR}/qgraphicswebview_wrapper.cpp +${QtWebKitWidgets_GEN_DIR}/qwebdatabase_wrapper.cpp +${QtWebKitWidgets_GEN_DIR}/qwebelement_wrapper.cpp +${QtWebKitWidgets_GEN_DIR}/qwebelementcollection_wrapper.cpp +${QtWebKitWidgets_GEN_DIR}/qwebframe_wrapper.cpp +${QtWebKitWidgets_GEN_DIR}/qwebhistory_wrapper.cpp +${QtWebKitWidgets_GEN_DIR}/qwebhistoryinterface_wrapper.cpp +${QtWebKitWidgets_GEN_DIR}/qwebhistoryitem_wrapper.cpp +${QtWebKitWidgets_GEN_DIR}/qwebhittestresult_wrapper.cpp +${QtWebKitWidgets_GEN_DIR}/qwebinspector_wrapper.cpp +${QtWebKitWidgets_GEN_DIR}/qwebpage_choosemultiplefilesextensionoption_wrapper.cpp +${QtWebKitWidgets_GEN_DIR}/qwebpage_choosemultiplefilesextensionreturn_wrapper.cpp +${QtWebKitWidgets_GEN_DIR}/qwebpage_errorpageextensionoption_wrapper.cpp +${QtWebKitWidgets_GEN_DIR}/qwebpage_errorpageextensionreturn_wrapper.cpp +${QtWebKitWidgets_GEN_DIR}/qwebpage_extensionoption_wrapper.cpp +${QtWebKitWidgets_GEN_DIR}/qwebpage_extensionreturn_wrapper.cpp +${QtWebKitWidgets_GEN_DIR}/qwebpage_viewportattributes_wrapper.cpp +${QtWebKitWidgets_GEN_DIR}/qwebpage_wrapper.cpp +${QtWebKitWidgets_GEN_DIR}/qwebpluginfactory_mimetype_wrapper.cpp +${QtWebKitWidgets_GEN_DIR}/qwebpluginfactory_plugin_wrapper.cpp +${QtWebKitWidgets_GEN_DIR}/qwebpluginfactory_wrapper.cpp +${QtWebKitWidgets_GEN_DIR}/qwebsecurityorigin_wrapper.cpp +${QtWebKitWidgets_GEN_DIR}/qwebsettings_wrapper.cpp +${QtWebKitWidgets_GEN_DIR}/qwebview_wrapper.cpp +# module is always needed +${QtWebKitWidgets_GEN_DIR}/qtwebkitwidgets_module_wrapper.cpp +) + +make_path(QtWebKitWidgets_typesystem_path + ${QtCore_SOURCE_DIR} ${QtGui_SOURCE_DIR} ${QtWidgets_SOURCE_DIR} + ${QtCore_BINARY_DIR} ${QtGui_BINARY_DIR} ${QtWidgets_BINARY_DIR} + ${QtWebKit_SOURCE_DIR} ${QtPrintSupport_SOURCE_DIR} ${QtNetwork_SOURCE_DIR} + ${QtWebKit_BINARY_DIR} ${QtPrintSupport_BINARY_DIR} ${QtNetwork_BINARY_DIR} + ${QtWebKitWidgets_SOURCE_DIR}) + +set(QtWebKitWidgets_include_dirs + ${QtWebKitWidgets_SOURCE_DIR} + ${QtWebKitWidgets_BINARY_DIR} + ${Qt5Core_INCLUDE_DIRS} + ${Qt5Gui_INCLUDE_DIRS} + ${Qt5Widgets_INCLUDE_DIRS} + ${Qt5WebKit_INCLUDE_DIRS} + ${Qt5PrintSupport_INCLUDE_DIRS} + ${Qt5Network_INCLUDE_DIRS} + ${Qt5WebKitWidgets_INCLUDE_DIRS} + ${SHIBOKEN_INCLUDE_DIR} + ${libpyside_SOURCE_DIR} + ${SHIBOKEN_PYTHON_INCLUDE_DIR} + ${QtCore_GEN_DIR} + ${QtGui_GEN_DIR} + ${QtWidgets_GEN_DIR} + ${QtPrintSupport_GEN_DIR} + ${QtWebKit_GEN_DIR} + ${QtNetwork_GEN_DIR} + ) +set(QtWebKitWidgets_libraries pyside + ${SHIBOKEN_PYTHON_LIBRARIES} + ${SHIBOKEN_LIBRARY} + ${Qt5Webkit_LIBRARIES} + ${Qt5WebkitWidgets_LIBRARIES} + ${Qt5Network_LIBRARIES} + ${Qt5Widgets_LIBRARIES} + ${Qt5Gui_LIBRARIES} + ${Qt5Core_LIBRARIES} + ) +set(QtWebKitWidgets_deps QtWidgets QtPrintSupport QtNetwork) +create_pyside_module(QtWebKitWidgets + QtWebKitWidgets_include_dirs + QtWebKitWidgets_libraries + QtWebKitWidgets_deps + QtWebKitWidgets_typesystem_path + QtWebKitWidgets_SRC + "") + diff --git a/PySide2/QtWebKitWidgets/typesystem_webkitwidgets.xml b/PySide2/QtWebKitWidgets/typesystem_webkitwidgets.xml new file mode 100644 index 00000000..e4e4f05b --- /dev/null +++ b/PySide2/QtWebKitWidgets/typesystem_webkitwidgets.xml @@ -0,0 +1,245 @@ +<?xml version="1.0"?> +<!-- + This file is part of PySide project. + Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). + Contact: PySide team <contact@pyside.org> + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +--> +<typesystem package="PySide.QtWebKitWidgets"> + <load-typesystem name="typesystem_core.xml" generate="no"/> + <load-typesystem name="typesystem_gui.xml" generate="no"/> + <load-typesystem name="typesystem_widgets.xml" generate="no"/> + <load-typesystem name="typesystem_webkit.xml" generate="no"/> + <load-typesystem name="typesystem_network.xml" generate="no"/> + <load-typesystem name="typesystem_printsupport.xml" generate="no"/> + + <value-type name="QWebDatabase"/> + + <object-type name="QWebPluginFactory"> + <enum-type name="Extension"/> + <value-type name="Plugin"/> + <value-type name="MimeType"/> + <modify-function signature="create(const QString &, const QUrl &, const QStringList &, const QStringList &) const"> + <modify-argument index="return"> + <define-ownership class="native" owner="c++"/> + <define-ownership class="target" owner="target"/> + </modify-argument> + </modify-function> + </object-type> + + <object-type name="QWebHistory"/> + <object-type name="QWebHistoryInterface"/> + <value-type name="QWebHistoryItem"/> + + <value-type name="QWebSecurityOrigin"> + <enum-type name="SubdomainSetting" /> + </value-type> + + <object-type name="QWebSettings"> + <enum-type name="FontFamily"/> + <enum-type name="FontSize"/> + <enum-type name="ThirdPartyCookiePolicy" /> + <enum-type name="WebAttribute"/> + <enum-type name="WebGraphic"/> + </object-type> + + <object-type name="QWebView"> + <modify-function signature="setPage(QWebPage*)"> + <modify-argument index="1"> + <reference-count action="set"/> + </modify-argument> + </modify-function> + <modify-function signature="page() const"> + <modify-argument index="return"> + <define-ownership class="target" owner="default"/> + </modify-argument> + <inject-code position="end"> + SbkObject* _pyReturn = reinterpret_cast<SbkObject*>(%PYARG_0); + if (!Shiboken::Object::hasParentInfo(_pyReturn)) + Shiboken::Object::setParent(%PYSELF, %PYARG_0); + </inject-code> + </modify-function> + <modify-function signature="print(QPrinter*)const" rename="print_" /> + </object-type> + + <value-type name="QWebElement" since="4.6"> + <enum-type name="StyleResolveStrategy"/> + </value-type> + + <value-type name="QWebElementCollection" since="4.6"> + <add-function signature="__len__"> + <inject-code> + return %CPPSELF.count(); + </inject-code> + </add-function> + <add-function signature="__getitem__"> + <inject-code> + if (_i < 0 || _i >= %CPPSELF.count()) { + PyErr_SetString(PyExc_IndexError, "index out of bounds"); + return 0; + } + QWebElement element = %CPPSELF.at(_i); + return %CONVERTTOPYTHON[QWebElement](element); + </inject-code> + </add-function> + </value-type> + + <object-type name="QWebFrame"> + <enum-type name="RenderLayer" flags="RenderLayers" since="4.6"/> + <enum-type name="ValueOwnership" /> + <modify-function signature="addToJavaScriptWindowObject(QString,QObject*,QWebFrame::ValueOwnership)"> + <modify-argument index="2"> + <parent index="this" action="add"/> + </modify-argument> + </modify-function> + <modify-function signature="print(QPrinter*)const" rename="print_" /> + <modify-function signature="metaData()const"> + <modify-argument index="return"> + <replace-type modified-type="PyObject" /> + </modify-argument> + <inject-code position="end"> + <insert-template name="convertFromMultiMap"> + <replace from="%MAP_NAME" to="%0"/> + <replace from="%RETURN_NAME" to="%PYARG_0"/> + <replace from="%KEY_TYPE" to="QString"/> + <replace from="%VALUE_TYPE" to="QString"/> + </insert-template> + </inject-code> + </modify-function> + </object-type> + + <object-type name="QWebPage"> + <enum-type name="ErrorDomain"/> + <enum-type name="Extension"/> + <enum-type name="Feature"/> + <enum-type name="FindFlag" flags="FindFlags"/> + <enum-type name="LinkDelegationPolicy"/> + <enum-type name="NavigationType"/> + <enum-type name="PermissionPolicy" since="4.8" revision="4800" /> + <enum-type name="VisibilityState" /> + <enum-type name="WebAction"/> + <enum-type name="WebWindowType"/> + + <value-type name="ChooseMultipleFilesExtensionOption" /> + <value-type name="ChooseMultipleFilesExtensionReturn" /> + <value-type name="ErrorPageExtensionOption" since="4.6" /> + <value-type name="ErrorPageExtensionReturn" since="4.6" /> + <value-type name="ExtensionOption" /> + <value-type name="ExtensionReturn" /> + <value-type name="ViewportAttributes" /> + + <modify-function signature="extension(QWebPage::Extension, const QWebPage::ExtensionOption*, QWebPage::ExtensionReturn*)"> + <template name="qwebpage_extension_argument_conversion"> + PyObject* %out = 0; + // Cast the parameters according to the extension type + if (extension == QWebPage::ChooseMultipleFilesExtension) { + const ChooseMultipleFilesExtension$TYPE_SUFFIX* _in = reinterpret_cast<const ChooseMultipleFilesExtension$TYPE_SUFFIX*>(%in); + %out = %CONVERTTOPYTHON[const QWebPage::ChooseMultipleFilesExtension$TYPE_SUFFIX*](_in); + #if QT_VERSION >= 0x040600 + } else if (extension == QWebPage::ErrorPageExtension) { + const ErrorPageExtension$TYPE_SUFFIX* _in = reinterpret_cast<const ErrorPageExtension$TYPE_SUFFIX*>(%in); + %out = %CONVERTTOPYTHON[const QWebPage::ErrorPageExtension$TYPE_SUFFIX*](_in); + #endif + } + </template> + <modify-argument index="2" invalidate-after-use="yes"> + <conversion-rule class="target"> + <insert-template name="qwebpage_extension_argument_conversion"> + <replace from="$TYPE_SUFFIX" to="Option"/> + </insert-template> + </conversion-rule> + </modify-argument> + <modify-argument index="3" invalidate-after-use="yes"> + <conversion-rule class="target"> + <insert-template name="qwebpage_extension_argument_conversion"> + <replace from="$TYPE_SUFFIX" to="Return"/> + </insert-template> + </conversion-rule> + </modify-argument> + </modify-function> + + <modify-function signature="setNetworkAccessManager(QNetworkAccessManager*)"> + <modify-argument index="1"> + <reference-count action="set"/> + </modify-argument> + </modify-function> + <modify-function signature="networkAccessManager()const"> + <modify-argument index="return"> + <reference-count action="set" variable-name="setNetworkAccessManager(QNetworkAccessManager*)1" /> + </modify-argument> + </modify-function> + <modify-function signature="view()const"> + <modify-argument index="return"> + <define-ownership owner="default"/> + </modify-argument> + </modify-function> + <modify-function signature="pluginFactory()const"> + <modify-argument index="return"> + <define-ownership owner="default"/> + </modify-argument> + </modify-function> + + <modify-function signature="javaScriptPrompt(QWebFrame*,const QString &,const QString &,QString*)"> + <modify-argument index="4"> + <remove-argument /> + <conversion-rule class="native"> + QString _local; + QString* %4 = &_local; + </conversion-rule> + </modify-argument> + <modify-argument index="return"> + <replace-type modified-type="PySequence"/> + <conversion-rule class="native"> + Shiboken::AutoDecRef pyRes(PySequence_GetItem(%PYARG_0, 0)); + Shiboken::AutoDecRef pyStr(PySequence_GetItem(%PYARG_0, 1)); + %RETURN_TYPE %out = %CONVERTTOCPP[%RETURN_TYPE](pyRes); + *%4 = %CONVERTTOCPP[QString](pyStr); + </conversion-rule> + <conversion-rule class="target"> + %PYARG_0 = PyTuple_New(2); + PyTuple_SET_ITEM(%PYARG_0, 0, %CONVERTTOPYTHON[%RETURN_TYPE](%0)); + PyTuple_SET_ITEM(%PYARG_0, 1, %CONVERTTOPYTHON[QString](*%4)); + </conversion-rule> + </modify-argument> + </modify-function> + + <add-function signature="qt_metacall()"> + <inject-code class="native"> + static int _signalIndex = -1; + static QMetaMethod _m; + + if (_signalIndex == -1) { + _signalIndex = QWebPage::staticMetaObject.indexOfSlot("shouldInterruptJavaScript()"); + _m = QWebPage::staticMetaObject.method(_signalIndex); + } + + if (_signalIndex == id) { + Shiboken::GilState gil; + PyObject* self = (PyObject*)Shiboken::BindingManager::instance().retrieveWrapper(this); + if (self) { + Shiboken::AutoDecRef _pyMethod(PyObject_GetAttrString(self, "shouldInterruptJavaScript")); + return PySide::SignalManager::callPythonMetaMethod(_m, args, _pyMethod, false); + } + } + </inject-code> + </add-function> + </object-type> + + <value-type name="QWebHitTestResult"/> + + <object-type name="QGraphicsWebView" since="4.6"/> + <object-type name="QWebInspector" since="4.6"/> +</typesystem> |