diff options
24 files changed, 149 insertions, 123 deletions
diff --git a/PySide/QtGui/CMakeLists.txt b/PySide/QtGui/CMakeLists.txt index 7178e60..4313606 100644 --- a/PySide/QtGui/CMakeLists.txt +++ b/PySide/QtGui/CMakeLists.txt @@ -381,24 +381,24 @@ ${SPECIFIC_OS_FILES} ${QtGui_46_SRC} ) - +set(TARGET_TYPESYSTEM "${CMAKE_CURRENT_BINARY_DIR}/typesystem_gui.xml") configure_file("${CMAKE_CURRENT_SOURCE_DIR}/typesystem_gui.xml.in" - "${CMAKE_CURRENT_BINARY_DIR}/typesystem_gui.xml" @ONLY) + "${TARGET_TYPESYSTEM}" @ONLY) -check_qt_class(QtGui QGtkStyle QtGui_SRC) -check_qt_class(QtGui QSessionManager QtGui_SRC) -check_qt_class(QtGui QSizeGrip QtGui_SRC) -check_qt_class(QtGui QSystemTrayIcon QtGui_SRC) +check_qt_class(QtGui QGtkStyle QtGui_SRC ${TARGET_TYPESYSTEM}) +check_qt_class(QtGui QSessionManager QtGui_SRC ${TARGET_TYPESYSTEM}) +check_qt_class(QtGui QSizeGrip QtGui_SRC ${TARGET_TYPESYSTEM}) +check_qt_class(QtGui QSystemTrayIcon QtGui_SRC ${TARGET_TYPESYSTEM}) -check_qt_class(QtGui QAbstractPageSetupDialog QtGui_SRC) -check_qt_class(QtGui QAbstractPrintDialog QtGui_SRC) -check_qt_class(QtGui QPageSetupDialog QtGui_SRC) -check_qt_class(QtGui QPrintDialog QtGui_SRC) -check_qt_class(QtGui QPrintPreviewWidget QtGui_SRC) -check_qt_class(QtGui QPrintPreviewDialog QtGui_SRC) -check_qt_class(QtGui QPrinter QtGui_SRC) -check_qt_class(QtGui QPrinterInfo QtGui_SRC) -check_qt_class(QtGui QPrintEngine QtGui_SRC) +check_qt_class(QtGui QAbstractPageSetupDialog QtGui_SRC ${TARGET_TYPESYSTEM}) +check_qt_class(QtGui QAbstractPrintDialog QtGui_SRC ${TARGET_TYPESYSTEM}) +check_qt_class(QtGui QPageSetupDialog QtGui_SRC ${TARGET_TYPESYSTEM}) +check_qt_class(QtGui QPrintDialog QtGui_SRC ${TARGET_TYPESYSTEM}) +check_qt_class(QtGui QPrintPreviewWidget QtGui_SRC ${TARGET_TYPESYSTEM}) +check_qt_class(QtGui QPrintPreviewDialog QtGui_SRC ${TARGET_TYPESYSTEM}) +check_qt_class(QtGui QPrinter QtGui_SRC ${TARGET_TYPESYSTEM}) +check_qt_class(QtGui QPrinterInfo QtGui_SRC ${TARGET_TYPESYSTEM}) +check_qt_class(QtGui QPrintEngine QtGui_SRC ${TARGET_TYPESYSTEM}) set(QtGui_typesystem_path "${QtCore_SOURCE_DIR}${PATH_SEP}${QtGui_SOURCE_DIR}") set(QtGui_include_dirs ${CMAKE_CURRENT_SOURCE_DIR} @@ -421,7 +421,7 @@ create_pyside_module(QtGui QtGui_deps QtGui_typesystem_path QtGui_SRC - "${CMAKE_CURRENT_BINARY_DIR}/typesystem_gui.xml" + ${TARGET_TYPESYSTEM} QPYTEXTOBJECT_MOC) diff --git a/PySide/QtGui/optional/QAbstractPageSetupDialog.xml b/PySide/QtGui/optional/QAbstractPageSetupDialog.xml new file mode 100644 index 0000000..902fb6e --- /dev/null +++ b/PySide/QtGui/optional/QAbstractPageSetupDialog.xml @@ -0,0 +1 @@ +<object-type name="QAbstractPageSetupDialog"/> diff --git a/PySide/QtGui/optional/QAbstractPrintDialog.xml b/PySide/QtGui/optional/QAbstractPrintDialog.xml new file mode 100644 index 0000000..373cf30 --- /dev/null +++ b/PySide/QtGui/optional/QAbstractPrintDialog.xml @@ -0,0 +1,6 @@ +<object-type name="QAbstractPrintDialog"> + <enum-type name="PrintDialogOption" flags="QAbstractPrintDialog::PrintDialogOptions"/> + <enum-type name="PrintRange"/> + <modify-function signature="exec()" rename="exec_" allow-thread="yes" /> +</object-type> + diff --git a/PySide/QtGui/optional/QGtkStyle.xml b/PySide/QtGui/optional/QGtkStyle.xml new file mode 100644 index 0000000..e75e06c --- /dev/null +++ b/PySide/QtGui/optional/QGtkStyle.xml @@ -0,0 +1,11 @@ +<object-type name="QGtkStyle"> + <modify-function signature="standardPixmap(QStyle::StandardPixmap,const QStyleOption*,const QWidget*)const"> + <modify-argument index="2"> + <replace-default-expression with="0"/> + </modify-argument> + <modify-argument index="3"> + <replace-default-expression with="0"/> + </modify-argument> + </modify-function> +</object-type> + diff --git a/PySide/QtGui/optional/QPageSetupDialog.xml b/PySide/QtGui/optional/QPageSetupDialog.xml new file mode 100644 index 0000000..66fe064 --- /dev/null +++ b/PySide/QtGui/optional/QPageSetupDialog.xml @@ -0,0 +1,5 @@ +<object-type name="QPageSetupDialog"> + <enum-type name="PageSetupDialogOption" flags="QPageSetupDialog::PageSetupDialogOptions"/> + <modify-function signature="exec()" rename="exec_" allow-thread="yes"/> +</object-type> + diff --git a/PySide/QtGui/optional/QPrintDialog.xml b/PySide/QtGui/optional/QPrintDialog.xml new file mode 100644 index 0000000..7b62f48 --- /dev/null +++ b/PySide/QtGui/optional/QPrintDialog.xml @@ -0,0 +1,3 @@ +<object-type name="QPrintDialog"> + <modify-function signature="exec()" rename="exec_" allow-thread="yes" /> +</object-type> diff --git a/PySide/QtGui/optional/QPrintEngine.xml b/PySide/QtGui/optional/QPrintEngine.xml new file mode 100644 index 0000000..0f792fc --- /dev/null +++ b/PySide/QtGui/optional/QPrintEngine.xml @@ -0,0 +1,3 @@ +<object-type name="QPrintEngine"> + <enum-type name="PrintEnginePropertyKey" /> +</object-type> diff --git a/PySide/QtGui/optional/QPrintPreviewDialog.xml b/PySide/QtGui/optional/QPrintPreviewDialog.xml new file mode 100644 index 0000000..635f390 --- /dev/null +++ b/PySide/QtGui/optional/QPrintPreviewDialog.xml @@ -0,0 +1 @@ +<object-type name="QPrintPreviewDialog"/> diff --git a/PySide/QtGui/optional/QPrintPreviewWidget.xml b/PySide/QtGui/optional/QPrintPreviewWidget.xml new file mode 100644 index 0000000..cf60a03 --- /dev/null +++ b/PySide/QtGui/optional/QPrintPreviewWidget.xml @@ -0,0 +1,6 @@ +<object-type name="QPrintPreviewWidget"> + <enum-type name="ViewMode"/> + <enum-type name="ZoomMode"/> + <modify-function signature="print()" rename="print_" /> +</object-type> + diff --git a/PySide/QtGui/optional/QPrinter.xml b/PySide/QtGui/optional/QPrinter.xml new file mode 100644 index 0000000..b57416c --- /dev/null +++ b/PySide/QtGui/optional/QPrinter.xml @@ -0,0 +1,30 @@ +<rejection class="QPrinter" function-name="printerSelectionOption"/> +<rejection class="QPrinter" function-name="setPrinterSelectionOption"/> + +<object-type name="QPrinter" > + <enum-type name="ColorMode"/> + <enum-type name="DuplexMode"/> + <enum-type name="Orientation"/> + <enum-type name="OutputFormat"/> + <enum-type name="PageOrder"/> + <enum-type name="PageSize" /> + <enum-type name="PaperSource"/> + <enum-type name="PrintRange"/> + <enum-type name="PrinterMode"/> + <enum-type name="PrinterState"/> + <enum-type name="Unit"/> + <!-- TODO: What to do with this function? --> + <modify-function signature="getPageMargins(qreal*,qreal*,qreal*,qreal*,QPrinter::Unit)const" remove="all" /> + <modify-function signature="setEngines(QPrintEngine*,QPaintEngine*)"> + <modify-argument index="1"> + <parent index="this" action="add"/> + </modify-argument> + <modify-argument index="2"> + <parent index="this" action="add"/> + </modify-argument> + </modify-function> + <extra-includes> + <include file-name="QPrinterInfo" location="global"/> + </extra-includes> +</object-type> + diff --git a/PySide/QtGui/optional/QPrinterInfo.xml b/PySide/QtGui/optional/QPrinterInfo.xml new file mode 100644 index 0000000..479c4b4 --- /dev/null +++ b/PySide/QtGui/optional/QPrinterInfo.xml @@ -0,0 +1 @@ +<value-type name="QPrinterInfo" /> diff --git a/PySide/QtGui/optional/QSessionManager.xml b/PySide/QtGui/optional/QSessionManager.xml new file mode 100644 index 0000000..b8be5e8 --- /dev/null +++ b/PySide/QtGui/optional/QSessionManager.xml @@ -0,0 +1,7 @@ +<object-type name="QSessionManager"> + <extra-includes> + </extra-includes> + <enum-type name="RestartHint"/> + <modify-function signature="handle()const" remove="all"/> +</object-type> + diff --git a/PySide/QtGui/optional/QSizeGrip.xml b/PySide/QtGui/optional/QSizeGrip.xml new file mode 100644 index 0000000..a0792da --- /dev/null +++ b/PySide/QtGui/optional/QSizeGrip.xml @@ -0,0 +1,2 @@ +<object-type name="QSizeGrip"/> + diff --git a/PySide/QtGui/optional/QSystemTrayIcon.xml b/PySide/QtGui/optional/QSystemTrayIcon.xml new file mode 100644 index 0000000..095fcf3 --- /dev/null +++ b/PySide/QtGui/optional/QSystemTrayIcon.xml @@ -0,0 +1,10 @@ +<object-type name="QSystemTrayIcon"> + <enum-type name="ActivationReason"/> + <enum-type name="MessageIcon"/> + <modify-function signature="setContextMenu(QMenu*)"> + <modify-argument index="1"> + <reference-count action="add"/> + </modify-argument> + </modify-function> +</object-type> + diff --git a/PySide/QtGui/typesystem_gui_common.xml b/PySide/QtGui/typesystem_gui_common.xml index 7dea272..2af6f48 100644 --- a/PySide/QtGui/typesystem_gui_common.xml +++ b/PySide/QtGui/typesystem_gui_common.xml @@ -162,8 +162,6 @@ <rejection class="QPolygon" function-name="setPoint"/> <rejection class="QPolygon" function-name="points"/> <rejection class="QPolygon" function-name="point"/> - <rejection class="QPrinter" function-name="printerSelectionOption"/> - <rejection class="QPrinter" function-name="setPrinterSelectionOption"/> <rejection class="QWidget" function-name="create"/> <rejection class="QWidget" function-name="find"/> <rejection class="QWidget" function-name="handle"/> @@ -1260,7 +1258,6 @@ <enum-type name="Type"/> </value-type> <value-type name="QLinearGradient" polymorphic-id-expression="%1->type() == QGradient::LinearGradient" /> - <value-type name="QPrinterInfo" /> <object-type name="QLayoutItem"> <modify-function signature="widget()"> @@ -1476,11 +1473,6 @@ <!-- ### because the CursorAction enum is protected --> <modify-function signature="moveCursor(QAbstractItemView::CursorAction,QFlags<Qt::KeyboardModifier>)" remove="all"/> </object-type> - <object-type name="QAbstractPrintDialog"> - <enum-type name="PrintDialogOption" flags="QAbstractPrintDialog::PrintDialogOptions"/> - <enum-type name="PrintRange"/> - <modify-function signature="exec()" rename="exec_" allow-thread="yes" /> - </object-type> <object-type name="QAbstractSlider"> <enum-type name="SliderAction"/> <enum-type name="SliderChange"/> @@ -1519,16 +1511,6 @@ <object-type name="QCDEStyle"> <modify-function signature="standardIconImplementation(QStyle::StandardPixmap, const QStyleOption *, const QWidget *)const" virtual-slot="yes"/> </object-type> - <object-type name="QGtkStyle"> - <modify-function signature="standardPixmap(QStyle::StandardPixmap,const QStyleOption*,const QWidget*)const"> - <modify-argument index="2"> - <replace-default-expression with="0"/> - </modify-argument> - <modify-argument index="3"> - <replace-default-expression with="0"/> - </modify-argument> - </modify-function> - </object-type> <object-type name="QCheckBox"/> <object-type name="QCleanlooksStyle"> <modify-function signature="standardPixmap(QStyle::StandardPixmap,const QStyleOption*,const QWidget*)const" remove="all"/> @@ -2078,12 +2060,6 @@ <modify-function signature="standardIconImplementation(QStyle::StandardPixmap, const QStyleOption *, const QWidget *)const" virtual-slot="yes"/> <modify-function signature="layoutSpacingImplementation(QSizePolicy::ControlType, QSizePolicy::ControlType, Qt::Orientation, const QStyleOption *, const QWidget *) const" virtual-slot="yes"/> </object-type> - <object-type name="QPrintDialog"> - <modify-function signature="exec()" rename="exec_" allow-thread="yes" /> - </object-type> - <object-type name="QPrintEngine"> - <enum-type name="PrintEnginePropertyKey" /> - </object-type> <object-type name="QProgressBar"> <enum-type name="Direction"/> </object-type> @@ -2096,12 +2072,6 @@ </modify-argument> </modify-function> </object-type> - <object-type name="QSessionManager"> - <extra-includes> - </extra-includes> - <enum-type name="RestartHint"/> - <modify-function signature="handle()const" remove="all"/> - </object-type> <object-type name="QShortcut"> <add-function signature="QShortcut(const QKeySequence&, QWidget*, PyCallable*, Qt::ShortcutContext)"> @@ -2118,7 +2088,6 @@ </inject-code> </add-function> </object-type> - <object-type name="QSizeGrip"/> <object-type name="QSound"/> <object-type name="QSpacerItem"/> <object-type name="QStandardItem"> @@ -2262,15 +2231,6 @@ </modify-argument> </modify-function> </object-type> - <object-type name="QSystemTrayIcon"> - <enum-type name="ActivationReason"/> - <enum-type name="MessageIcon"/> - <modify-function signature="setContextMenu(QMenu*)"> - <modify-argument index="1"> - <reference-count action="add"/> - </modify-argument> - </modify-function> - </object-type> <object-type name="QTableView"> <modify-function signature="setHorizontalHeader(QHeaderView*)"> <modify-argument index="1"> @@ -3818,11 +3778,6 @@ </modify-argument> </modify-function> </object-type> - <object-type name="QAbstractPageSetupDialog"/> - <object-type name="QPageSetupDialog"> - <enum-type name="PageSetupDialogOption" flags="QPageSetupDialog::PageSetupDialogOptions"/> - <modify-function signature="exec()" rename="exec_" allow-thread="yes"/> - </object-type> <object-type name="QTabWidget"> <enum-type name="TabPosition"/> <enum-type name="TabShape"/> @@ -4668,32 +4623,6 @@ </modify-function> <modify-function signature="print(QPrinter*) const" rename="print_"/> </object-type> - <object-type name="QPrinter" > - <enum-type name="ColorMode"/> - <enum-type name="DuplexMode"/> - <enum-type name="Orientation"/> - <enum-type name="OutputFormat"/> - <enum-type name="PageOrder"/> - <enum-type name="PageSize" /> - <enum-type name="PaperSource"/> - <enum-type name="PrintRange"/> - <enum-type name="PrinterMode"/> - <enum-type name="PrinterState"/> - <enum-type name="Unit"/> - <!-- TODO: What to do with this function? --> - <modify-function signature="getPageMargins(qreal*,qreal*,qreal*,qreal*,QPrinter::Unit)const" remove="all" /> - <modify-function signature="setEngines(QPrintEngine*,QPaintEngine*)"> - <modify-argument index="1"> - <parent index="this" action="add"/> - </modify-argument> - <modify-argument index="2"> - <parent index="this" action="add"/> - </modify-argument> - </modify-function> - <extra-includes> - <include file-name="QPrinterInfo" location="global"/> - </extra-includes> - </object-type> <object-type name="QAction"> <enum-type name="ActionEvent"/> <enum-type name="MenuRole"/> @@ -5200,12 +5129,6 @@ </modify-function> <modify-function signature="print(QPrinter*)const" rename="print_" /> </object-type> - <object-type name="QPrintPreviewDialog"/> - <object-type name="QPrintPreviewWidget"> - <enum-type name="ViewMode"/> - <enum-type name="ZoomMode"/> - <modify-function signature="print()" rename="print_" /> - </object-type> <object-type name="QStyledItemDelegate"> <modify-function signature="setItemEditorFactory(QItemEditorFactory*)"> <modify-argument index="1"> @@ -6006,7 +5929,6 @@ <suppress-warning text="unhandled enum value: ~FlagMask in QMessageBox::StandardButton"/> <suppress-warning text="unmatched enum ~FlagMask"/> <suppress-warning text="enum 'QMatrix4x4::enum_1' is specified in typesystem, but not declared"/> - <suppress-warning text="type 'QGtkStyle' is specified in typesystem, but not defined. This could potentially lead to compilation errors."/> <suppress-warning text="class not found for setup inheritance 'QMimeSource'"/> <suppress-warning text="class 'QDropEvent' inherits from unknown base class 'QMimeSource'"/> diff --git a/PySide/QtNetwork/CMakeLists.txt b/PySide/QtNetwork/CMakeLists.txt index b055f42..50f8103 100644 --- a/PySide/QtNetwork/CMakeLists.txt +++ b/PySide/QtNetwork/CMakeLists.txt @@ -46,12 +46,16 @@ ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtNetwork/qurlinfo_wrapper.cpp ${QtNetwork_47_SRC} ) -check_qt_class(QtNetwork QSslCertificate QtNetwork_SRC) -check_qt_class(QtNetwork QSslCipher QtNetwork_SRC) -check_qt_class(QtNetwork QSslConfiguration QtNetwork_SRC) -check_qt_class(QtNetwork QSslError QtNetwork_SRC) -check_qt_class(QtNetwork QSslKey QtNetwork_SRC) -check_qt_class(QtNetwork QSslSocket QtNetwork_SRC) +set(TARGET_TYPESYSTEM "${CMAKE_CURRENT_BINARY_DIR}/typesystem_network.xml") +configure_file("${CMAKE_CURRENT_SOURCE_DIR}/typesystem_network.xml" + "${TARGET_TYPESYSTEM}" @ONLY) + +check_qt_class(QtNetwork QSslCertificate QtNetwork_SRC ${TARGET_TYPESYSTEM}) +check_qt_class(QtNetwork QSslCipher QtNetwork_SRC ${TARGET_TYPESYSTEM}) +check_qt_class(QtNetwork QSslConfiguration QtNetwork_SRC ${TARGET_TYPESYSTEM}) +check_qt_class(QtNetwork QSslError QtNetwork_SRC ${TARGET_TYPESYSTEM}) +check_qt_class(QtNetwork QSslKey QtNetwork_SRC ${TARGET_TYPESYSTEM}) +check_qt_class(QtNetwork QSslSocket QtNetwork_SRC ${TARGET_TYPESYSTEM}) set(QtNetwork_typesystem_path "${QtCore_SOURCE_DIR}") set(QtNetwork_include_dirs ${CMAKE_CURRENT_SOURCE_DIR} @@ -75,4 +79,4 @@ create_pyside_module(QtNetwork QtNetwork_deps QtNetwork_typesystem_path QtNetwork_SRC - "") + ${TARGET_TYPESYSTEM}) diff --git a/PySide/QtNetwork/optional/QSslCertificate.xml b/PySide/QtNetwork/optional/QSslCertificate.xml new file mode 100644 index 0000000..7acf97c --- /dev/null +++ b/PySide/QtNetwork/optional/QSslCertificate.xml @@ -0,0 +1 @@ +<value-type name="QSslCertificate"/> diff --git a/PySide/QtNetwork/optional/QSslCipher.xml b/PySide/QtNetwork/optional/QSslCipher.xml new file mode 100644 index 0000000..15ff59a --- /dev/null +++ b/PySide/QtNetwork/optional/QSslCipher.xml @@ -0,0 +1 @@ +<value-type name="QSslCipher"/> diff --git a/PySide/QtNetwork/optional/QSslConfiguration.xml b/PySide/QtNetwork/optional/QSslConfiguration.xml new file mode 100644 index 0000000..31c5e83 --- /dev/null +++ b/PySide/QtNetwork/optional/QSslConfiguration.xml @@ -0,0 +1 @@ +<value-type name="QSslConfiguration"/> diff --git a/PySide/QtNetwork/optional/QSslError.xml b/PySide/QtNetwork/optional/QSslError.xml new file mode 100644 index 0000000..0e4cf3e --- /dev/null +++ b/PySide/QtNetwork/optional/QSslError.xml @@ -0,0 +1,4 @@ +<value-type name="QSslError"> + <enum-type name="SslError"/> +</value-type> + diff --git a/PySide/QtNetwork/optional/QSslKey.xml b/PySide/QtNetwork/optional/QSslKey.xml new file mode 100644 index 0000000..88a6370 --- /dev/null +++ b/PySide/QtNetwork/optional/QSslKey.xml @@ -0,0 +1 @@ +<value-type name="QSslKey"/> diff --git a/PySide/QtNetwork/optional/QSslSocket.xml b/PySide/QtNetwork/optional/QSslSocket.xml new file mode 100644 index 0000000..415e681 --- /dev/null +++ b/PySide/QtNetwork/optional/QSslSocket.xml @@ -0,0 +1,6 @@ +<object-type name="QSslSocket"> + <enum-type name="SslMode"/> + <enum-type name="PeerVerifyMode"/> + <modify-function signature="connectToHostEncrypted(const QString&, quint16, QFlags<QIODevice::OpenModeFlag>)" allow-thread="yes" /> + <modify-function signature="waitForEncrypted(int)" allow-thread="yes" /> +</object-type> diff --git a/PySide/QtNetwork/typesystem_network.xml b/PySide/QtNetwork/typesystem_network.xml index 1f01e99..8a677fd 100644 --- a/PySide/QtNetwork/typesystem_network.xml +++ b/PySide/QtNetwork/typesystem_network.xml @@ -34,7 +34,6 @@ <rejection class="QIPv6Address" field-name="c"/> - <value-type name="QSslCertificate"/> <object-type name="QAbstractSocket"> <enum-type name="NetworkLayerProtocol"/> <enum-type name="SocketError"/> @@ -256,28 +255,11 @@ <enum-type name="KnownHeaders"/> </value-type> - - <value-type name="QSslCipher"/> - <value-type name="QSslError"> - <enum-type name="SslError"/> - </value-type> - <value-type name="QSslKey"/> - <!-- TODO QSslCertificate requires QMultiMap which isn't implemented yet <value-type name="QSslCertificate"/> --> <enum-type name="QSslCertificate::SubjectInfo"/> - <value-type name="QSslConfiguration"/> - - <object-type name="QSslSocket"> - <enum-type name="SslMode"/> - <enum-type name="PeerVerifyMode"/> - <modify-function signature="connectToHostEncrypted(const QString&, quint16, QFlags<QIODevice::OpenModeFlag>)" allow-thread="yes" /> - <modify-function signature="waitForEncrypted(int)" allow-thread="yes" /> - </object-type> - - <!-- Qt 4.7 --> <value-type name="QNetworkConfiguration" since="4.7"> <enum-type name="BearerType" /> diff --git a/cmake/Macros/PySideModules.cmake b/cmake/Macros/PySideModules.cmake index 005e6e8..4476eb4 100644 --- a/cmake/Macros/PySideModules.cmake +++ b/cmake/Macros/PySideModules.cmake @@ -43,19 +43,37 @@ macro(create_pyside_module module_name module_include_dir module_libraries modul install(FILES ${typesystem_files} DESTINATION share/PySide${pyside_SUFFIX}/typesystems) endmacro() -#macro(check_qt_class_with_namespace module namespace class global_sources [namespace]) -macro(check_qt_class module class global_sources) - if (${ARGC} GREATER 3) +macro(append_class_xml commom_xml class_xml) + INCLUDE(FindPythonInterp) + set(REPLACE_PROGRAM "import string; \\ + commomFile = open('${commom_xml}', 'r'); \\ + commomData = commomFile.read(); \\ + commomFile.close(); \\ + objectFile = open('${class_xml}', 'r'); \\ + objectData = objectFile.read(); \\ + objectFile.close(); \\ + commomData = string.replace(commomData, '</typesystem>', '%s\\n</typesystem>' % objectData); \\ + commomFile = open('${commom_xml}', 'w'); \\ + commomFile.write(commomData); \\ + commomFile.close();") + execute_process( + COMMAND ${PYTHON_EXECUTABLE} -c "${REPLACE_PROGRAM}") +endmacro() + +#macro(check_qt_class_with_namespace module namespace class global_sources commom_xml class_xml [namespace] [module]) +macro(check_qt_class module class global_sources commom_xml) + if (${ARGC} GREATER 4) set (namespace ${ARGV3}) string(TOLOWER ${namespace} _namespace) else () set (namespace "") endif () - if (${ARGC} GREATER 4) + if (${ARGC} GREATER 5) set (include_file ${ARGV4}) else () set (include_file ${module}) endif () + append_class_xml(${commom_xml} "${CMAKE_CURRENT_SOURCE_DIR}/optional/${class}.xml") string(TOLOWER ${class} _class) string(TOUPPER ${module} _module) if (_namespace) |