diff options
author | renato <renato.filho@openbossa.org> | 2010-04-16 16:14:03 -0300 |
---|---|---|
committer | Renato Filho <renato.filho@openbossa.org> | 2010-04-22 14:47:17 -0300 |
commit | 3468ba1efffc17f532ca69007602e87f19245304 (patch) | |
tree | 658290e3cf82e16539fd34b9a834af7c8ac2eaa1 /PySide | |
parent | de4a1a10b01f54ce03bc484f04f4294ba8b4d314 (diff) |
Implemented module QtMaemo5.
Create unittest for module.
Fixed generetion of typesystem_gui.xml based on detected system.
Reviewer: Hugo Parente Lima <hugo.lima@openbossa.org>,
Luciano Wolf <luciano.wolf@openbossa.org>
Diffstat (limited to 'PySide')
-rw-r--r-- | PySide/CMakeLists.txt | 42 | ||||
-rw-r--r-- | PySide/QtGui/CMakeLists.txt | 18 | ||||
-rw-r--r-- | PySide/QtGui/typesystem_gui.xml.in | 3 | ||||
-rw-r--r-- | PySide/QtGui/typesystem_gui_maemo.xml | 7 | ||||
-rw-r--r-- | PySide/QtMaemo5/CMakeLists.txt | 57 | ||||
-rw-r--r-- | PySide/QtMaemo5/typesystem_maemo5.xml | 14 | ||||
-rw-r--r-- | PySide/global.h | 1 |
7 files changed, 125 insertions, 17 deletions
diff --git a/PySide/CMakeLists.txt b/PySide/CMakeLists.txt index af3e3b861..32f9b7c75 100644 --- a/PySide/CMakeLists.txt +++ b/PySide/CMakeLists.txt @@ -34,18 +34,6 @@ endmacro(HAS_QT_MODULE) execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink "${CMAKE_CURRENT_SOURCE_DIR}/__init__.py" "${CMAKE_BINARY_DIR}/PySide/__init__.py") -HAS_QT_MODULE(QT_QTCORE_FOUND QtCore) -HAS_QT_MODULE(QT_QTGUI_FOUND QtGui) -HAS_QT_MODULE(QT_QTNETWORK_FOUND QtNetwork) -HAS_QT_MODULE(QT_QTWEBKIT_FOUND QtWebKit) -HAS_QT_MODULE(QT_QTSVG_FOUND QtSvg) -HAS_QT_MODULE(QT_QTXML_FOUND QtXml) -HAS_QT_MODULE(QT_QTTEST_FOUND QtTest) -HAS_QT_MODULE(QT_QTOPENGL_FOUND QtOpenGL) -HAS_QT_MODULE(QT_QTSQL_FOUND QtSql) -HAS_QT_MODULE(QT_QTUITOOLS_FOUND QtUiTools) -HAS_QT_MODULE(QT_QTHELP_FOUND QtHelp) -HAS_QT_MODULE(QT_QTXMLPATTERNS_FOUND QtXmlPatterns) # Try to find QtMultimedia # TODO: Remove this hack when cmake support QtMultimedia module @@ -60,4 +48,34 @@ if (NOT QT_QTMULTIMEDIA_FOUND AND ${QTVERSION} VERSION_GREATER 4.5.9) endif() endif () +# Try to find QtMaemo5 this need be before QtGui for enable some flags on that +# TODO: Remove this hack when cmake support QtMaemo5 module +if (NOT QT_QTMAEMO5_FOUND AND ${QTVERSION} VERSION_GREATER 4.5.9) + find_path(QT_QTMAEMO5_INCLUDE_DIR QtMaemo5 + PATHS ${QT_HEADERS_DIR}/QtMaemo5 + ${QT_LIBRARY_DIR}/QtMaemo5.framework/Headers + NO_DEFAULT_PATH) + find_library(QT_QTMAEMO5_LIBRARY QtMaemo5 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) + if (QT_QTMAEMO5_INCLUDE_DIR AND QT_QTMAEMO5_LIBRARY) + set(QT_QTMAEMO5_FOUND ON) + set(Q_WS_MAEMO_5 ON) + endif() +endif () + +HAS_QT_MODULE(QT_QTCORE_FOUND QtCore) +HAS_QT_MODULE(QT_QTGUI_FOUND QtGui) +HAS_QT_MODULE(QT_QTNETWORK_FOUND QtNetwork) +HAS_QT_MODULE(QT_QTWEBKIT_FOUND QtWebKit) +HAS_QT_MODULE(QT_QTSVG_FOUND QtSvg) +HAS_QT_MODULE(QT_QTXML_FOUND QtXml) +HAS_QT_MODULE(QT_QTTEST_FOUND QtTest) +HAS_QT_MODULE(QT_QTOPENGL_FOUND QtOpenGL) +HAS_QT_MODULE(QT_QTSQL_FOUND QtSql) +HAS_QT_MODULE(QT_QTUITOOLS_FOUND QtUiTools) +HAS_QT_MODULE(QT_QTHELP_FOUND QtHelp) +HAS_QT_MODULE(QT_QTXMLPATTERNS_FOUND QtXmlPatterns) +HAS_QT_MODULE(QT_QTMAEMO5_FOUND QtMaemo5) + HAS_QT_MODULE(QT_QTMULTIMEDIA_FOUND QtMultimedia) + + diff --git a/PySide/QtGui/CMakeLists.txt b/PySide/QtGui/CMakeLists.txt index ea181abb2..9701ffb1a 100644 --- a/PySide/QtGui/CMakeLists.txt +++ b/PySide/QtGui/CMakeLists.txt @@ -33,21 +33,33 @@ macro(CHECK_QT_GUI_MACRO macro_display_name qt_macro module_sources global_sourc endif() endmacro(CHECK_QT_GUI_MACRO) - if(Q_WS_X11) - set(MODULE_NAME gui_x11) + set(AUTO_OS "X11") + set(MODULE_NAME "x11") set(SPECIFIC_OS_FILES ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qx11info_wrapper.cpp ) + if(Q_WS_MAEMO_5) + set(AUTO_OS "MAEMO 5") + set(MODULE_NAME "maemo") + set(SPECIFIC_OS_FILES + ${SPECIFIC_OS_FILES} + ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qabstractkineticscroller_wrapper.cpp + ) + endif(Q_WS_MAEMO_5) + elseif(Q_WS_MAC) - set(MODULE_NAME gui_mac) + set(AUTO_OS "MAC") + set(MODULE_NAME "mac") set(SPECIFIC_OS_FILES ) else() message(FATAL_ERROR "OS not supported") endif(Q_WS_X11) +message(STATUS "Detected OS: ${AUTO_OS}") + if (${QT_VERSION_MAJOR} EQUAL 4 AND ${QT_VERSION_MINOR} LESS 6) set (QtGui_46_SRC ) else() diff --git a/PySide/QtGui/typesystem_gui.xml.in b/PySide/QtGui/typesystem_gui.xml.in index 8ef52b10f..2dc967626 100644 --- a/PySide/QtGui/typesystem_gui.xml.in +++ b/PySide/QtGui/typesystem_gui.xml.in @@ -1,6 +1,5 @@ <?xml version="1.0"?> <typesystem package="PySide.QtGui"> <load-typesystem name="typesystem_core.xml" generate="no"/> - <!-- TODO: Replace x11 for a proper variable which identifies the current platform --> - <load-typesystem name="typesystem_gui_x11.xml" generate="yes"/> + <load-typesystem name="typesystem_gui_@MODULE_NAME@.xml" generate="yes"/> </typesystem> diff --git a/PySide/QtGui/typesystem_gui_maemo.xml b/PySide/QtGui/typesystem_gui_maemo.xml new file mode 100644 index 000000000..9efac7dfa --- /dev/null +++ b/PySide/QtGui/typesystem_gui_maemo.xml @@ -0,0 +1,7 @@ +<?xml version="1.0"?> +<typesystem package="PySide.QtGui"> + + <object-type name="QAbstractKineticScroller" /> + + <load-typesystem name="typesystem_gui_x11.xml" generate="yes"/> +</typesystem> diff --git a/PySide/QtMaemo5/CMakeLists.txt b/PySide/QtMaemo5/CMakeLists.txt new file mode 100644 index 000000000..b7e997c92 --- /dev/null +++ b/PySide/QtMaemo5/CMakeLists.txt @@ -0,0 +1,57 @@ +project(QtMaemo5) + +set(QtMaemo5_SRC +${CMAKE_CURRENT_BINARY_DIR}/${BINDING_NAME}/QtMaemo5/qmaemo5abstractpickselector_wrapper.cpp +${CMAKE_CURRENT_BINARY_DIR}/${BINDING_NAME}/QtMaemo5/qmaemo5datepickselector_wrapper.cpp +${CMAKE_CURRENT_BINARY_DIR}/${BINDING_NAME}/QtMaemo5/qmaemo5editbar_wrapper.cpp +${CMAKE_CURRENT_BINARY_DIR}/${BINDING_NAME}/QtMaemo5/qmaemo5informationbox_wrapper.cpp +${CMAKE_CURRENT_BINARY_DIR}/${BINDING_NAME}/QtMaemo5/qmaemo5listpickselector_wrapper.cpp +${CMAKE_CURRENT_BINARY_DIR}/${BINDING_NAME}/QtMaemo5/qmaemo5timepickselector_wrapper.cpp +${CMAKE_CURRENT_BINARY_DIR}/${BINDING_NAME}/QtMaemo5/qmaemo5valuebutton_wrapper.cpp +${CMAKE_CURRENT_BINARY_DIR}/${BINDING_NAME}/QtMaemo5/qtmaemo5_module_wrapper.cpp +) + +execute_generator(maemo5 QtMaemo5_SRC + "${CMAKE_CURRENT_BINARY_DIR}:${QtCore_SOURCE_DIR}:${QtGui_BINARY_DIR}:${QtGui_SOURCE_DIR}:${QtMaemo5_SOURCE_DIR}") + +# QT_QTMAEMO5_* variables are not defined by CMake +if(NOT QT_QTMAEMO5_INCLUDE_DIR) + FIND_PATH(QT_QTMAEMO5_INCLUDE_DIR QtMaemo5 + PATHS ${QT_HEADERS_DIR}/QtMaemo5 NO_DEFAULT_PATH) +endif(NOT QT_QTMAEMO5_INCLUDE_DIR) +if(NOT QT_QTMAEMO5_LIBRARY) + FIND_LIBRARY(QT_QTMAEMO5_LIBRARY QtMaemo5 + PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH) +endif(NOT QT_QTMAEMO5_LIBRARY) + +include_directories(${CMAKE_CURRENT_SOURCE_DIR} + ${QT_QTCORE_INCLUDE_DIR} + ${QT_QTGUI_INCLUDE_DIR} + ${QT_QTMAEMO5_INCLUDE_DIR} + ${PYTHON_INCLUDE_PATH} + ${SHIBOKEN_INCLUDE_DIR} + ${libpyside_SOURCE_DIR} + ${QtCore_BINARY_DIR}/${BINDING_NAME}/QtCore/ + ${QtGui_BINARY_DIR}/${BINDING_NAME}/QtGui/ + ${CMAKE_CURRENT_BINARY_DIR}/${BINDING_NAME}/QtMaemo5) +add_library(QtMaemo5 MODULE ${QtMaemo5_SRC}) + +set_target_properties(QtMaemo5 PROPERTIES + PREFIX "") + +target_link_libraries(QtMaemo5 + pyside + ${PYTHON_LIBRARIES} + ${QT_QTCORE_LIBRARY} + ${QT_QTGUI_LIBRARY} + ${QT_QTMAEMO5_LIBRARY}) + +#add_dependencies(QtMaemo5) + +# install +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/QtMaemo5.so + DESTINATION ${SITE_PACKAGE}/${BINDING_NAME}) + +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtMaemo5/pyside_qtmaemo5_python.h + DESTINATION include/${BINDING_NAME}/QtMaemo5/) + diff --git a/PySide/QtMaemo5/typesystem_maemo5.xml b/PySide/QtMaemo5/typesystem_maemo5.xml new file mode 100644 index 000000000..283f939cb --- /dev/null +++ b/PySide/QtMaemo5/typesystem_maemo5.xml @@ -0,0 +1,14 @@ +<?xml version="1.0"?> +<typesystem package="PySide.QtMaemo5"> + <load-typesystem name="typesystem_gui.xml" generate="no"/> + + <enum-type name="QMaemo5ValueButton::ValueLayout"/> + + <object-type name="QMaemo5AbstractPickSelector"/> + <object-type name="QMaemo5DatePickSelector"/> + <object-type name="QMaemo5EditBar"/> + <object-type name="QMaemo5InformationBox"/> + <object-type name="QMaemo5ListPickSelector"/> + <object-type name="QMaemo5TimePickSelector"/> + <object-type name="QMaemo5ValueButton"/> +</typesystem> diff --git a/PySide/global.h b/PySide/global.h index 23acc79f1..cb94eef22 100644 --- a/PySide/global.h +++ b/PySide/global.h @@ -23,6 +23,7 @@ #include <QtScript/QtScript> #include <QtScriptTools/QtScriptTools> #include <QtMultimedia/QtMultimedia> +#include <QtMaemo5/QtMaemo5> // QT_GUI_LIB must be defined to QSqlRelationalDelegate become visible #define QT_GUI_LIB |