summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLauro Neto <lauro.neto@openbossa.org>2010-05-04 17:12:43 -0300
committerLauro Neto <lauro.neto@openbossa.org>2010-05-04 17:12:43 -0300
commite4693719decd0b6cf6038a28870677993ab5bea8 (patch)
treed152992e9447671b32abb60d2966681405178376
parent73baf31d06c22b2ad5effad3a737f760985871a0 (diff)
parent3ca68789bb95a8a5d3bad0ad6f6799051bdb0f76 (diff)
downloadpyside-e4693719decd0b6cf6038a28870677993ab5bea8.tar.gz
pyside-e4693719decd0b6cf6038a28870677993ab5bea8.tar.xz
pyside-e4693719decd0b6cf6038a28870677993ab5bea8.zip
Merge commit '0.3.1' into debian
-rw-r--r--CMakeLists.txt3
-rw-r--r--PySide/CMakeLists.txt8
-rw-r--r--PySide/QtCore/CMakeLists.txt2
-rw-r--r--PySide/QtCore/qmultimap_conversions.h5
-rw-r--r--PySide/QtCore/typesystem_core.xml280
-rw-r--r--PySide/QtGui/CMakeLists.txt1
-rw-r--r--PySide/QtGui/glue/qapplication_init.cpp2
-rw-r--r--PySide/QtGui/glue/qlayout_help_functions.h51
-rw-r--r--PySide/QtGui/typesystem_gui_common.xml268
-rw-r--r--PySide/QtNetwork/typesystem_network.xml6
-rw-r--r--PySide/QtScript/CMakeLists.txt54
-rw-r--r--PySide/QtScript/typesystem_script.xml31
-rw-r--r--PySide/QtScriptTools/CMakeLists.txt40
-rw-r--r--PySide/QtScriptTools/typesystem_scripttools.xml17
-rw-r--r--PySide/QtTest/typesystem_test.xml4
-rw-r--r--PySide/QtWebKit/typesystem_webkit.xml3
-rw-r--r--PySide/QtXml/typesystem_xml.xml2
-rw-r--r--PySide/QtXmlPatterns/CMakeLists.txt2
-rw-r--r--PySide/QtXmlPatterns/typesystem_xmlpatterns.xml7
-rw-r--r--PySide/__init__.py2
-rw-r--r--PySide/global.h330
-rw-r--r--PySide/phonon/CMakeLists.txt68
-rw-r--r--PySide/phonon/pyside_phonon.h39
-rw-r--r--PySide/phonon/typesystem_phonon.xml181
-rw-r--r--PySide/qobjectdefs_pyside.h335
-rw-r--r--doc/CMakeLists.txt88
-rw-r--r--doc/_static/.gitignore0
-rw-r--r--doc/_static/basic.css417
-rw-r--r--doc/_static/default.css248
-rwxr-xr-xdoc/_static/images/._background_search.jpgbin0 -> 4096 bytes
-rwxr-xr-xdoc/_static/images/._bread_crumb.pngbin0 -> 4096 bytes
-rwxr-xr-xdoc/_static/images/._button_search.jpgbin0 -> 4096 bytes
-rwxr-xr-xdoc/_static/images/._side_background.jpgbin0 -> 25192 bytes
-rwxr-xr-xdoc/_static/images/._top_background.jpgbin0 -> 4096 bytes
-rw-r--r--doc/_static/images/background_search.jpgbin0 -> 2129 bytes
-rw-r--r--doc/_static/images/bg.jpgbin0 -> 5749 bytes
-rw-r--r--doc/_static/images/bread_crumb.pngbin0 -> 743 bytes
-rw-r--r--doc/_static/images/button_search.pngbin0 -> 3259 bytes
-rw-r--r--doc/_static/images/side_background.jpgbin0 -> 13760 bytes
-rw-r--r--doc/_static/images/top_background.jpgbin0 -> 500 bytes
-rw-r--r--doc/_templates/index.html68
-rw-r--r--doc/_themes/pysidedocs/defindex.html26
-rw-r--r--doc/_themes/pysidedocs/genindex-single.html46
-rw-r--r--doc/_themes/pysidedocs/genindex-split.html30
-rw-r--r--doc/_themes/pysidedocs/genindex.html57
-rw-r--r--doc/_themes/pysidedocs/layout.html147
-rw-r--r--doc/_themes/pysidedocs/modindex.html42
-rw-r--r--doc/_themes/pysidedocs/opensearch.xml10
-rw-r--r--doc/_themes/pysidedocs/page.html4
-rw-r--r--doc/_themes/pysidedocs/search.html26
-rw-r--r--doc/_themes/pysidedocs/static/.directory3
-rw-r--r--doc/_themes/pysidedocs/static/bg_header.pngbin0 -> 36012 bytes
-rw-r--r--doc/_themes/pysidedocs/static/bg_topo.jpgbin0 -> 14237 bytes
-rw-r--r--doc/_themes/pysidedocs/static/doctools.js232
-rw-r--r--doc/_themes/pysidedocs/static/fakebar.pngbin0 -> 101 bytes
-rw-r--r--doc/_themes/pysidedocs/static/jquery.js32
-rw-r--r--doc/_themes/pysidedocs/static/logo_indt.jpgbin0 -> 3138 bytes
-rw-r--r--doc/_themes/pysidedocs/static/logo_openbossa.pngbin0 -> 4702 bytes
-rw-r--r--doc/_themes/pysidedocs/static/logo_python.jpgbin0 -> 2660 bytes
-rw-r--r--doc/_themes/pysidedocs/static/logo_qt.pngbin0 -> 4618 bytes
-rw-r--r--doc/_themes/pysidedocs/static/pysidedocs.css412
-rw-r--r--doc/_themes/pysidedocs/static/pysidelogo.pngbin0 -> 12969 bytes
-rw-r--r--doc/_themes/pysidedocs/static/relbar_bg.pngbin0 -> 130 bytes
-rw-r--r--doc/_themes/pysidedocs/static/searchtools.js467
-rw-r--r--doc/_themes/pysidedocs/theme.conf7
-rw-r--r--doc/codesnippets/doc/src/snippets/accessibilityfactorysnippet.cpp68
-rw-r--r--doc/codesnippets/doc/src/snippets/accessibilitypluginsnippet.cpp75
-rw-r--r--doc/codesnippets/doc/src/snippets/accessibilityslidersnippet.cpp262
-rw-r--r--doc/codesnippets/doc/src/snippets/alphachannel.cpp55
-rw-r--r--doc/codesnippets/doc/src/snippets/audioeffects.cpp42
-rw-r--r--doc/codesnippets/doc/src/snippets/brush/brush.cpp87
-rw-r--r--doc/codesnippets/doc/src/snippets/brush/brush.pro1
-rw-r--r--doc/codesnippets/doc/src/snippets/brush/gradientcreationsnippet.cpp63
-rw-r--r--doc/codesnippets/doc/src/snippets/brushstyles/brushstyles.pro12
-rw-r--r--doc/codesnippets/doc/src/snippets/brushstyles/main.cpp52
-rw-r--r--doc/codesnippets/doc/src/snippets/brushstyles/qt-logo.pngbin0 -> 1422 bytes
-rw-r--r--doc/codesnippets/doc/src/snippets/brushstyles/renderarea.cpp79
-rw-r--r--doc/codesnippets/doc/src/snippets/brushstyles/renderarea.h62
-rw-r--r--doc/codesnippets/doc/src/snippets/brushstyles/stylewidget.cpp145
-rw-r--r--doc/codesnippets/doc/src/snippets/brushstyles/stylewidget.h99
-rw-r--r--doc/codesnippets/doc/src/snippets/buffer/buffer.cpp124
-rw-r--r--doc/codesnippets/doc/src/snippets/buffer/buffer.pro14
-rw-r--r--doc/codesnippets/doc/src/snippets/clipboard/clipboard.pro3
-rw-r--r--doc/codesnippets/doc/src/snippets/clipboard/clipwindow.cpp97
-rw-r--r--doc/codesnippets/doc/src/snippets/clipboard/clipwindow.h73
-rw-r--r--doc/codesnippets/doc/src/snippets/clipboard/main.cpp53
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc.src.qtscripttools.qdoc8
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_activeqt-dumpcpp.qdoc25
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_appicon.qdoc23
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_assistant-manual.qdoc110
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_atomic-operations.qdoc71
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_compiler-notes.qdoc8
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_containers.qdoc235
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_coordsys.qdoc47
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_debug.qdoc24
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_deployment.qdoc414
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_designer-manual.qdoc98
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_dnd.qdoc34
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_emb-charinput.qdoc20
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_emb-crosscompiling.qdoc36
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_emb-envvars.qdoc38
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_emb-features.qdoc18
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_emb-fonts.qdoc3
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_emb-install.qdoc37
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_emb-performance.qdoc36
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_emb-pointer.qdoc68
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_emb-qvfb.qdoc70
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_emb-running.qdoc61
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_emb-vnc.qdoc25
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_examples_activeqt_comapp.qdoc39
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_examples_activeqt_dotnet.qdoc4
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_examples_activeqt_menus.qdoc6
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_examples_ahigl.qdoc8
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_examples_application.qdoc5
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_examples_arrowpad.qdoc19
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_examples_containerextension.qdoc4
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_examples_customwidgetplugin.qdoc4
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_examples_dropsite.qdoc3
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_examples_editabletreemodel.qdoc8
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_examples_hellotr.qdoc31
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_examples_icons.qdoc14
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_examples_imageviewer.qdoc24
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_examples_qtscriptcustomclass.qdoc35
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_examples_simpledommodel.qdoc20
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_examples_simpletreemodel.qdoc12
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_examples_svgalib.qdoc3
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_examples_taskmenuextension.qdoc4
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_examples_textfinder.qdoc6
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_examples_trollprint.qdoc35
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_examples_tutorial.qdoc10
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_examples_worldtimeclockplugin.qdoc4
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_exportedfunctions.qdoc17
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_gpl.qdoc679
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_graphicsview.qdoc77
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_groups.qdoc26
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_i18n.qdoc155
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_installation.qdoc127
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_introtodbus.qdoc3
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_layout.qdoc126
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_lgpl.qdoc507
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_licenses.qdoc108
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_linguist-manual.qdoc183
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_moc.qdoc124
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_model-view-programming.qdoc36
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_modules.qdoc3
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_objecttrees.qdoc20
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_phonon-api.qdoc224
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_phonon.qdoc13
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_platform-notes.qdoc39
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_plugins-howto.qdoc67
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_porting-qsa.qdoc187
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_porting4-canvas.qdoc116
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_porting4-designer.qdoc159
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_porting4.qdoc473
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_properties.qdoc78
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_q3asciidict.qdoc52
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_q3dict.qdoc29
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_q3intdict.qdoc51
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_q3memarray.qdoc80
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_q3ptrdict.qdoc66
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_q3ptrlist.qdoc82
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_q3valuelist.qdoc95
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_q3valuestack.qdoc13
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_q3valuevector.qdoc85
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_qalgorithms.qdoc314
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_qaxcontainer.qdoc8
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_qaxserver.qdoc223
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_qcache.qdoc17
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_qdbusadaptors.qdoc253
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_qiterator.qdoc380
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_qmake-manual.qdoc813
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_qnamespace.qdoc24
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_qpair.qdoc15
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_qplugin.qdoc24
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_qset.qdoc126
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_qsignalspy.qdoc41
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_qt-conf.qdoc14
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_qt-embedded-displaymanagement.qdoc51
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_qt3support.qdoc8
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_qt3to4.qdoc26
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_qt4-accessibility.qdoc59
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_qt4-arthur.qdoc104
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_qt4-intro.qdoc101
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_qt4-mainwindow.qdoc70
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_qt4-sql.qdoc19
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_qt4-styles.qdoc42
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_qt4-tulip.qdoc100
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_qtcore.qdoc3
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_qtdbus.qdoc8
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_qtdesigner.qdoc293
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_qtestevent.qdoc11
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_qtestlib.qdoc102
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_qtgui.qdoc3
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_qthelp.qdoc161
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_qtmac-as-native.qdoc3
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_qtnetwork.qdoc8
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_qtopengl.qdoc8
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_qtscript.qdoc948
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_qtscriptextensions.qdoc7
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_qtsql.qdoc8
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_qtsvg.qdoc8
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_qttest.qdoc8
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_qtuiloader.qdoc8
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_qtxml.qdoc77
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_qtxmlpatterns.qdoc349
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_qvarlengtharray.qdoc38
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_rcc.qdoc3
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_resources.qdoc41
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_richtext.qdoc50
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_session.qdoc3
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_sql-driver.qdoc239
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_styles.qdoc94
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_stylesheet.qdoc1911
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_uic.qdoc15
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_unicode.qdoc18
-rw-r--r--doc/codesnippets/doc/src/snippets/code/doc_src_unix-signal-handlers.qdoc110
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src.gui.text.qtextdocumentwriter.cpp5
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src.qdbus.qdbuspendingcall.cpp24
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src.qdbus.qdbuspendingreply.cpp23
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src.scripttools.qscriptenginedebugger.cpp9
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_activeqt_container_qaxbase.cpp159
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_activeqt_container_qaxscript.cpp18
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_activeqt_control_qaxbindable.cpp60
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_activeqt_control_qaxfactory.cpp155
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_codecs_qtextcodec.cpp32
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_codecs_qtextcodecplugin.cpp12
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_concurrent_qfuture.cpp24
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_concurrent_qfuturesynchronizer.cpp13
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_concurrent_qfuturewatcher.cpp10
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_concurrent_qtconcurrentexception.cpp35
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_concurrent_qtconcurrentfilter.cpp131
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_concurrent_qtconcurrentmap.cpp144
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_concurrent_qtconcurrentrun.cpp60
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_concurrent_qthreadpool.cpp9
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_global_qglobal.cpp466
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_io_qabstractfileengine.cpp62
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_io_qdatastream.cpp85
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_io_qdir.cpp130
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_io_qdiriterator.cpp12
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_io_qfile.cpp32
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_io_qfileinfo.cpp99
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_io_qiodevice.cpp48
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_io_qprocess.cpp82
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_io_qsettings.cpp280
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_io_qtemporaryfile.cpp12
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_io_qtextstream.cpp90
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_io_qurl.cpp46
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_kernel_qabstracteventdispatcher.cpp3
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_kernel_qabstractitemmodel.cpp28
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_kernel_qcoreapplication.cpp86
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_kernel_qmetaobject.cpp87
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_kernel_qmetatype.cpp69
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_kernel_qmimedata.cpp57
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_kernel_qobject.cpp319
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_kernel_qsystemsemaphore.cpp21
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_kernel_qtimer.cpp10
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_kernel_qvariant.cpp99
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_plugin_qlibrary.cpp44
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_plugin_quuid.cpp4
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_thread_qatomic.cpp58
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_thread_qmutex.cpp115
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_thread_qmutexpool.cpp12
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_thread_qreadwritelock.cpp61
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_thread_qsemaphore.cpp33
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_thread_qthread.cpp9
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_thread_qwaitcondition_unix.cpp45
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_tools_qbitarray.cpp189
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_tools_qbytearray.cpp355
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_tools_qdatetime.cpp106
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_tools_qhash.cpp259
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_tools_qlinkedlist.cpp164
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_tools_qlistdata.cpp227
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_tools_qlocale.cpp48
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_tools_qmap.cpp273
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_tools_qpoint.cpp111
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_tools_qqueue.cpp8
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_tools_qrect.cpp10
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_tools_qregexp.cpp175
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_tools_qsize.cpp96
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_tools_qstring.cpp45
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_tools_qtimeline.cpp15
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_tools_qvector.cpp143
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_corelib_xml_qxmlstream.cpp27
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_accessible_qaccessible.cpp7
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_dialogs_qabstractprintdialog.cpp5
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_dialogs_qfiledialog.cpp86
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_dialogs_qfontdialog.cpp40
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_dialogs_qmessagebox.cpp102
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_dialogs_qwizard.cpp31
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_graphicsview_qgraphicsgridlayout.cpp13
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_graphicsview_qgraphicsitem.cpp185
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_graphicsview_qgraphicslinearlayout.cpp13
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_graphicsview_qgraphicsproxywidget.cpp46
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_graphicsview_qgraphicsscene.cpp75
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_graphicsview_qgraphicssceneevent.cpp5
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_graphicsview_qgraphicsview.cpp86
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_graphicsview_qgraphicswidget.cpp25
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_image_qbitmap.cpp4
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_image_qicon.cpp26
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_image_qimage.cpp36
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_image_qimagereader.cpp25
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_image_qimagewriter.cpp19
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_image_qmovie.cpp13
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_image_qpixmap.cpp12
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_image_qpixmapcache.cpp16
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_image_qpixmapfilter.cpp22
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_itemviews_qabstractitemview.cpp17
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_itemviews_qdatawidgetmapper.cpp23
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_itemviews_qitemeditorfactory.cpp23
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_itemviews_qitemselectionmodel.cpp10
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_itemviews_qstandarditemmodel.cpp37
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_itemviews_qtablewidget.cpp5
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_itemviews_qtreewidget.cpp8
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_kernel_qaction.cpp9
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_kernel_qapplication.cpp127
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_kernel_qapplication_x11.cpp5
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_kernel_qclipboard.cpp13
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_kernel_qevent.cpp11
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_kernel_qformlayout.cpp36
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_kernel_qkeysequence.cpp19
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_kernel_qlayout.cpp25
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_kernel_qlayoutitem.cpp8
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_kernel_qshortcut.cpp15
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_kernel_qshortcutmap.cpp3
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_kernel_qsound.cpp9
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_kernel_qwidget.cpp100
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_painting_qbrush.cpp11
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_painting_qcolor.cpp9
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_painting_qdrawutil.cpp58
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_painting_qmatrix.cpp22
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_painting_qpainter.cpp195
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_painting_qpainterpath.cpp110
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_painting_qpen.cpp35
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_painting_qregion.cpp13
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_painting_qregion_unix.cpp18
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_painting_qtransform.cpp38
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_styles_qstyle.cpp8
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_styles_qstyleoption.cpp7
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_text_qfont.cpp27
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_text_qfontmetrics.cpp14
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_text_qsyntaxhighlighter.cpp74
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_text_qtextcursor.cpp40
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_text_qtextdocument.cpp10
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_text_qtextlayout.cpp23
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_util_qcompleter.cpp25
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_util_qdesktopservices.cpp15
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_util_qundostack.cpp70
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_widgets_qabstractbutton.cpp19
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_widgets_qabstractspinbox.cpp8
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_widgets_qcalendarwidget.cpp33
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_widgets_qcheckbox.cpp3
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_widgets_qdatetimeedit.cpp39
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_widgets_qdockwidget.cpp7
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_widgets_qframe.cpp8
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_widgets_qgroupbox.cpp3
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_widgets_qlabel.cpp24
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_widgets_qlineedit.cpp7
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_widgets_qmenu.cpp37
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_widgets_qmenubar.cpp8
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_widgets_qplaintextedit.cpp14
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_widgets_qpushbutton.cpp3
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_widgets_qradiobutton.cpp3
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_widgets_qrubberband.cpp17
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_widgets_qscrollarea.cpp9
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_widgets_qspinbox.cpp40
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_widgets_qsplashscreen.cpp15
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_widgets_qsplitter.cpp7
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_widgets_qstatusbar.cpp3
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_widgets_qtextbrowser.cpp4
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_widgets_qtextedit.cpp19
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_widgets_qvalidator.cpp105
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_gui_widgets_qworkspace.cpp7
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_network_access_qftp.cpp59
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_network_access_qhttp.cpp82
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_network_access_qnetworkaccessmanager.cpp21
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_network_access_qnetworkrequest.cpp3
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_network_kernel_qhostaddress.cpp7
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_network_kernel_qhostinfo.cpp42
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_network_kernel_qnetworkproxy.cpp14
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_network_socket_qabstractsocket.cpp28
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_network_socket_qlocalsocket_unix.cpp12
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_network_socket_qnativesocketengine.cpp21
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_network_socket_qtcpserver.cpp3
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_network_socket_qudpsocket.cpp17
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_network_ssl_qsslcertificate.cpp4
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_network_ssl_qsslconfiguration.cpp5
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_network_ssl_qsslsocket.cpp50
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_opengl_qgl.cpp118
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_opengl_qglcolormap.cpp24
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_opengl_qglpixelbuffer.cpp19
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qdbus_qdbusabstractinterface.cpp20
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qdbus_qdbusargument.cpp151
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qdbus_qdbuscontext.cpp32
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qdbus_qdbusinterface.cpp11
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qdbus_qdbusmetatype.cpp3
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qdbus_qdbusreply.cpp14
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qt3support_canvas_q3canvas.cpp51
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qt3support_dialogs_q3filedialog.cpp229
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qt3support_dialogs_q3progressdialog.cpp41
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qt3support_itemviews_q3iconview.cpp75
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qt3support_itemviews_q3listview.cpp73
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qt3support_itemviews_q3table.cpp57
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qt3support_network_q3dns.cpp58
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qt3support_network_q3ftp.cpp65
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qt3support_network_q3http.cpp74
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qt3support_network_q3localfs.cpp4
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qt3support_network_q3networkprotocol.cpp8
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qt3support_network_q3socket.cpp4
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qt3support_network_q3socketdevice.cpp4
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qt3support_network_q3url.cpp43
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qt3support_network_q3urloperator.cpp37
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qt3support_other_q3accel.cpp40
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qt3support_other_q3mimefactory.cpp32
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qt3support_other_q3process.cpp8
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qt3support_other_q3process_unix.cpp4
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qt3support_painting_q3paintdevicemetrics.cpp4
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qt3support_painting_q3painter.cpp4
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qt3support_painting_q3picture.cpp14
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qt3support_sql_q3databrowser.cpp8
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qt3support_sql_q3datatable.cpp8
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qt3support_sql_q3dataview.cpp4
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qt3support_sql_q3sqlcursor.cpp100
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qt3support_sql_q3sqlform.cpp26
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qt3support_sql_q3sqlmanager_p.cpp11
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qt3support_sql_q3sqlpropertymap.cpp35
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qt3support_sql_q3sqlselectcursor.cpp11
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qt3support_text_q3simplerichtext.cpp3
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qt3support_text_q3textbrowser.cpp3
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qt3support_text_q3textedit.cpp31
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qt3support_text_q3textstream.cpp29
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qt3support_tools_q3cstring.cpp40
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qt3support_tools_q3deepcopy.cpp58
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qt3support_tools_q3garray.cpp20
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qt3support_tools_q3signal.cpp38
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qt3support_widgets_q3combobox.cpp15
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qt3support_widgets_q3datetimeedit.cpp28
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qt3support_widgets_q3dockarea.cpp8
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qt3support_widgets_q3dockwindow.cpp4
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qt3support_widgets_q3gridview.cpp6
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qt3support_widgets_q3header.cpp6
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qt3support_widgets_q3mainwindow.cpp45
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qt3support_widgets_q3scrollview.cpp61
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qt3support_widgets_q3whatsthis.cpp3
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_qtestlib_qtestcase.cpp188
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_script_qscriptable.cpp19
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_script_qscriptclass.cpp9
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_script_qscriptcontext.cpp23
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_script_qscriptengine.cpp270
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_script_qscriptengineagent.cpp12
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_script_qscriptvalue.cpp41
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_script_qscriptvalueiterator.cpp28
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_sql_kernel_qsqldatabase.cpp96
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_sql_kernel_qsqldriver.cpp23
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_sql_kernel_qsqlerror.cpp6
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_sql_kernel_qsqlindex.cpp5
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_sql_kernel_qsqlquery.cpp40
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_sql_kernel_qsqlresult.cpp38
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_sql_models_qsqlquerymodel.cpp12
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_svg_qgraphicssvgitem.cpp11
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_xml_dom_qdom.cpp180
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_xml_sax_qxml.cpp3
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_xmlpatterns_api_qabstracturiresolver.cpp3
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_xmlpatterns_api_qabstractxmlforwarditerator.cpp3
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_xmlpatterns_api_qabstractxmlnodemodel.cpp22
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_xmlpatterns_api_qabstractxmlreceiver.cpp7
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_xmlpatterns_api_qsimplexmlnodemodel.cpp19
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_xmlpatterns_api_qxmlformatter.cpp8
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_xmlpatterns_api_qxmlname.cpp8
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_xmlpatterns_api_qxmlquery.cpp152
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_xmlpatterns_api_qxmlresultitems.cpp16
-rw-r--r--doc/codesnippets/doc/src/snippets/code/src_xmlpatterns_api_qxmlserializer.cpp7
-rw-r--r--doc/codesnippets/doc/src/snippets/code/tools_assistant_compat_lib_qassistantclient.cpp25
-rw-r--r--doc/codesnippets/doc/src/snippets/code/tools_designer_src_lib_extension_default_extensionfactory.cpp35
-rw-r--r--doc/codesnippets/doc/src/snippets/code/tools_designer_src_lib_extension_extension.cpp15
-rw-r--r--doc/codesnippets/doc/src/snippets/code/tools_designer_src_lib_extension_qextensionmanager.cpp17
-rw-r--r--doc/codesnippets/doc/src/snippets/code/tools_designer_src_lib_sdk_abstractformeditor.cpp11
-rw-r--r--doc/codesnippets/doc/src/snippets/code/tools_designer_src_lib_sdk_abstractformwindow.cpp25
-rw-r--r--doc/codesnippets/doc/src/snippets/code/tools_designer_src_lib_sdk_abstractformwindowcursor.cpp8
-rw-r--r--doc/codesnippets/doc/src/snippets/code/tools_designer_src_lib_sdk_abstractformwindowmanager.cpp11
-rw-r--r--doc/codesnippets/doc/src/snippets/code/tools_designer_src_lib_sdk_abstractobjectinspector.cpp11
-rw-r--r--doc/codesnippets/doc/src/snippets/code/tools_designer_src_lib_sdk_abstractpropertyeditor.cpp23
-rw-r--r--doc/codesnippets/doc/src/snippets/code/tools_designer_src_lib_sdk_abstractwidgetbox.cpp30
-rw-r--r--doc/codesnippets/doc/src/snippets/code/tools_designer_src_lib_uilib_abstractformbuilder.cpp17
-rw-r--r--doc/codesnippets/doc/src/snippets/code/tools_designer_src_lib_uilib_formbuilder.cpp26
-rw-r--r--doc/codesnippets/doc/src/snippets/code/tools_patternist_qapplicationargumentparser.cpp5
-rw-r--r--doc/codesnippets/doc/src/snippets/code/tools_shared_qtgradienteditor_qtgradientdialog.cpp44
-rw-r--r--doc/codesnippets/doc/src/snippets/code/tools_shared_qtpropertybrowser_qtpropertybrowser.cpp47
-rw-r--r--doc/codesnippets/doc/src/snippets/code/tools_shared_qtpropertybrowser_qtvariantproperty.cpp16
-rw-r--r--doc/codesnippets/doc/src/snippets/code/tools_shared_qttoolbardialog_qttoolbardialog.cpp12
-rw-r--r--doc/codesnippets/doc/src/snippets/complexpingpong-example.qdoc4
-rw-r--r--doc/codesnippets/doc/src/snippets/console/dbus_pingpong.txt3
-rw-r--r--doc/codesnippets/doc/src/snippets/coordsys/coordsys.cpp77
-rw-r--r--doc/codesnippets/doc/src/snippets/coordsys/coordsys.pro1
-rw-r--r--doc/codesnippets/doc/src/snippets/customstyle/customstyle.cpp89
-rw-r--r--doc/codesnippets/doc/src/snippets/customstyle/customstyle.h60
-rw-r--r--doc/codesnippets/doc/src/snippets/customstyle/customstyle.pro2
-rw-r--r--doc/codesnippets/doc/src/snippets/customstyle/main.cpp55
-rw-r--r--doc/codesnippets/doc/src/snippets/customviewstyle.cpp29
-rw-r--r--doc/codesnippets/doc/src/snippets/dbus-pingpong-example.qdoc3
-rw-r--r--doc/codesnippets/doc/src/snippets/designer/autoconnection/autoconnection.pro5
-rw-r--r--doc/codesnippets/doc/src/snippets/designer/autoconnection/imagedialog.cpp70
-rw-r--r--doc/codesnippets/doc/src/snippets/designer/autoconnection/imagedialog.h60
-rw-r--r--doc/codesnippets/doc/src/snippets/designer/autoconnection/imagedialog.ui389
-rw-r--r--doc/codesnippets/doc/src/snippets/designer/autoconnection/main.cpp52
-rw-r--r--doc/codesnippets/doc/src/snippets/designer/designer.pro6
-rw-r--r--doc/codesnippets/doc/src/snippets/designer/imagedialog/imagedialog.pro3
-rw-r--r--doc/codesnippets/doc/src/snippets/designer/imagedialog/imagedialog.ui389
-rw-r--r--doc/codesnippets/doc/src/snippets/designer/imagedialog/main.cpp54
-rw-r--r--doc/codesnippets/doc/src/snippets/designer/multipleinheritance/imagedialog.cpp60
-rw-r--r--doc/codesnippets/doc/src/snippets/designer/multipleinheritance/imagedialog.h55
-rw-r--r--doc/codesnippets/doc/src/snippets/designer/multipleinheritance/imagedialog.ui389
-rw-r--r--doc/codesnippets/doc/src/snippets/designer/multipleinheritance/main.cpp52
-rw-r--r--doc/codesnippets/doc/src/snippets/designer/multipleinheritance/multipleinheritance.pro5
-rw-r--r--doc/codesnippets/doc/src/snippets/designer/noautoconnection/imagedialog.cpp77
-rw-r--r--doc/codesnippets/doc/src/snippets/designer/noautoconnection/imagedialog.h60
-rw-r--r--doc/codesnippets/doc/src/snippets/designer/noautoconnection/imagedialog.ui389
-rw-r--r--doc/codesnippets/doc/src/snippets/designer/noautoconnection/main.cpp52
-rw-r--r--doc/codesnippets/doc/src/snippets/designer/noautoconnection/noautoconnection.pro5
-rw-r--r--doc/codesnippets/doc/src/snippets/designer/singleinheritance/imagedialog.cpp60
-rw-r--r--doc/codesnippets/doc/src/snippets/designer/singleinheritance/imagedialog.h58
-rw-r--r--doc/codesnippets/doc/src/snippets/designer/singleinheritance/imagedialog.ui389
-rw-r--r--doc/codesnippets/doc/src/snippets/designer/singleinheritance/main.cpp52
-rw-r--r--doc/codesnippets/doc/src/snippets/designer/singleinheritance/singleinheritance.pro5
-rw-r--r--doc/codesnippets/doc/src/snippets/dialogs/dialogs.cpp120
-rw-r--r--doc/codesnippets/doc/src/snippets/dialogs/dialogs.pro1
-rw-r--r--doc/codesnippets/doc/src/snippets/dockwidgets/Resources/modules.html28
-rw-r--r--doc/codesnippets/doc/src/snippets/dockwidgets/Resources/qtcore.html122
-rw-r--r--doc/codesnippets/doc/src/snippets/dockwidgets/Resources/qtgui.html276
-rw-r--r--doc/codesnippets/doc/src/snippets/dockwidgets/Resources/qtnetwork.html35
-rw-r--r--doc/codesnippets/doc/src/snippets/dockwidgets/Resources/qtopengl.html27
-rw-r--r--doc/codesnippets/doc/src/snippets/dockwidgets/Resources/qtsql.html39
-rw-r--r--doc/codesnippets/doc/src/snippets/dockwidgets/Resources/qtxml.html53
-rw-r--r--doc/codesnippets/doc/src/snippets/dockwidgets/Resources/titles.txt7
-rw-r--r--doc/codesnippets/doc/src/snippets/dockwidgets/dockwidgets.pro4
-rw-r--r--doc/codesnippets/doc/src/snippets/dockwidgets/dockwidgets.qrc12
-rw-r--r--doc/codesnippets/doc/src/snippets/dockwidgets/main.cpp53
-rw-r--r--doc/codesnippets/doc/src/snippets/dockwidgets/mainwindow.cpp123
-rw-r--r--doc/codesnippets/doc/src/snippets/dockwidgets/mainwindow.h71
-rw-r--r--doc/codesnippets/doc/src/snippets/draganddrop/draganddrop.pro5
-rw-r--r--doc/codesnippets/doc/src/snippets/draganddrop/dragwidget.cpp154
-rw-r--r--doc/codesnippets/doc/src/snippets/draganddrop/dragwidget.h80
-rw-r--r--doc/codesnippets/doc/src/snippets/draganddrop/main.cpp54
-rw-r--r--doc/codesnippets/doc/src/snippets/draganddrop/mainwindow.cpp85
-rw-r--r--doc/codesnippets/doc/src/snippets/draganddrop/mainwindow.h72
-rw-r--r--doc/codesnippets/doc/src/snippets/dragging/dragging.pro4
-rw-r--r--doc/codesnippets/doc/src/snippets/dragging/images.qrc5
-rw-r--r--doc/codesnippets/doc/src/snippets/dragging/images/file.pngbin0 -> 313 bytes
-rw-r--r--doc/codesnippets/doc/src/snippets/dragging/main.cpp52
-rw-r--r--doc/codesnippets/doc/src/snippets/dragging/mainwindow.cpp63
-rw-r--r--doc/codesnippets/doc/src/snippets/dragging/mainwindow.h72
-rw-r--r--doc/codesnippets/doc/src/snippets/dropactions/dropactions.pro3
-rw-r--r--doc/codesnippets/doc/src/snippets/dropactions/main.cpp52
-rw-r--r--doc/codesnippets/doc/src/snippets/dropactions/window.cpp106
-rw-r--r--doc/codesnippets/doc/src/snippets/dropactions/window.h72
-rw-r--r--doc/codesnippets/doc/src/snippets/droparea.cpp136
-rw-r--r--doc/codesnippets/doc/src/snippets/dropevents/dropevents.pro3
-rw-r--r--doc/codesnippets/doc/src/snippets/dropevents/main.cpp53
-rw-r--r--doc/codesnippets/doc/src/snippets/dropevents/window.cpp88
-rw-r--r--doc/codesnippets/doc/src/snippets/dropevents/window.h72
-rw-r--r--doc/codesnippets/doc/src/snippets/droprectangle/droprectangle.pro3
-rw-r--r--doc/codesnippets/doc/src/snippets/droprectangle/main.cpp52
-rw-r--r--doc/codesnippets/doc/src/snippets/droprectangle/window.cpp97
-rw-r--r--doc/codesnippets/doc/src/snippets/droprectangle/window.h72
-rw-r--r--doc/codesnippets/doc/src/snippets/eventfilters/eventfilters.pro3
-rw-r--r--doc/codesnippets/doc/src/snippets/eventfilters/filterobject.cpp75
-rw-r--r--doc/codesnippets/doc/src/snippets/eventfilters/filterobject.h60
-rw-r--r--doc/codesnippets/doc/src/snippets/eventfilters/main.cpp55
-rw-r--r--doc/codesnippets/doc/src/snippets/events/events.cpp98
-rw-r--r--doc/codesnippets/doc/src/snippets/events/events.pro1
-rw-r--r--doc/codesnippets/doc/src/snippets/explicitlysharedemployee/employee.cpp110
-rw-r--r--doc/codesnippets/doc/src/snippets/explicitlysharedemployee/employee.h75
-rw-r--r--doc/codesnippets/doc/src/snippets/explicitlysharedemployee/explicitlysharedemployee.pro3
-rw-r--r--doc/codesnippets/doc/src/snippets/explicitlysharedemployee/main.cpp51
-rw-r--r--doc/codesnippets/doc/src/snippets/file/file.cpp121
-rw-r--r--doc/codesnippets/doc/src/snippets/file/file.pro14
-rw-r--r--doc/codesnippets/doc/src/snippets/filedialogurls.cpp22
-rw-r--r--doc/codesnippets/doc/src/snippets/fileinfo/fileinfo.pro11
-rw-r--r--doc/codesnippets/doc/src/snippets/fileinfo/main.cpp93
-rw-r--r--doc/codesnippets/doc/src/snippets/graphicssceneadditemsnippet.cpp81
-rw-r--r--doc/codesnippets/doc/src/snippets/i18n-non-qt-class/i18n-non-qt-class.pro7
-rw-r--r--doc/codesnippets/doc/src/snippets/i18n-non-qt-class/main.cpp55
-rw-r--r--doc/codesnippets/doc/src/snippets/i18n-non-qt-class/myclass.cpp48
-rw-r--r--doc/codesnippets/doc/src/snippets/i18n-non-qt-class/myclass.h60
-rw-r--r--doc/codesnippets/doc/src/snippets/i18n-non-qt-class/myclass.ts12
-rw-r--r--doc/codesnippets/doc/src/snippets/i18n-non-qt-class/resources.qrc6
-rw-r--r--doc/codesnippets/doc/src/snippets/i18n-non-qt-class/translations/i18n-non-qt-class_en.ts12
-rw-r--r--doc/codesnippets/doc/src/snippets/i18n-non-qt-class/translations/i18n-non-qt-class_fr.ts13
-rw-r--r--doc/codesnippets/doc/src/snippets/image/image.cpp60
-rw-r--r--doc/codesnippets/doc/src/snippets/image/image.pro1
-rw-r--r--doc/codesnippets/doc/src/snippets/image/supportedformat.cpp47
-rw-r--r--doc/codesnippets/doc/src/snippets/inherited-slot/button.cpp54
-rw-r--r--doc/codesnippets/doc/src/snippets/inherited-slot/button.h60
-rw-r--r--doc/codesnippets/doc/src/snippets/inherited-slot/inherited-slot.pro3
-rw-r--r--doc/codesnippets/doc/src/snippets/inherited-slot/main.cpp67
-rw-r--r--doc/codesnippets/doc/src/snippets/itemselection/itemselection.pro3
-rw-r--r--doc/codesnippets/doc/src/snippets/itemselection/main.cpp116
-rw-r--r--doc/codesnippets/doc/src/snippets/itemselection/model.cpp239
-rw-r--r--doc/codesnippets/doc/src/snippets/itemselection/model.h75
-rw-r--r--doc/codesnippets/doc/src/snippets/javastyle.cpp2746
-rw-r--r--doc/codesnippets/doc/src/snippets/layouts/layouts.cpp117
-rw-r--r--doc/codesnippets/doc/src/snippets/layouts/layouts.pro12
-rw-r--r--doc/codesnippets/doc/src/snippets/mainwindowsnippet.cpp49
-rw-r--r--doc/codesnippets/doc/src/snippets/matrix/matrix.cpp103
-rw-r--r--doc/codesnippets/doc/src/snippets/matrix/matrix.pro11
-rw-r--r--doc/codesnippets/doc/src/snippets/mdiareasnippets.cpp57
-rw-r--r--doc/codesnippets/doc/src/snippets/medianodesnippet.cpp29
-rw-r--r--doc/codesnippets/doc/src/snippets/moc/main.cpp66
-rw-r--r--doc/codesnippets/doc/src/snippets/moc/moc.pro2
-rw-r--r--doc/codesnippets/doc/src/snippets/moc/myclass1.h66
-rw-r--r--doc/codesnippets/doc/src/snippets/moc/myclass2.h67
-rw-r--r--doc/codesnippets/doc/src/snippets/moc/myclass3.h60
-rw-r--r--doc/codesnippets/doc/src/snippets/modelview-subclasses/main.cpp69
-rw-r--r--doc/codesnippets/doc/src/snippets/modelview-subclasses/model.cpp153
-rw-r--r--doc/codesnippets/doc/src/snippets/modelview-subclasses/model.h71
-rw-r--r--doc/codesnippets/doc/src/snippets/modelview-subclasses/view.cpp315
-rw-r--r--doc/codesnippets/doc/src/snippets/modelview-subclasses/view.h91
-rw-r--r--doc/codesnippets/doc/src/snippets/modelview-subclasses/window.cpp113
-rw-r--r--doc/codesnippets/doc/src/snippets/modelview-subclasses/window.h69
-rw-r--r--doc/codesnippets/doc/src/snippets/myscrollarea.cpp103
-rw-r--r--doc/codesnippets/doc/src/snippets/network/tcpwait.cpp63
-rw-r--r--doc/codesnippets/doc/src/snippets/ntfsp.cpp11
-rw-r--r--doc/codesnippets/doc/src/snippets/painterpath/painterpath.cpp77
-rw-r--r--doc/codesnippets/doc/src/snippets/painterpath/painterpath.pro1
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/anyHTMLElement.xq1
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/anyXLinkAttribute.xq2
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/bracesIncluded.xq1
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/bracesIncludedResult.xml1
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/bracesOmitted.xq1
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/bracesOmittedResult.xml2
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/computedTreeFragment.xq14
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/copyAttribute.xq9
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/copyID.xq3
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/directTreeFragment.xq7
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/doc.txt35
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/docPlainHTML.xq1
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/docPlainHTML2.xq1
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/embedDataInXHTML.xq10
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/embedDataInXHTML2.xq10
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/emptyParagraphs.xq1
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/escapeCurlyBraces.xq4
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/escapeStringLiterals.xml2
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/escapeStringLiterals.xq7
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/expressionInsideAttribute.xq2
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/filterOnPath.xq2
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/filterOnStep.xq2
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/firstParagraph.xq1
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/fnStringOnAttribute.xq9
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/forClause.xq3
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/forClause2.xq3
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/forClauseOnFeed.xq6
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/indented.xml5
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/introAcneRemover.xq8
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/introExample2.xq5
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/introFileHierarchy.xml14
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/introNavigateFS.xq12
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/introductionExample.xq3
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/invalidLetOrderBy.xq3
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/items.xq5
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/letOrderBy.xq4
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/literalsAndOperators.xq2
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/mobeyDick.xml4
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/nextLastParagraph.xq1
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/nodeConstructorsAreExpressions.xq4
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/nodeConstructorsInPaths.xq1
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/nodeTestChildElement.xq1
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/notIndented.xml1
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/oneElementConstructor.xq1
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/paragraphsExceptTheFiveFirst.xq1
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/paragraphsWithTables.xq1
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/pathAB.xq1
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/pathsAllParagraphs.xq1
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/simpleHTML.xq1
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/simpleXHTML.xq2
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/svgDocumentElement.xml1
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/tablesInParagraphs.xq1
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/twoSVGElements.xq5
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/xmlStylesheet.xq1
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/xsBooleanTrue.xq1
-rw-r--r--doc/codesnippets/doc/src/snippets/patternist/xsvgDocumentElement.xml1
-rw-r--r--doc/codesnippets/doc/src/snippets/persistentindexes/main.cpp52
-rw-r--r--doc/codesnippets/doc/src/snippets/persistentindexes/mainwindow.cpp121
-rw-r--r--doc/codesnippets/doc/src/snippets/persistentindexes/mainwindow.h71
-rw-r--r--doc/codesnippets/doc/src/snippets/persistentindexes/model.cpp169
-rw-r--r--doc/codesnippets/doc/src/snippets/persistentindexes/model.h72
-rw-r--r--doc/codesnippets/doc/src/snippets/persistentindexes/persistentindexes.pro5
-rw-r--r--doc/codesnippets/doc/src/snippets/phonon.cpp96
-rw-r--r--doc/codesnippets/doc/src/snippets/phonon/samplebackend/main.cpp115
-rw-r--r--doc/codesnippets/doc/src/snippets/phononeffectparameter.cpp35
-rw-r--r--doc/codesnippets/doc/src/snippets/phononobjectdescription.cpp40
-rw-r--r--doc/codesnippets/doc/src/snippets/picture/picture.cpp112
-rw-r--r--doc/codesnippets/doc/src/snippets/picture/picture.pro12
-rw-r--r--doc/codesnippets/doc/src/snippets/plaintextlayout/main.cpp53
-rw-r--r--doc/codesnippets/doc/src/snippets/plaintextlayout/plaintextlayout.pro3
-rw-r--r--doc/codesnippets/doc/src/snippets/plaintextlayout/window.cpp109
-rw-r--r--doc/codesnippets/doc/src/snippets/plaintextlayout/window.h62
-rw-r--r--doc/codesnippets/doc/src/snippets/pointer/pointer.cpp61
-rw-r--r--doc/codesnippets/doc/src/snippets/polygon/polygon.cpp87
-rw-r--r--doc/codesnippets/doc/src/snippets/polygon/polygon.pro1
-rw-r--r--doc/codesnippets/doc/src/snippets/porting4-dropevents/main.cpp53
-rw-r--r--doc/codesnippets/doc/src/snippets/porting4-dropevents/porting4-dropevents.pro3
-rw-r--r--doc/codesnippets/doc/src/snippets/porting4-dropevents/window.cpp125
-rw-r--r--doc/codesnippets/doc/src/snippets/porting4-dropevents/window.h73
-rw-r--r--doc/codesnippets/doc/src/snippets/printing-qprinter/errors.cpp18
-rw-r--r--doc/codesnippets/doc/src/snippets/printing-qprinter/main.cpp54
-rw-r--r--doc/codesnippets/doc/src/snippets/printing-qprinter/object.cpp72
-rw-r--r--doc/codesnippets/doc/src/snippets/printing-qprinter/object.h53
-rw-r--r--doc/codesnippets/doc/src/snippets/printing-qprinter/printing-qprinter.pro3
-rw-r--r--doc/codesnippets/doc/src/snippets/process/process.cpp77
-rw-r--r--doc/codesnippets/doc/src/snippets/process/process.pro1
-rw-r--r--doc/codesnippets/doc/src/snippets/qabstractsliderisnippet.cpp510
-rw-r--r--doc/codesnippets/doc/src/snippets/qcalendarwidget/main.cpp65
-rw-r--r--doc/codesnippets/doc/src/snippets/qcalendarwidget/qcalendarwidget.pro1
-rw-r--r--doc/codesnippets/doc/src/snippets/qcolumnview/main.cpp80
-rw-r--r--doc/codesnippets/doc/src/snippets/qcolumnview/qcolumnview.pro1
-rw-r--r--doc/codesnippets/doc/src/snippets/qdbusextratypes/qdbusextratypes.cpp67
-rw-r--r--doc/codesnippets/doc/src/snippets/qdbusextratypes/qdbusextratypes.pro2
-rw-r--r--doc/codesnippets/doc/src/snippets/qdebug/qdebug.pro1
-rw-r--r--doc/codesnippets/doc/src/snippets/qdebug/qdebugsnippet.cpp74
-rw-r--r--doc/codesnippets/doc/src/snippets/qdir-filepaths/main.cpp55
-rw-r--r--doc/codesnippets/doc/src/snippets/qdir-filepaths/qdir-filepaths.pro1
-rw-r--r--doc/codesnippets/doc/src/snippets/qdir-listfiles/main.cpp55
-rw-r--r--doc/codesnippets/doc/src/snippets/qdir-listfiles/qdir-listfiles.pro1
-rw-r--r--doc/codesnippets/doc/src/snippets/qdir-namefilters/main.cpp66
-rw-r--r--doc/codesnippets/doc/src/snippets/qdir-namefilters/qdir-namefilters.pro1
-rw-r--r--doc/codesnippets/doc/src/snippets/qfontdatabase/main.cpp65
-rw-r--r--doc/codesnippets/doc/src/snippets/qfontdatabase/qfontdatabase.pro1
-rw-r--r--doc/codesnippets/doc/src/snippets/qgl-namespace/main.cpp47
-rw-r--r--doc/codesnippets/doc/src/snippets/qgl-namespace/qgl-namespace.pro2
-rw-r--r--doc/codesnippets/doc/src/snippets/qlabel/main.cpp89
-rw-r--r--doc/codesnippets/doc/src/snippets/qlabel/qlabel.pro1
-rw-r--r--doc/codesnippets/doc/src/snippets/qlineargradient/main.cpp51
-rw-r--r--doc/codesnippets/doc/src/snippets/qlineargradient/paintwidget.cpp68
-rw-r--r--doc/codesnippets/doc/src/snippets/qlineargradient/paintwidget.h60
-rw-r--r--doc/codesnippets/doc/src/snippets/qlineargradient/qlineargradient.pro3
-rw-r--r--doc/codesnippets/doc/src/snippets/qlistview-dnd/main.cpp52
-rw-r--r--doc/codesnippets/doc/src/snippets/qlistview-dnd/mainwindow.cpp84
-rw-r--r--doc/codesnippets/doc/src/snippets/qlistview-dnd/mainwindow.h62
-rw-r--r--doc/codesnippets/doc/src/snippets/qlistview-dnd/model.cpp168
-rw-r--r--doc/codesnippets/doc/src/snippets/qlistview-dnd/model.h74
-rw-r--r--doc/codesnippets/doc/src/snippets/qlistview-dnd/qlistview-dnd.pro5
-rw-r--r--doc/codesnippets/doc/src/snippets/qlistview-using/main.cpp52
-rw-r--r--doc/codesnippets/doc/src/snippets/qlistview-using/mainwindow.cpp138
-rw-r--r--doc/codesnippets/doc/src/snippets/qlistview-using/mainwindow.h73
-rw-r--r--doc/codesnippets/doc/src/snippets/qlistview-using/model.cpp175
-rw-r--r--doc/codesnippets/doc/src/snippets/qlistview-using/model.h83
-rw-r--r--doc/codesnippets/doc/src/snippets/qlistview-using/qlistview-using.pro5
-rw-r--r--doc/codesnippets/doc/src/snippets/qlistwidget-dnd/main.cpp52
-rw-r--r--doc/codesnippets/doc/src/snippets/qlistwidget-dnd/mainwindow.cpp88
-rw-r--r--doc/codesnippets/doc/src/snippets/qlistwidget-dnd/mainwindow.h63
-rw-r--r--doc/codesnippets/doc/src/snippets/qlistwidget-dnd/qlistwidget-dnd.pro3
-rw-r--r--doc/codesnippets/doc/src/snippets/qlistwidget-using/main.cpp52
-rw-r--r--doc/codesnippets/doc/src/snippets/qlistwidget-using/mainwindow.cpp159
-rw-r--r--doc/codesnippets/doc/src/snippets/qlistwidget-using/mainwindow.h73
-rw-r--r--doc/codesnippets/doc/src/snippets/qlistwidget-using/qlistwidget-using.pro3
-rw-r--r--doc/codesnippets/doc/src/snippets/qmacnativewidget/main.mm94
-rw-r--r--doc/codesnippets/doc/src/snippets/qmacnativewidget/qmacnativewidget.pro8
-rw-r--r--doc/codesnippets/doc/src/snippets/qmake/comments.pro10
-rw-r--r--doc/codesnippets/doc/src/snippets/qmake/configscopes.pro23
-rw-r--r--doc/codesnippets/doc/src/snippets/qmake/debug_and_release.pro14
-rw-r--r--doc/codesnippets/doc/src/snippets/qmake/delegate.h41
-rw-r--r--doc/codesnippets/doc/src/snippets/qmake/dereferencing.pro5
-rw-r--r--doc/codesnippets/doc/src/snippets/qmake/destdir.pro2
-rw-r--r--doc/codesnippets/doc/src/snippets/qmake/dirname.pro6
-rw-r--r--doc/codesnippets/doc/src/snippets/qmake/environment.pro9
-rw-r--r--doc/codesnippets/doc/src/snippets/qmake/functions.pro34
-rw-r--r--doc/codesnippets/doc/src/snippets/qmake/include.pro3
-rw-r--r--doc/codesnippets/doc/src/snippets/qmake/main.cpp41
-rw-r--r--doc/codesnippets/doc/src/snippets/qmake/model.cpp41
-rw-r--r--doc/codesnippets/doc/src/snippets/qmake/model.h41
-rw-r--r--doc/codesnippets/doc/src/snippets/qmake/other.pro0
-rw-r--r--doc/codesnippets/doc/src/snippets/qmake/paintwidget_unix.cpp45
-rw-r--r--doc/codesnippets/doc/src/snippets/qmake/project_location.pro6
-rw-r--r--doc/codesnippets/doc/src/snippets/qmake/qtconfiguration.pro19
-rw-r--r--doc/codesnippets/doc/src/snippets/qmake/quoting.pro8
-rw-r--r--doc/codesnippets/doc/src/snippets/qmake/replace.pro4
-rw-r--r--doc/codesnippets/doc/src/snippets/qmake/replacefunction.pro46
-rw-r--r--doc/codesnippets/doc/src/snippets/qmake/scopes.pro42
-rw-r--r--doc/codesnippets/doc/src/snippets/qmake/shared_or_static.pro8
-rw-r--r--doc/codesnippets/doc/src/snippets/qmake/specifications.pro7
-rw-r--r--doc/codesnippets/doc/src/snippets/qmake/testfunction.pro20
-rw-r--r--doc/codesnippets/doc/src/snippets/qmake/variables.pro7
-rw-r--r--doc/codesnippets/doc/src/snippets/qmake/view.h41
-rw-r--r--doc/codesnippets/doc/src/snippets/qmetaobject-invokable/main.cpp53
-rw-r--r--doc/codesnippets/doc/src/snippets/qmetaobject-invokable/qmetaobject-invokable.pro3
-rw-r--r--doc/codesnippets/doc/src/snippets/qmetaobject-invokable/window.cpp58
-rw-r--r--doc/codesnippets/doc/src/snippets/qmetaobject-invokable/window.h59
-rw-r--r--doc/codesnippets/doc/src/snippets/qprocess-environment/main.cpp61
-rw-r--r--doc/codesnippets/doc/src/snippets/qprocess-environment/qprocess-environment.pro1
-rw-r--r--doc/codesnippets/doc/src/snippets/qprocess/qprocess-simpleexecution.cpp67
-rw-r--r--doc/codesnippets/doc/src/snippets/qprocess/qprocess.pro11
-rw-r--r--doc/codesnippets/doc/src/snippets/qsignalmapper/buttonwidget.cpp68
-rw-r--r--doc/codesnippets/doc/src/snippets/qsignalmapper/buttonwidget.h61
-rw-r--r--doc/codesnippets/doc/src/snippets/qsignalmapper/main.cpp62
-rw-r--r--doc/codesnippets/doc/src/snippets/qsignalmapper/mainwindow.h60
-rw-r--r--doc/codesnippets/doc/src/snippets/qsignalmapper/qsignalmapper.pro10
-rw-r--r--doc/codesnippets/doc/src/snippets/qsortfilterproxymodel-details/main.cpp70
-rw-r--r--doc/codesnippets/doc/src/snippets/qsortfilterproxymodel-details/qsortfilterproxymodel-details.pro1
-rw-r--r--doc/codesnippets/doc/src/snippets/qsortfilterproxymodel/main.cpp78
-rw-r--r--doc/codesnippets/doc/src/snippets/qsortfilterproxymodel/qsortfilterproxymodel.pro1
-rw-r--r--doc/codesnippets/doc/src/snippets/qsplashscreen/main.cpp57
-rw-r--r--doc/codesnippets/doc/src/snippets/qsplashscreen/mainwindow.cpp51
-rw-r--r--doc/codesnippets/doc/src/snippets/qsplashscreen/mainwindow.h55
-rw-r--r--doc/codesnippets/doc/src/snippets/qsplashscreen/qsplashscreen.pro4
-rw-r--r--doc/codesnippets/doc/src/snippets/qsplashscreen/qsplashscreen.qrc5
-rw-r--r--doc/codesnippets/doc/src/snippets/qsplashscreen/splash.pngbin0 -> 27926 bytes
-rw-r--r--doc/codesnippets/doc/src/snippets/qsql-namespace/main.cpp47
-rw-r--r--doc/codesnippets/doc/src/snippets/qsql-namespace/qsql-namespace.pro2
-rw-r--r--doc/codesnippets/doc/src/snippets/qstack/main.cpp56
-rw-r--r--doc/codesnippets/doc/src/snippets/qstack/qstack.pro11
-rw-r--r--doc/codesnippets/doc/src/snippets/qstackedlayout/main.cpp90
-rw-r--r--doc/codesnippets/doc/src/snippets/qstackedlayout/qstackedlayout.pro11
-rw-r--r--doc/codesnippets/doc/src/snippets/qstackedwidget/main.cpp69
-rw-r--r--doc/codesnippets/doc/src/snippets/qstackedwidget/qstackedwidget.pro11
-rw-r--r--doc/codesnippets/doc/src/snippets/qstandarditemmodel/main.cpp72
-rw-r--r--doc/codesnippets/doc/src/snippets/qstandarditemmodel/qstandarditemmodel.pro11
-rw-r--r--doc/codesnippets/doc/src/snippets/qstatustipevent/main.cpp65
-rw-r--r--doc/codesnippets/doc/src/snippets/qstatustipevent/qstatustipevent.pro11
-rw-r--r--doc/codesnippets/doc/src/snippets/qstring/main.cpp917
-rw-r--r--doc/codesnippets/doc/src/snippets/qstring/qstring.pro11
-rw-r--r--doc/codesnippets/doc/src/snippets/qstringlist/main.cpp155
-rw-r--r--doc/codesnippets/doc/src/snippets/qstringlist/qstringlist.pro11
-rw-r--r--doc/codesnippets/doc/src/snippets/qstringlistmodel/main.cpp69
-rw-r--r--doc/codesnippets/doc/src/snippets/qstringlistmodel/qstringlistmodel.pro11
-rw-r--r--doc/codesnippets/doc/src/snippets/qstyleoption/main.cpp96
-rw-r--r--doc/codesnippets/doc/src/snippets/qstyleoption/qstyleoption.pro11
-rw-r--r--doc/codesnippets/doc/src/snippets/qstyleplugin/main.cpp98
-rw-r--r--doc/codesnippets/doc/src/snippets/qstyleplugin/qstyleplugin.pro11
-rw-r--r--doc/codesnippets/doc/src/snippets/qsvgwidget/main.cpp60
-rw-r--r--doc/codesnippets/doc/src/snippets/qsvgwidget/qsvgwidget.pro3
-rw-r--r--doc/codesnippets/doc/src/snippets/qsvgwidget/qsvgwidget.qrc5
-rw-r--r--doc/codesnippets/doc/src/snippets/qsvgwidget/spheres.svg79
-rw-r--r--doc/codesnippets/doc/src/snippets/qsvgwidget/sunflower.svg188
-rw-r--r--doc/codesnippets/doc/src/snippets/qt-namespace/main.cpp47
-rw-r--r--doc/codesnippets/doc/src/snippets/qt-namespace/qt-namespace.pro1
-rw-r--r--doc/codesnippets/doc/src/snippets/qtablewidget-dnd/Images/cubed.pngbin0 -> 437 bytes
-rw-r--r--doc/codesnippets/doc/src/snippets/qtablewidget-dnd/Images/squared.pngbin0 -> 440 bytes
-rw-r--r--doc/codesnippets/doc/src/snippets/qtablewidget-dnd/images.qrc6
-rw-r--r--doc/codesnippets/doc/src/snippets/qtablewidget-dnd/main.cpp52
-rw-r--r--doc/codesnippets/doc/src/snippets/qtablewidget-dnd/mainwindow.cpp144
-rw-r--r--doc/codesnippets/doc/src/snippets/qtablewidget-dnd/mainwindow.h69
-rw-r--r--doc/codesnippets/doc/src/snippets/qtablewidget-dnd/qtablewidget-dnd.pro4
-rw-r--r--doc/codesnippets/doc/src/snippets/qtablewidget-resizing/main.cpp52
-rw-r--r--doc/codesnippets/doc/src/snippets/qtablewidget-resizing/mainwindow.cpp115
-rw-r--r--doc/codesnippets/doc/src/snippets/qtablewidget-resizing/mainwindow.h68
-rw-r--r--doc/codesnippets/doc/src/snippets/qtablewidget-resizing/qtablewidget-resizing.pro3
-rw-r--r--doc/codesnippets/doc/src/snippets/qtablewidget-using/Images/cubed.pngbin0 -> 437 bytes
-rw-r--r--doc/codesnippets/doc/src/snippets/qtablewidget-using/Images/squared.pngbin0 -> 440 bytes
-rw-r--r--doc/codesnippets/doc/src/snippets/qtablewidget-using/images.qrc6
-rw-r--r--doc/codesnippets/doc/src/snippets/qtablewidget-using/main.cpp52
-rw-r--r--doc/codesnippets/doc/src/snippets/qtablewidget-using/mainwindow.cpp150
-rw-r--r--doc/codesnippets/doc/src/snippets/qtablewidget-using/mainwindow.h71
-rw-r--r--doc/codesnippets/doc/src/snippets/qtablewidget-using/qtablewidget-using.pro4
-rw-r--r--doc/codesnippets/doc/src/snippets/qtcast/qtcast.cpp80
-rw-r--r--doc/codesnippets/doc/src/snippets/qtcast/qtcast.h55
-rw-r--r--doc/codesnippets/doc/src/snippets/qtcast/qtcast.pro2
-rw-r--r--doc/codesnippets/doc/src/snippets/qtest-namespace/main.cpp48
-rw-r--r--doc/codesnippets/doc/src/snippets/qtest-namespace/qtest-namespace.pro2
-rw-r--r--doc/codesnippets/doc/src/snippets/qtreeview-dnd/dragdropmodel.cpp147
-rw-r--r--doc/codesnippets/doc/src/snippets/qtreeview-dnd/dragdropmodel.h73
-rw-r--r--doc/codesnippets/doc/src/snippets/qtreeview-dnd/main.cpp52
-rw-r--r--doc/codesnippets/doc/src/snippets/qtreeview-dnd/mainwindow.cpp91
-rw-r--r--doc/codesnippets/doc/src/snippets/qtreeview-dnd/mainwindow.h62
-rw-r--r--doc/codesnippets/doc/src/snippets/qtreeview-dnd/qtreeview-dnd.pro9
-rw-r--r--doc/codesnippets/doc/src/snippets/qtreeview-dnd/treeitem.cpp126
-rw-r--r--doc/codesnippets/doc/src/snippets/qtreeview-dnd/treeitem.h72
-rw-r--r--doc/codesnippets/doc/src/snippets/qtreeview-dnd/treemodel.cpp263
-rw-r--r--doc/codesnippets/doc/src/snippets/qtreeview-dnd/treemodel.h80
-rw-r--r--doc/codesnippets/doc/src/snippets/qtreewidget-using/main.cpp52
-rw-r--r--doc/codesnippets/doc/src/snippets/qtreewidget-using/mainwindow.cpp102
-rw-r--r--doc/codesnippets/doc/src/snippets/qtreewidget-using/mainwindow.h78
-rw-r--r--doc/codesnippets/doc/src/snippets/qtreewidget-using/qtreewidget-using.pro3
-rw-r--r--doc/codesnippets/doc/src/snippets/qtreewidgetitemiterator-using/main.cpp52
-rw-r--r--doc/codesnippets/doc/src/snippets/qtreewidgetitemiterator-using/mainwindow.cpp50
-rw-r--r--doc/codesnippets/doc/src/snippets/qtreewidgetitemiterator-using/mainwindow.h78
-rw-r--r--doc/codesnippets/doc/src/snippets/qtreewidgetitemiterator-using/qtreewidgetitemiterator-using.pro3
-rw-r--r--doc/codesnippets/doc/src/snippets/qtscript/evaluation/evaluation.pro2
-rw-r--r--doc/codesnippets/doc/src/snippets/qtscript/evaluation/main.cpp51
-rw-r--r--doc/codesnippets/doc/src/snippets/qtscript/registeringobjects/main.cpp57
-rw-r--r--doc/codesnippets/doc/src/snippets/qtscript/registeringobjects/myobject.cpp54
-rw-r--r--doc/codesnippets/doc/src/snippets/qtscript/registeringobjects/myobject.h58
-rw-r--r--doc/codesnippets/doc/src/snippets/qtscript/registeringobjects/registeringobjects.pro4
-rw-r--r--doc/codesnippets/doc/src/snippets/qtscript/registeringvalues/main.cpp53
-rw-r--r--doc/codesnippets/doc/src/snippets/qtscript/registeringvalues/registeringvalues.pro2
-rw-r--r--doc/codesnippets/doc/src/snippets/qtscript/scriptedslot/main.cpp73
-rw-r--r--doc/codesnippets/doc/src/snippets/qtscript/scriptedslot/object.js18
-rw-r--r--doc/codesnippets/doc/src/snippets/qtscript/scriptedslot/scriptedslot.pro3
-rw-r--r--doc/codesnippets/doc/src/snippets/qtscript/scriptedslot/scriptedslot.qrc5
-rw-r--r--doc/codesnippets/doc/src/snippets/quiloader/main.cpp68
-rw-r--r--doc/codesnippets/doc/src/snippets/quiloader/myform.ui130
-rw-r--r--doc/codesnippets/doc/src/snippets/quiloader/mywidget.cpp59
-rw-r--r--doc/codesnippets/doc/src/snippets/quiloader/mywidget.h53
-rw-r--r--doc/codesnippets/doc/src/snippets/quiloader/mywidget.qrc5
-rw-r--r--doc/codesnippets/doc/src/snippets/quiloader/quiloader.pro4
-rw-r--r--doc/codesnippets/doc/src/snippets/qx11embedcontainer/main.cpp68
-rw-r--r--doc/codesnippets/doc/src/snippets/qx11embedcontainer/qx11embedcontainer.pro1
-rw-r--r--doc/codesnippets/doc/src/snippets/qx11embedwidget/embedwidget.cpp67
-rw-r--r--doc/codesnippets/doc/src/snippets/qx11embedwidget/embedwidget.h66
-rw-r--r--doc/codesnippets/doc/src/snippets/qx11embedwidget/main.cpp62
-rw-r--r--doc/codesnippets/doc/src/snippets/qx11embedwidget/qx11embedwidget.pro3
-rw-r--r--doc/codesnippets/doc/src/snippets/qxmlquery/bindingExample.cpp9
-rw-r--r--doc/codesnippets/doc/src/snippets/qxmlstreamwriter/main.cpp77
-rw-r--r--doc/codesnippets/doc/src/snippets/qxmlstreamwriter/qxmlstreamwriter.pro2
-rw-r--r--doc/codesnippets/doc/src/snippets/reading-selections/main.cpp60
-rw-r--r--doc/codesnippets/doc/src/snippets/reading-selections/model.cpp239
-rw-r--r--doc/codesnippets/doc/src/snippets/reading-selections/model.h75
-rw-r--r--doc/codesnippets/doc/src/snippets/reading-selections/reading-selections.pro2
-rw-r--r--doc/codesnippets/doc/src/snippets/reading-selections/window.cpp121
-rw-r--r--doc/codesnippets/doc/src/snippets/reading-selections/window.h68
-rw-r--r--doc/codesnippets/doc/src/snippets/scribe-overview/main.cpp72
-rw-r--r--doc/codesnippets/doc/src/snippets/scribe-overview/scribe-overview.pro1
-rw-r--r--doc/codesnippets/doc/src/snippets/scriptdebugger.cpp64
-rw-r--r--doc/codesnippets/doc/src/snippets/seekslider.cpp26
-rw-r--r--doc/codesnippets/doc/src/snippets/separations/finalwidget.cpp127
-rw-r--r--doc/codesnippets/doc/src/snippets/separations/finalwidget.h78
-rw-r--r--doc/codesnippets/doc/src/snippets/separations/main.cpp51
-rw-r--r--doc/codesnippets/doc/src/snippets/separations/screenwidget.cpp218
-rw-r--r--doc/codesnippets/doc/src/snippets/separations/screenwidget.h87
-rw-r--r--doc/codesnippets/doc/src/snippets/separations/separations.pro7
-rw-r--r--doc/codesnippets/doc/src/snippets/separations/separations.qdoc55
-rw-r--r--doc/codesnippets/doc/src/snippets/separations/viewer.cpp329
-rw-r--r--doc/codesnippets/doc/src/snippets/separations/viewer.h90
-rw-r--r--doc/codesnippets/doc/src/snippets/settings/settings.cpp179
-rw-r--r--doc/codesnippets/doc/src/snippets/shareddirmodel/main.cpp80
-rw-r--r--doc/codesnippets/doc/src/snippets/shareddirmodel/shareddirmodel.pro1
-rw-r--r--doc/codesnippets/doc/src/snippets/sharedemployee/employee.cpp42
-rw-r--r--doc/codesnippets/doc/src/snippets/sharedemployee/employee.h95
-rw-r--r--doc/codesnippets/doc/src/snippets/sharedemployee/main.cpp51
-rw-r--r--doc/codesnippets/doc/src/snippets/sharedemployee/sharedemployee.pro3
-rw-r--r--doc/codesnippets/doc/src/snippets/sharedtablemodel/main.cpp90
-rw-r--r--doc/codesnippets/doc/src/snippets/sharedtablemodel/model.cpp237
-rw-r--r--doc/codesnippets/doc/src/snippets/sharedtablemodel/model.h75
-rw-r--r--doc/codesnippets/doc/src/snippets/sharedtablemodel/sharedtablemodel.pro2
-rw-r--r--doc/codesnippets/doc/src/snippets/signalmapper/accountsfile.txt1
-rw-r--r--doc/codesnippets/doc/src/snippets/signalmapper/filereader.cpp59
-rw-r--r--doc/codesnippets/doc/src/snippets/signalmapper/filereader.h28
-rw-r--r--doc/codesnippets/doc/src/snippets/signalmapper/main.cpp13
-rw-r--r--doc/codesnippets/doc/src/snippets/signalmapper/reportfile.txt2
-rw-r--r--doc/codesnippets/doc/src/snippets/signalmapper/signalmapper.pro12
-rw-r--r--doc/codesnippets/doc/src/snippets/signalmapper/taxfile.txt1
-rw-r--r--doc/codesnippets/doc/src/snippets/signalsandslots/lcdnumber.cpp78
-rw-r--r--doc/codesnippets/doc/src/snippets/signalsandslots/lcdnumber.h89
-rw-r--r--doc/codesnippets/doc/src/snippets/signalsandslots/signalsandslots.cpp85
-rw-r--r--doc/codesnippets/doc/src/snippets/signalsandslots/signalsandslots.h90
-rw-r--r--doc/codesnippets/doc/src/snippets/simplemodel-use/main.cpp96
-rw-r--r--doc/codesnippets/doc/src/snippets/simplemodel-use/simplemodel-use.pro1
-rw-r--r--doc/codesnippets/doc/src/snippets/snippets.pro109
-rw-r--r--doc/codesnippets/doc/src/snippets/splitter/splitter.cpp67
-rw-r--r--doc/codesnippets/doc/src/snippets/splitter/splitter.pro1
-rw-r--r--doc/codesnippets/doc/src/snippets/splitterhandle/main.cpp58
-rw-r--r--doc/codesnippets/doc/src/snippets/splitterhandle/splitter.cpp79
-rw-r--r--doc/codesnippets/doc/src/snippets/splitterhandle/splitter.h52
-rw-r--r--doc/codesnippets/doc/src/snippets/splitterhandle/splitterhandle.pro3
-rw-r--r--doc/codesnippets/doc/src/snippets/sqldatabase/sqldatabase.cpp480
-rw-r--r--doc/codesnippets/doc/src/snippets/sqldatabase/sqldatabase.pro2
-rw-r--r--doc/codesnippets/doc/src/snippets/streaming/main.cpp109
-rw-r--r--doc/codesnippets/doc/src/snippets/streaming/streaming.pro2
-rw-r--r--doc/codesnippets/doc/src/snippets/stringlistmodel/main.cpp84
-rw-r--r--doc/codesnippets/doc/src/snippets/stringlistmodel/model.cpp182
-rw-r--r--doc/codesnippets/doc/src/snippets/stringlistmodel/model.h83
-rw-r--r--doc/codesnippets/doc/src/snippets/stringlistmodel/stringlistmodel.pro3
-rw-r--r--doc/codesnippets/doc/src/snippets/styles/styles.cpp71
-rw-r--r--doc/codesnippets/doc/src/snippets/stylesheet/common-mistakes.cpp12
-rw-r--r--doc/codesnippets/doc/src/snippets/textblock-formats/main.cpp119
-rw-r--r--doc/codesnippets/doc/src/snippets/textblock-formats/textblock-formats.pro2
-rw-r--r--doc/codesnippets/doc/src/snippets/textblock-fragments/main.cpp53
-rw-r--r--doc/codesnippets/doc/src/snippets/textblock-fragments/mainwindow.cpp149
-rw-r--r--doc/codesnippets/doc/src/snippets/textblock-fragments/mainwindow.h66
-rw-r--r--doc/codesnippets/doc/src/snippets/textblock-fragments/textblock-fragments.pro6
-rw-r--r--doc/codesnippets/doc/src/snippets/textblock-fragments/xmlwriter.cpp119
-rw-r--r--doc/codesnippets/doc/src/snippets/textblock-fragments/xmlwriter.h65
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-blocks/main.cpp53
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-blocks/mainwindow.cpp157
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-blocks/mainwindow.h66
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-blocks/textdocument-blocks.pro6
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-blocks/xmlwriter.cpp85
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-blocks/xmlwriter.h62
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-charformats/main.cpp93
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-charformats/textdocument-charformats.pro1
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-css/main.cpp49
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-css/textdocument-css.pro1
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-cursors/main.cpp80
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-cursors/textdocument-cursors.pro1
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-find/main.cpp92
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-find/textdocument-find.pro1
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-frames/main.cpp54
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-frames/mainwindow.cpp162
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-frames/mainwindow.h65
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-frames/textdocument-frames.pro6
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-frames/xmlwriter.cpp117
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-frames/xmlwriter.h65
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-imagedrop/main.cpp53
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-imagedrop/textdocument-imagedrop.pro2
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-imagedrop/textedit.cpp72
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-imagedrop/textedit.h57
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-imageformat/images.qrc6
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-imageformat/images/advert.pngbin0 -> 16291 bytes
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-imageformat/images/newimage.pngbin0 -> 5490 bytes
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-imageformat/main.cpp99
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-imageformat/textdocument-imageformat.pro2
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-images/images.qrc5
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-images/images/advert.pngbin0 -> 16291 bytes
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-images/main.cpp73
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-images/textdocument-images.pro2
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-listitems/main.cpp53
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-listitems/mainwindow.cpp198
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-listitems/mainwindow.h76
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-listitems/textdocument-listitems.pro3
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-lists/main.cpp53
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-lists/mainwindow.cpp192
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-lists/mainwindow.h80
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-lists/textdocument-lists.pro3
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-printing/main.cpp53
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-printing/mainwindow.cpp125
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-printing/mainwindow.h73
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-printing/textdocument-printing.pro3
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-selections/main.cpp53
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-selections/mainwindow.cpp204
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-selections/mainwindow.h80
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-selections/textdocument-selections.pro4
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-tables/main.cpp53
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-tables/mainwindow.cpp116
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-tables/mainwindow.h66
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-tables/textdocument-tables.pro6
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-tables/xmlwriter.cpp154
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-tables/xmlwriter.h65
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocument-texttable/main.cpp47
-rw-r--r--doc/codesnippets/doc/src/snippets/textdocumentendsnippet.cpp59
-rw-r--r--doc/codesnippets/doc/src/snippets/threads/threads.cpp121
-rw-r--r--doc/codesnippets/doc/src/snippets/threads/threads.h52
-rw-r--r--doc/codesnippets/doc/src/snippets/timeline/main.cpp73
-rw-r--r--doc/codesnippets/doc/src/snippets/timeline/timeline.pro1
-rw-r--r--doc/codesnippets/doc/src/snippets/timers/timers.cpp79
-rw-r--r--doc/codesnippets/doc/src/snippets/timers/timers.pro1
-rw-r--r--doc/codesnippets/doc/src/snippets/transform/main.cpp101
-rw-r--r--doc/codesnippets/doc/src/snippets/transform/transform.pro1
-rw-r--r--doc/codesnippets/doc/src/snippets/uitools/calculatorform/calculatorform.pro5
-rw-r--r--doc/codesnippets/doc/src/snippets/uitools/calculatorform/calculatorform.ui303
-rw-r--r--doc/codesnippets/doc/src/snippets/uitools/calculatorform/main.cpp58
-rw-r--r--doc/codesnippets/doc/src/snippets/updating-selections/main.cpp60
-rw-r--r--doc/codesnippets/doc/src/snippets/updating-selections/model.cpp237
-rw-r--r--doc/codesnippets/doc/src/snippets/updating-selections/model.h75
-rw-r--r--doc/codesnippets/doc/src/snippets/updating-selections/updating-selections.pro2
-rw-r--r--doc/codesnippets/doc/src/snippets/updating-selections/window.cpp110
-rw-r--r--doc/codesnippets/doc/src/snippets/updating-selections/window.h68
-rw-r--r--doc/codesnippets/doc/src/snippets/videomedia.cpp19
-rw-r--r--doc/codesnippets/doc/src/snippets/volumeslider.cpp29
-rw-r--r--doc/codesnippets/doc/src/snippets/webkit/webpage/main.cpp44
-rw-r--r--doc/codesnippets/doc/src/snippets/whatsthis/whatsthis.cpp48
-rw-r--r--doc/codesnippets/doc/src/snippets/whatsthis/whatsthis.pro1
-rw-r--r--doc/codesnippets/doc/src/snippets/widget-mask/main.cpp55
-rw-r--r--doc/codesnippets/doc/src/snippets/widget-mask/mask.qrc5
-rw-r--r--doc/codesnippets/doc/src/snippets/widget-mask/tux.pngbin0 -> 12191 bytes
-rw-r--r--doc/codesnippets/doc/src/snippets/widget-mask/widget-mask.pro3
-rw-r--r--doc/codesnippets/doc/src/snippets/widgetdelegate.cpp23
-rw-r--r--doc/codesnippets/doc/src/snippets/widgets-tutorial/childwidget/childwidget.pro1
-rw-r--r--doc/codesnippets/doc/src/snippets/widgets-tutorial/childwidget/main.cpp17
-rw-r--r--doc/codesnippets/doc/src/snippets/widgets-tutorial/nestedlayouts/main.cpp48
-rw-r--r--doc/codesnippets/doc/src/snippets/widgets-tutorial/nestedlayouts/nestedlayouts.pro1
-rw-r--r--doc/codesnippets/doc/src/snippets/widgets-tutorial/toplevel/main.cpp13
-rw-r--r--doc/codesnippets/doc/src/snippets/widgets-tutorial/toplevel/toplevel.pro1
-rw-r--r--doc/codesnippets/doc/src/snippets/widgets-tutorial/windowlayout/main.cpp19
-rw-r--r--doc/codesnippets/doc/src/snippets/widgets-tutorial/windowlayout/windowlayout.pro1
-rw-r--r--doc/codesnippets/doc/src/snippets/xml/prettyprint/main.cpp144
-rw-r--r--doc/codesnippets/doc/src/snippets/xml/prettyprint/prettyprint.pro4
-rw-r--r--doc/codesnippets/doc/src/snippets/xml/rsslisting/handler.cpp179
-rw-r--r--doc/codesnippets/doc/src/snippets/xml/rsslisting/handler.h75
-rw-r--r--doc/codesnippets/doc/src/snippets/xml/rsslisting/main.cpp64
-rw-r--r--doc/codesnippets/doc/src/snippets/xml/rsslisting/rsslisting.cpp246
-rw-r--r--doc/codesnippets/doc/src/snippets/xml/rsslisting/rsslisting.h87
-rw-r--r--doc/codesnippets/doc/src/snippets/xml/simpleparse/handler.cpp139
-rw-r--r--doc/codesnippets/doc/src/snippets/xml/simpleparse/handler.h68
-rw-r--r--doc/codesnippets/doc/src/snippets/xml/simpleparse/main.cpp88
-rw-r--r--doc/codesnippets/doc/src/snippets/xml/simpleparse/simpleparse.pro4
-rw-r--r--doc/codesnippets/doc/src/snippets/xml/xml.pro8
-rwxr-xr-xdoc/codesnippets/examples/dbus/example-client.py49
-rwxr-xr-xdoc/codesnippets/examples/dbus/example-server.py68
-rw-r--r--doc/codesnippets/examples/dialogs/classwizard/classwizard.cpp250
-rw-r--r--doc/codesnippets/examples/dialogs/classwizard/classwizard.qrc11
-rw-r--r--doc/codesnippets/examples/dialogs/classwizard/images/background.pngbin0 -> 22578 bytes
-rw-r--r--doc/codesnippets/examples/dialogs/classwizard/images/banner.pngbin0 -> 3947 bytes
-rw-r--r--doc/codesnippets/examples/dialogs/classwizard/images/logo1.pngbin0 -> 1619 bytes
-rw-r--r--doc/codesnippets/examples/dialogs/classwizard/images/logo2.pngbin0 -> 1619 bytes
-rw-r--r--doc/codesnippets/examples/dialogs/classwizard/images/logo3.pngbin0 -> 1619 bytes
-rw-r--r--doc/codesnippets/examples/dialogs/classwizard/images/watermark1.pngbin0 -> 14516 bytes
-rw-r--r--doc/codesnippets/examples/dialogs/classwizard/images/watermark2.pngbin0 -> 14912 bytes
-rw-r--r--doc/codesnippets/examples/dialogs/classwizard/main.cpp64
-rw-r--r--doc/codesnippets/examples/dialogs/extension/finddialog.cpp110
-rw-r--r--doc/codesnippets/examples/dialogs/licensewizard/images/logo.pngbin0 -> 1810 bytes
-rw-r--r--doc/codesnippets/examples/dialogs/licensewizard/images/watermark.pngbin0 -> 34998 bytes
-rw-r--r--doc/codesnippets/examples/dialogs/licensewizard/licensewizard.cpp349
-rw-r--r--doc/codesnippets/examples/dialogs/licensewizard/licensewizard.h164
-rw-r--r--doc/codesnippets/examples/dialogs/licensewizard/licensewizard.pro10
-rw-r--r--doc/codesnippets/examples/dialogs/licensewizard/licensewizard.qrc6
-rw-r--r--doc/codesnippets/examples/dialogs/licensewizard/main.cpp64
-rw-r--r--doc/codesnippets/examples/dialogs/standarddialogs/dialog.cpp71
-rw-r--r--doc/codesnippets/examples/dialogs/trivialwizard/trivialwizard.cpp134
-rw-r--r--doc/codesnippets/examples/dialogs/trivialwizard/trivialwizard.pro7
-rw-r--r--doc/codesnippets/examples/itemviews/customsortfiltermodel/mysortfilterproxymodel.cpp102
-rw-r--r--doc/codesnippets/examples/itemviews/pixelator/pixeldelegate.cpp94
-rw-r--r--doc/codesnippets/examples/itemviews/simpledommodel/dommodel.cpp188
-rw-r--r--doc/codesnippets/examples/linguist/hellotr/main.cpp69
-rw-r--r--doc/codesnippets/examples/mainwindows/application/mainwindow.cpp350
-rw-r--r--doc/codesnippets/examples/mainwindows/dockwidgets/mainwindow.cpp246
-rw-r--r--doc/codesnippets/examples/mainwindows/mainwindow.cpp358
-rw-r--r--doc/codesnippets/examples/mainwindows/mdi/mainwindow.cpp372
-rw-r--r--doc/codesnippets/examples/mainwindows/menus/mainwindow.cpp358
-rw-r--r--doc/codesnippets/examples/painting/svggenerator/window.cpp98
-rw-r--r--doc/codesnippets/examples/richtext/textobject/svgtextobject.h70
-rw-r--r--doc/codesnippets/examples/sql/querymodel/editablesqlmodel.cpp103
-rw-r--r--doc/codesnippets/examples/sql/relationaltablemodel/relationaltablemodel.cpp111
-rw-r--r--doc/codesnippets/examples/widgets/analogclock/analogclock.cpp146
-rw-r--r--doc/codesnippets/examples/widgets/icons/iconsizespinbox.cpp63
-rw-r--r--doc/codesnippets/examples/widgets/spinboxes/window.cpp240
-rw-r--r--doc/codesnippets/examples/xml/streambookmarks/xbelreader.cpp201
-rw-r--r--doc/codesnippets/examples/xml/streambookmarks/xbelreader.h81
-rw-r--r--doc/codesnippets/examples/xml/streambookmarks/xbelwriter.cpp91
-rw-r--r--doc/codesnippets/snippets/textdocument-resources/main.cpp84
-rw-r--r--doc/codesnippets/snippets/textdocument-resources/textdocument-resources.pro1
-rw-r--r--doc/conf.py.in166
-rw-r--r--doc/contents.rst20
-rw-r--r--doc/dbus.rst30
-rw-r--r--doc/generatingdocs.rst56
-rw-r--r--doc/howto-build/cmake-primer.rst72
-rw-r--r--doc/howto-build/index.rst19
-rw-r--r--doc/howto-build/setup-apiextractor.rst52
-rw-r--r--doc/howto-build/setup-bindings.rst82
-rw-r--r--doc/howto-build/setup-boostpython.rst51
-rw-r--r--doc/howto-build/setup-generator.rst50
-rw-r--r--doc/howto-build/shiboken.rst54
-rw-r--r--doc/inheritance_diagram.py370
-rw-r--r--doc/issuesdiff.rst14
-rw-r--r--doc/modules.rst20
-rw-r--r--doc/pyhtml2devhelp.py225
-rw-r--r--doc/pyside.qdocconf11
-rw-r--r--libpyside/CMakeLists.txt3
-rw-r--r--libpyside/globalreceiver.cpp8
-rw-r--r--libpyside/pyside.pc.in1
-rw-r--r--libpyside/pysideconversions.h79
-rw-r--r--libpyside/signalmanager.cpp6
-rw-r--r--libpyside/signalmanager.h3
-rwxr-xr-x[-rw-r--r--]tests/phonon/basic_playing_test.py16
-rw-r--r--tests/qtgui/qlayout_ref_test.py34
-rw-r--r--tests/qtscript/base_test.py4
-rw-r--r--tests/qtscript/engine_test.py13
-rw-r--r--tests/qtscripttools/debugger_test.py41
1145 files changed, 71967 insertions, 723 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b2ffc58..83f04d9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -59,7 +59,7 @@ set(ARCHIVE_NAME pyside-qt${QT_VERSION_MAJOR}.${QT_VERSION_MINOR}+${BINDING_API_
add_custom_target(dist
COMMAND mkdir -p "${CMAKE_BINARY_DIR}/${ARCHIVE_NAME}" &&
git log > "${CMAKE_BINARY_DIR}/${ARCHIVE_NAME}/ChangeLog" &&
- git archive --prefix=${ARCHIVE_NAME}/ HEAD --format=tar -o "${CMAKE_BINARY_DIR}/${ARCHIVE_NAME}.tar" &&
+ git archive --prefix=${ARCHIVE_NAME}/ HEAD --format=tar --output="${CMAKE_BINARY_DIR}/${ARCHIVE_NAME}.tar" &&
tar -C "${CMAKE_BINARY_DIR}" --owner=root --group=root -r "${ARCHIVE_NAME}/ChangeLog" -f "${CMAKE_BINARY_DIR}/${ARCHIVE_NAME}.tar" &&
bzip2 -f9 "${CMAKE_BINARY_DIR}/${ARCHIVE_NAME}.tar" &&
echo "Source package created at ${CMAKE_BINARY_DIR}/${ARCHIVE_NAME}.tar.bz2.\n"
@@ -82,3 +82,4 @@ add_subdirectory(libpyside)
# project directories
add_subdirectory(${BINDING_NAME})
add_subdirectory(tests)
+add_subdirectory(doc)
diff --git a/PySide/CMakeLists.txt b/PySide/CMakeLists.txt
index 32f9b7c..210c595 100644
--- a/PySide/CMakeLists.txt
+++ b/PySide/CMakeLists.txt
@@ -33,8 +33,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")
-
-
# Try to find QtMultimedia
# TODO: Remove this hack when cmake support QtMultimedia module
if (NOT QT_QTMULTIMEDIA_FOUND AND ${QTVERSION} VERSION_GREATER 4.5.9)
@@ -75,7 +73,7 @@ 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_QTSCRIPT_FOUND QtScript)
+HAS_QT_MODULE(QT_QTSCRIPTTOOLS_FOUND QtScriptTools)
HAS_QT_MODULE(QT_QTMULTIMEDIA_FOUND QtMultimedia)
-
-
+HAS_QT_MODULE(QT_PHONON_FOUND phonon)
diff --git a/PySide/QtCore/CMakeLists.txt b/PySide/QtCore/CMakeLists.txt
index 3b8bef8..5c8deab 100644
--- a/PySide/QtCore/CMakeLists.txt
+++ b/PySide/QtCore/CMakeLists.txt
@@ -52,6 +52,7 @@ ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtCore/qdiriterator_wrapper.cpp
${CMAKE_CURRENT_BINARY_DIR}/PySide/QtCore/qdynamicpropertychangeevent_wrapper.cpp
${CMAKE_CURRENT_BINARY_DIR}/PySide/QtCore/qevent_wrapper.cpp
${CMAKE_CURRENT_BINARY_DIR}/PySide/QtCore/qeventloop_wrapper.cpp
+${CMAKE_CURRENT_BINARY_DIR}/${BINDING_NAME}/QtCore/qfactoryinterface_wrapper.cpp
${CMAKE_CURRENT_BINARY_DIR}/PySide/QtCore/qfile_wrapper.cpp
${CMAKE_CURRENT_BINARY_DIR}/PySide/QtCore/qfileinfo_wrapper.cpp
${CMAKE_CURRENT_BINARY_DIR}/PySide/QtCore/qfilesystemwatcher_wrapper.cpp
@@ -94,6 +95,7 @@ ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtCore/qstring_wrapper.cpp
${CMAKE_CURRENT_BINARY_DIR}/PySide/QtCore/qstringlist_wrapper.cpp
${CMAKE_CURRENT_BINARY_DIR}/PySide/QtCore/qstringmatcher_wrapper.cpp
${CMAKE_CURRENT_BINARY_DIR}/PySide/QtCore/qstringref_wrapper.cpp
+${CMAKE_CURRENT_BINARY_DIR}/PySide/QtCore/qsysinfo_wrapper.cpp
${CMAKE_CURRENT_BINARY_DIR}/PySide/QtCore/qsystemlocale_wrapper.cpp
${CMAKE_CURRENT_BINARY_DIR}/PySide/QtCore/qsystemsemaphore_wrapper.cpp
${CMAKE_CURRENT_BINARY_DIR}/PySide/QtCore/qt_wrapper.cpp
diff --git a/PySide/QtCore/qmultimap_conversions.h b/PySide/QtCore/qmultimap_conversions.h
new file mode 100644
index 0000000..43abd84
--- /dev/null
+++ b/PySide/QtCore/qmultimap_conversions.h
@@ -0,0 +1,5 @@
+namespace Shiboken {
+template<typename KT, typename VT>
+struct Converter<QMultiMap<KT, VT> > : QtMultiMapConverter<QMap<KT, VT> > {
+};
+}
diff --git a/PySide/QtCore/typesystem_core.xml b/PySide/QtCore/typesystem_core.xml
index c7a8184..375ffa1 100644
--- a/PySide/QtCore/typesystem_core.xml
+++ b/PySide/QtCore/typesystem_core.xml
@@ -1,64 +1,31 @@
<?xml version="1.0"?>
<typesystem package="PySide.QtCore">
<load-typesystem name="typesystem_templates.xml" generate="no"/>
- <!--
- Stream manipulators does not fits into python language,
- so we need to do a lot of inject code to handle them.
- -->
- <rejection class="" function-name="bin" />
- <rejection class="" function-name="bom" />
- <rejection class="" function-name="center" />
- <rejection class="" function-name="dec" />
- <rejection class="" function-name="endl" />
- <rejection class="" function-name="fixed" />
- <rejection class="" function-name="flush" />
- <rejection class="" function-name="forcepoint" />
- <rejection class="" function-name="forcesign" />
- <rejection class="" function-name="hex" />
- <rejection class="" function-name="left" />
- <rejection class="" function-name="lowercasebase" />
- <rejection class="" function-name="lowercasedigits" />
- <rejection class="" function-name="noforcepoint" />
- <rejection class="" function-name="noforcesign" />
- <rejection class="" function-name="noshowbase" />
- <rejection class="" function-name="oct" />
- <rejection class="" function-name="reset" />
- <rejection class="" function-name="right" />
- <rejection class="" function-name="scientific" />
- <rejection class="" function-name="showbase" />
- <rejection class="" function-name="uppercasebase" />
- <rejection class="" function-name="uppercasedigits" />
- <rejection class="" function-name="ws" />
- <!-- Qt4.6 functions -->
- <rejection class="" function-name="qGetPtrHelper" />
- <rejection class="" function-name="qMallocAligned" />
- <rejection class="" function-name="qReallocAligned" />
- <rejection class="" function-name="qRegisterAnimationInterpolator" />
- <rejection class="" function-name="qVariantSetValue&lt;QVariant>" />
- <rejection class="" function-name="q_check_ptr" />
- <rejection class="" function-name="qobject_interface_iid" />
- <rejection class="" function-name="qobject_interface_iid&lt;QFactoryInterface*>" />
- <rejection class="" function-name="qobject_interface_iid&lt;QTextCodecFactoryInterface*>" />
- <rejection class="" function-name="qstricmp" />
- <rejection class="" function-name="qstrlen" />
- <rejection class="" function-name="qstrncmp" />
- <rejection class="" function-name="qstrnicmp" />
- <rejection class="" function-name="qstrnlen" />
- <rejection class="" function-name="qtTrId" />
- <rejection class="" function-name="qvariant_cast&lt;QVariant>" />
- <rejection class="" function-name="qFreeAligned" />
- <rejection class="" function-name="qSharedBuild" />
- <!-- End of rejections -->
- <rejection class="" function-name="qAddPostRoutine" />
- <rejection class="" function-name="qRemovePostRoutine" />
- <!-- Removed because it have uchar* in their arguments-->
- <rejection class="" function-name="qCompress" />
- <!-- Removed because it's nto part of the public API, I guess -->
- <rejection class="" function-name="qInf" />
- <!-- Same as qCompress -->
- <rejection class="" function-name="qUncompress" />
- <!-- We do not export QStreamManipulator, so use QTextStream.setRealNumberPrecision instead of this -->
- <rejection class="" function-name="qSetRealNumberPrecision" />
+
+ <function signature="qAcos(qreal)" />
+ <function signature="qAsin(qreal)" />
+ <function signature="qAtan(qreal)" />
+ <function signature="qAtan2(qreal,qreal)" />
+ <function signature="qChecksum(const char*,uint)" />
+ <function signature="qCritical(const char*)" />
+ <function signature="qDebug(const char*)" />
+ <function signature="qExp(qreal)" />
+ <function signature="qFabs(qreal)" />
+ <function signature="qFastCos(qreal)" />
+ <function signature="qFastSin(qreal)" />
+ <function signature="qFatal(const char*)" />
+ <function signature="qFuzzyCompare(double,double)" />
+ <function signature="qFuzzyIsNull(double)" />
+ <function signature="qIsFinite(double)" />
+ <function signature="qIsInf(double)" />
+ <function signature="qIsNaN(double)" />
+ <function signature="qIsNull(double)" />
+ <function signature="qRound(qreal)" />
+ <function signature="qTan(qreal)" />
+ <function signature="qVersion()" />
+ <function signature="qWarning(const char*)" />
+ <function signature="qrand()" />
+ <function signature="qsrand(uint)" />
<!-- TODO: We do not support void* or const void* as arg -->
<rejection class="QMetaObject" function-name="activate"/>
@@ -81,189 +48,6 @@
<rejection class="*" function-name="trUtf8" />
<rejection class="*" function-name="qt_metacast" />
<rejection class="*" function-name="qt_metacall" />
- <rejection class="" function-name="qSharedPointerDynamicCast"/>
- <rejection class="" function-name="qSharedPointerConstCast"/>
- <rejection class="" function-name="qSharedPointerCast"/>
- <rejection class="" function-name="qWeakPointerCast"/>
- <rejection class="" function-name="qAbs"/>
- <rejection class="" function-name="qErrnoWarning"/>
- <rejection class="" function-name="qstrcpy"/>
- <rejection class="" function-name="qstrcmp"/>
- <rejection class="" function-name="qstrdup"/>
- <rejection class="" function-name="qstrncpy"/>
- <rejection class="" function-name="qAbs"/>
- <rejection class="" function-name="qAccessibleEditableTextCastHelper"/>
- <rejection class="" function-name="qAccessibleTableCastHelper"/>
- <rejection class="" function-name="qAccessibleTextCastHelper"/>
- <rejection class="" function-name="qAccessibleValueCastHelper"/>
- <rejection class="" function-name="qAppName"/>
- <rejection class="" function-name="qAtomicAssign"/>
- <rejection class="" function-name="q_atomic_decrement"/>
- <rejection class="" function-name="qAtomicDetach"/>
- <rejection class="" function-name="q_atomic_fetch_and_add_int"/>
- <rejection class="" function-name="q_atomic_fetch_and_add_ptr"/>
- <rejection class="" function-name="q_atomic_increment"/>
- <rejection class="" function-name="q_atomic_set_int"/>
- <rejection class="" function-name="q_atomic_set_ptr"/>
- <rejection class="" function-name="q_atomic_test_and_set_int"/>
- <rejection class="" function-name="q_atomic_test_and_set_ptr"/>
- <rejection class="" function-name="qBinaryFind"/>
- <rejection class="" function-name="qBound"/>
- <rejection class="" function-name="qbswap"/>
- <rejection class="" function-name="qbswap_helper"/>
- <rejection class="" function-name="qbswap&lt;qint16&gt;"/>
- <rejection class="" function-name="qbswap&lt;qint32&gt;"/>
- <rejection class="" function-name="qbswap&lt;qint64&gt;"/>
- <rejection class="" function-name="qbswap&lt;quint16&gt;"/>
- <rejection class="" function-name="qbswap&lt;quint32&gt;"/>
- <rejection class="" function-name="qbswap&lt;quint64&gt;"/>
- <rejection class="" function-name="qCeil"/>
- <rejection class="" function-name="qCopy"/>
- <rejection class="" function-name="qCopyBackward"/>
- <rejection class="" function-name="qCos"/>
- <rejection class="" function-name="qCount"/>
- <rejection class="" function-name="qDeleteAll"/>
- <rejection class="" function-name="qDrawPlainRect"/>
- <rejection class="" function-name="qDrawShadeLine"/>
- <rejection class="" function-name="qDrawShadePanel"/>
- <rejection class="" function-name="qDrawShadeRect"/>
- <rejection class="" function-name="qDrawWinButton"/>
- <rejection class="" function-name="qDrawWinPanel"/>
- <rejection class="" function-name="qEqual"/>
- <rejection class="" function-name="qFill"/>
- <rejection class="" function-name="qFind"/>
- <rejection class="" function-name="qFindChild"/>
- <rejection class="" function-name="qFindChildren"/>
- <rejection class="" function-name="qFindString"/>
- <rejection class="" function-name="qFindStringBoyerMoore"/>
- <rejection class="" function-name="qFloor"/>
- <rejection class="" function-name="qForeachContainer"/>
- <rejection class="" function-name="qForeachContainerNew"/>
- <rejection class="" function-name="qForeachPointer"/>
- <rejection class="" function-name="qFree"/>
- <rejection class="" function-name="qFromBigEndian"/>
- <rejection class="" function-name="qFromBigEndian&lt;qint16&gt;"/>
- <rejection class="" function-name="qFromBigEndian&lt;qint32&gt;"/>
- <rejection class="" function-name="qFromBigEndian&lt;qint64&gt;"/>
- <rejection class="" function-name="qFromBigEndian&lt;quint16&gt;"/>
- <rejection class="" function-name="qFromBigEndian&lt;quint32&gt;"/>
- <rejection class="" function-name="qFromBigEndian&lt;quint64&gt;"/>
- <rejection class="" function-name="qFromLittleEndian"/>
- <rejection class="" function-name="qFromLittleEndian&lt;qint16&gt;"/>
- <rejection class="" function-name="qFromLittleEndian&lt;qint32&gt;"/>
- <rejection class="" function-name="qFromLittleEndian&lt;qint64&gt;"/>
- <rejection class="" function-name="qFromLittleEndian&lt;quint16&gt;"/>
- <rejection class="" function-name="qFromLittleEndian&lt;quint32&gt;"/>
- <rejection class="" function-name="qFromLittleEndian&lt;quint64&gt;"/>
- <rejection class="" function-name="qgetenv"/>
- <rejection class="" function-name="qgraphicsitem_cast"/>
- <rejection class="" function-name="qGreater"/>
- <rejection class="" function-name="qHash"/>
- <rejection class="" function-name="qInstallMsgHandler"/>
- <rejection class="" function-name="qIntCast"/>
- <rejection class="" function-name="qIsDetached"/>
- <rejection class="" function-name="qIsDetached&lt;QBitArray&gt;"/>
- <rejection class="" function-name="qIsDetached&lt;QBitmap&gt;"/>
- <rejection class="" function-name="qIsDetached&lt;QBrush&gt;"/>
- <rejection class="" function-name="qIsDetached&lt;QByteArray&gt;"/>
- <rejection class="" function-name="qIsDetached&lt;QIcon&gt;"/>
- <rejection class="" function-name="qIsDetached&lt;QImage&gt;"/>
- <rejection class="" function-name="qIsDetached&lt;QKeySequence&gt;"/>
- <rejection class="" function-name="qIsDetached&lt;QPen&gt;"/>
- <rejection class="" function-name="qIsDetached&lt;QPicture&gt;"/>
- <rejection class="" function-name="qIsDetached&lt;QPixmap&gt;"/>
- <rejection class="" function-name="qIsDetached&lt;QString&gt;"/>
- <rejection class="" function-name="qIsDetached&lt;QUrl&gt;"/>
- <rejection class="" function-name="qIsDetached&lt;QVariant&gt;"/>
- <rejection class="" function-name="qLess"/>
- <rejection class="" function-name="qLn"/>
- <rejection class="" function-name="qLowerBound"/>
- <rejection class="" function-name="qMakePair"/>
- <rejection class="" function-name="qMalloc"/>
- <rejection class="" function-name="qMapLessThanKey"/>
- <rejection class="" function-name="qMax"/>
- <rejection class="" function-name="qMemCopy"/>
- <rejection class="" function-name="qMemSet"/>
- <rejection class="" function-name="qMetaTypeConstructHelper"/>
- <rejection class="" function-name="qMetaTypeDeleteHelper"/>
- <rejection class="" function-name="qMetaTypeId"/>
- <rejection class="" function-name="qMetaTypeLoadHelper"/>
- <rejection class="" function-name="qMetaTypeSaveHelper"/>
- <rejection class="" function-name="qMin"/>
- <rejection class="" function-name="qobject_cast"/>
- <rejection class="" function-name="qobject_cast&lt;const QWidget*&gt;"/>
- <rejection class="" function-name="qobject_cast&lt;QAccessibleBridgeFactoryInterface*&gt;"/>
- <rejection class="" function-name="qobject_cast&lt;QAccessibleBridgeFactoryInterface*&gt;"/>
- <rejection class="" function-name="qobject_cast&lt;QAccessibleFactoryInterface*&gt;"/>
- <rejection class="" function-name="qobject_cast&lt;QAccessibleInterface*&gt;"/>
- <rejection class="" function-name="qobject_cast&lt;QFactoryInterface*&gt;"/>
- <rejection class="" function-name="qobject_cast&lt;QFactoryInterface*&gt;"/>
- <rejection class="" function-name="qobject_cast&lt;QIconEngineFactoryInterface*&gt;"/>
- <rejection class="" function-name="qobject_cast&lt;QIconEngineFactoryInterface*&gt;"/>
- <rejection class="" function-name="qobject_cast&lt;QIconEngineFactoryInterfaceV2*&gt;"/>
- <rejection class="" function-name="qobject_cast&lt;QIconEngineFactoryInterfaceV2*&gt;"/>
- <rejection class="" function-name="qobject_cast&lt;QImageIOHandlerFactoryInterface*&gt;"/>
- <rejection class="" function-name="qobject_cast&lt;QInputContextFactoryInterface*&gt;"/>
- <rejection class="" function-name="qobject_cast&lt;QPictureFormatInterface*&gt;"/>
- <rejection class="" function-name="qobject_cast&lt;QPictureFormatInterface*&gt;"/>
- <rejection class="" function-name="qobject_cast&lt;QStyleFactoryInterface*&gt;"/>
- <rejection class="" function-name="qobject_cast&lt;QTextCodecFactoryInterface*&gt;"/>
- <rejection class="" function-name="qobject_cast&lt;QTextObjectInterface*&gt;"/>
- <rejection class="" function-name="qobject_cast&lt;QWidget*&gt;"/>
- <rejection class="" function-name="qPow"/>
- <rejection class="" function-name="qputenv"/>
- <rejection class="" function-name="qRealloc"/>
- <rejection class="" function-name="qRegisterMetaType"/>
- <rejection class="" function-name="qRegisterMetaTypeStreamOperators"/>
- <rejection class="" function-name="qRegisterStaticPluginInstanceFunction"/>
- <rejection class="" function-name="qRound64"/>
- <rejection class="" function-name="qSetFieldWidth"/>
- <rejection class="" function-name="qSetPadChar"/>
- <rejection class="" function-name="qSin"/>
- <rejection class="" function-name="qsnprintf"/>
- <rejection class="" function-name="qSort"/>
- <rejection class="" function-name="qSqrt"/>
- <rejection class="" function-name="qStableSort"/>
- <rejection class="" function-name="qStringComparisonHelper"/>
- <rejection class="" function-name="qstyleoption_cast"/>
- <rejection class="" function-name="qSwap"/>
- <rejection class="" function-name="qSwap&lt;QBitArray&gt;"/>
- <rejection class="" function-name="qSwap&lt;QBitmap&gt;"/>
- <rejection class="" function-name="qSwap&lt;QBrush&gt;"/>
- <rejection class="" function-name="qSwap&lt;QByteArray&gt;"/>
- <rejection class="" function-name="qSwap&lt;QIcon&gt;"/>
- <rejection class="" function-name="qSwap&lt;QImage&gt;"/>
- <rejection class="" function-name="qSwap&lt;QKeySequence&gt;"/>
- <rejection class="" function-name="qSwap&lt;QPen&gt;"/>
- <rejection class="" function-name="qSwap&lt;QPicture&gt;"/>
- <rejection class="" function-name="qSwap&lt;QPixmap&gt;"/>
- <rejection class="" function-name="qSwap&lt;QString&gt;"/>
- <rejection class="" function-name="qSwap&lt;QUrl&gt;"/>
- <rejection class="" function-name="qSwap&lt;QVariant&gt;"/>
- <rejection class="" function-name="qt_assert"/>
- <rejection class="" function-name="qt_assert_x"/>
- <rejection class="" function-name="qt_check_pointer"/>
- <rejection class="" function-name="qt_error_string"/>
- <rejection class="" function-name="qThreadStorage_localData"/>
- <rejection class="" function-name="qThreadStorage_localData_const"/>
- <rejection class="" function-name="qThreadStorage_setLocalData"/>
- <rejection class="" function-name="qt_message_output"/>
- <rejection class="" function-name="qt_noop"/>
- <rejection class="" function-name="qToBigEndian"/>
- <rejection class="" function-name="qToLittleEndian"/>
- <rejection class="" function-name="qToUnaligned"/>
- <rejection class="" function-name="qToVoidFuture"/>
- <rejection class="" function-name="qt_qFindChild_helper"/>
- <rejection class="" function-name="qt_qFindChildren_helper"/>
- <rejection class="" function-name="qt_set_sequence_auto_mnemonic"/>
- <rejection class="" function-name="qUpperBound"/>
- <rejection class="" function-name="qVariantCanConvert"/>
- <rejection class="" function-name="qvariant_cast"/>
- <rejection class="" function-name="qvariant_cast_helper"/>
- <rejection class="" function-name="qVariantFromValue"/>
- <rejection class="" function-name="qVariantSetValue"/>
- <rejection class="" function-name="qVariantValue"/>
- <rejection class="" function-name="qvsnprintf"/>
<rejection class="QThreadPool"/>
<!-- From Qt4.6 -->
<rejection class="*" field-name="d_ptr"/>
@@ -437,7 +221,10 @@
<conversion-rule file="qmap_conversions.h"/>
<include file-name="QMap" location="global"/>
</container-type>
- <container-type name="QMultiMap" type="multi-map"/>
+ <container-type name="QMultiMap" type="multi-map">
+ <conversion-rule file="qmultimap_conversions.h"/>
+ <include file-name="QMultiMap" location="global"/>
+ </container-type>
<container-type name="QPair" type="pair">
<conversion-rule file="qpair_conversions.h"/>
<include file-name="QPair" location="global"/>
@@ -688,7 +475,6 @@
<rejection class="QSharedData"/>
<rejection class="QSharedDataPointer"/>
<rejection class="QStack"/>
- <rejection class="QSysInfo"/>
<rejection class="QThreadStorage"/>
<rejection class="QThreadStorageData"/>
<rejection class="QTypeInfo"/>
@@ -841,6 +627,8 @@
<enum-type name="QSettings::Status"/>
<enum-type name="QSocketNotifier::Type"/>
<enum-type name="QSystemLocale::QueryType"/>
+ <enum-type name="QSysInfo::Endian"/>
+ <enum-type name="QSysInfo::Sizes"/>
<enum-type name="QTextCodec::ConversionFlag" flags="QTextCodec::ConversionFlags"/>
<enum-type name="QTextStream::FieldAlignment"/>
<enum-type name="QTextStream::NumberFlag" flags="QTextStream::NumberFlags"/>
@@ -913,7 +701,6 @@
<enum-type name="QCryptographicHash::Algorithm"/>
<enum-type name="QReadWriteLock::RecursionMode"/>
<enum-type name="QtConcurrent::ReduceOption" flags="QtConcurrent::ReduceOptions"/>
- <enum-type name="QtConcurrent::ThreadFunctionResult"/>
<enum-type name="QCoreApplication::Encoding" />
<enum-type name="Qt::AlignmentFlag" flags="Qt::Alignment" />
<enum-type name="Qt::CursorShape" />
@@ -2273,6 +2060,7 @@
</object-type>
<object-type name="QSocketNotifier"/>
<object-type name="QSystemLocale"/>
+ <object-type name="QSysInfo"/>
<object-type name="QTemporaryFile">
<extra-includes>
<include file-name="QAbstractFileEngine" location="global"/>
@@ -3034,6 +2822,8 @@
</inject-code>
</add-function>
+ <object-type name="QFactoryInterface"/>
+
<suppress-warning text="signature 'contais(QXmlStreamAttribute)' for function modification in 'QXmlStreamAttributes' not found."/>
<suppress-warning text="signature 'findChildren(QRegExp)const' for function modification in 'QObject' not found"/>
<suppress-warning text="signature 'findChildren(QString)const' for function modification in 'QObject' not found."/>
@@ -3055,6 +2845,8 @@
<suppress-warning text="Shadowing: QFile::fileName() const and QTemporaryFile::fileName() const"/>
<suppress-warning text="enum 'QtValidLicenseForDeclarativeModule' does not have a type entry or is not an enum"/>
<suppress-warning text="unhandled enum value: ~0u in Qt::GestureType"/>
+ <suppress-warning text="unhandled enum value: (sizeof(void*)&lt;&lt;3) in QSysInfo::Sizes"/>
<suppress-warning text="unmatched enum ~0u"/>
+ <suppress-warning text="unmatched enum (sizeof(void*)&lt;&lt;3)"/>
<suppress-warning text="signature 'setCustomType(float)' for function modification in 'QEasingCurve' not found. Possible candidates: setCustomType(double) in QEasingCurve"/>
</typesystem>
diff --git a/PySide/QtGui/CMakeLists.txt b/PySide/QtGui/CMakeLists.txt
index 9701ffb..970785a 100644
--- a/PySide/QtGui/CMakeLists.txt
+++ b/PySide/QtGui/CMakeLists.txt
@@ -113,6 +113,7 @@ ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qabstractspinbox_wrapper.cpp
${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qabstracttextdocumentlayout_paintcontext_wrapper.cpp
${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qabstracttextdocumentlayout_selection_wrapper.cpp
${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qabstracttextdocumentlayout_wrapper.cpp
+${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qaccessibleevent_wrapper.cpp
${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qactionevent_wrapper.cpp
${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qactiongroup_wrapper.cpp
${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qaction_wrapper.cpp
diff --git a/PySide/QtGui/glue/qapplication_init.cpp b/PySide/QtGui/glue/qapplication_init.cpp
index 20e487b..112b8e0 100644
--- a/PySide/QtGui/glue/qapplication_init.cpp
+++ b/PySide/QtGui/glue/qapplication_init.cpp
@@ -6,6 +6,8 @@ static char** QApplicationArgValues;
void DeleteQApplicationAtExit() {
if (QApplication::instance()) {
+ //disconnect and decref all widgets used on signals before destroy qApp
+ PySide::SignalManager::instance().clear();
delete QApplication::instance();
for (int i = 0; i < QApplicationArgCount; ++i)
delete[] QApplicationArgValues[i];
diff --git a/PySide/QtGui/glue/qlayout_help_functions.h b/PySide/QtGui/glue/qlayout_help_functions.h
new file mode 100644
index 0000000..186e0ec
--- /dev/null
+++ b/PySide/QtGui/glue/qlayout_help_functions.h
@@ -0,0 +1,51 @@
+#ifndef QLAYOUT_HELP_FUNCTIONS
+#define QLAYOUT_HELP_FUNCTIONS
+
+void addLayoutOwnership(QLayout *layout, QLayoutItem *item);
+
+inline void addLayoutOwnership(QLayout *layout, QWidget *widget)
+{
+ //transfer ownership to parent widget
+ QWidget *parent = layout->parentWidget();
+ if (!parent)
+ return;
+
+ Shiboken::AutoDecRef pyParent(Shiboken::Converter<QWidget*>::toPython(parent));
+ Shiboken::AutoDecRef pyChild(Shiboken::Converter<QWidget*>::toPython(widget));
+ Shiboken::setParent(pyParent, pyChild);
+}
+
+inline void addLayoutOwnership(QLayout *layout, QLayout *other)
+{
+ //transfer all children widgetes from other to layout parent widget
+ QWidget *parent = layout->parentWidget();
+ if (!parent)
+ return;
+
+ for (int i=0, i_max=layout->count(); i < i_max; i++) {
+ addLayoutOwnership(layout, layout->itemAt(i));
+ }
+
+ Shiboken::AutoDecRef pyParent(Shiboken::Converter<QLayout*>::toPython(layout));
+ Shiboken::AutoDecRef pyChild(Shiboken::Converter<QLayout*>::toPython(other));
+ Shiboken::setParent(pyParent, pyChild);
+
+}
+
+inline void addLayoutOwnership(QLayout *layout, QLayoutItem *item)
+{
+ QWidget *w = item->widget();
+ if (w)
+ addLayoutOwnership(layout, w);
+ else {
+ QLayout *l = item->layout();
+ if (l)
+ addLayoutOwnership(layout, l);
+ }
+
+ Shiboken::AutoDecRef pyParent(Shiboken::Converter<QLayout*>::toPython(layout));
+ Shiboken::AutoDecRef pyChild(Shiboken::Converter<QLayoutItem*>::toPython(item));
+ Shiboken::setParent(pyParent, pyChild);
+}
+
+#endif
diff --git a/PySide/QtGui/typesystem_gui_common.xml b/PySide/QtGui/typesystem_gui_common.xml
index 08efe3d..9697e3c 100644
--- a/PySide/QtGui/typesystem_gui_common.xml
+++ b/PySide/QtGui/typesystem_gui_common.xml
@@ -1,5 +1,21 @@
<?xml version="1.0"?>
<typesystem package="PySide.QtGui">
+ <function signature="qAlpha(uint)" />
+ <function signature="qBlue(uint)" />
+ <function signature="qGray(int,int,int)" />
+ <function signature="qGray(uint)" />
+ <function signature="qGreen(uint)" />
+ <function signature="qIsGray(uint)" />
+ <function signature="qRed(uint)" />
+ <function signature="qRgb(int,int,int)" />
+ <function signature="qRgba(int,int,int,int)" />
+ <function signature="qFuzzyCompare(QMatrix,QMatrix)" />
+ <function signature="qFuzzyCompare(QTransform,QTransform)" />
+ <function signature="qFuzzyCompare(QQuaternion,QQuaternion)" />
+ <function signature="qFuzzyCompare(QMatrix4x4,QMatrix4x4)" />
+ <function signature="qFuzzyCompare(QVector2D,QVector2D)" />
+ <function signature="qFuzzyCompare(QVector3D,QVector3D)" />
+ <function signature="qFuzzyCompare(QVector4D,QVector4D)" />
<rejection class="*" function-name="qobject_interface_iid&lt;QStyleFactoryInterface*&gt;"/>
<rejection class="*" function-name="qobject_interface_iid&lt;QAccessibleFactoryInterface*&gt;"/>
<rejection class="*" function-name="qobject_interface_iid&lt;QInputContextFactoryInterface*&gt;"/>
@@ -76,7 +92,6 @@
<rejection class="QAccessibleInterfaceEx"/>
<rejection class="QAccessibleWidget"/>
<rejection class="QAccessibleWidgetEx"/>
- <rejection class="QAccessibleEvent"/>
<rejection class="QAbstractItemDelegate" function-name="operator="/>
<rejection class="QAbstractTextDocumentLayout::PaintContext" field-name="selections"/>
<rejection class="QApplication" function-name="compressEvent"/>
@@ -1180,7 +1195,27 @@
<value-type name="QPrinterInfo">
<modify-function signature="operator=(const QPrinterInfo &amp;)" remove="all"/>
</value-type>
- <object-type name="QLayoutItem"/>
+ <object-type name="QLayoutItem">
+
+ <modify-function signature="widget()">
+ <modify-argument index="return">
+ <define-ownership class="target" owner="default"/>
+ </modify-argument>
+ </modify-function>
+
+ <modify-function signature="layout()">
+ <modify-argument index="return">
+ <define-ownership class="target" owner="default"/>
+ </modify-argument>
+ </modify-function>
+
+ <modify-function signature="spacerItem()">
+ <modify-argument index="return">
+ <define-ownership class="target" owner="default"/>
+ </modify-argument>
+ </modify-function>
+
+ </object-type>
<object-type name="QPaintDevice"/>
<object-type name="QGraphicsItem">
<inject-code class="target" position="end">
@@ -2158,7 +2193,7 @@
</modify-argument>
</modify-function>
</object-type>
- <object-type name="QWidgetItem"/>
+ <object-type name="QWidgetItem" polymorphic-id-expression="%1-&gt;widget()" />
<object-type name="QWindowsStyle">
<modify-function signature="standardPixmap(QStyle::StandardPixmap, const QStyleOption*, const QWidget*)const" remove="all"/>
<!--### Obsolete in 4.3-->
@@ -2177,7 +2212,8 @@
<object-type name="QContextMenuEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::ContextMenu"/>
<object-type name="QDragEnterEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::DragEnter"/>
<object-type name="QDragLeaveEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::DragLeave"/>
- <object-type name="QDragMoveEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::DragMove">
+ <object-type name="QDragMoveEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::DragMove" />
+ <object-type name="QDropEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::Drop">
<modify-function signature="source() const">
<modify-argument index="return">
<define-ownership owner="target"/>
@@ -2187,7 +2223,6 @@
<modify-function signature="format(int)const" remove="all"/>
<modify-function signature="provides(const char*)const" remove="all"/>
</object-type>
- <object-type name="QDropEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::Drop" />
<object-type name="QFileOpenEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::FileOpen" />
<object-type name="QFocusEvent" polymorphic-id-expression="%1-&gt;type() == QEvent::FocusIn || %1-&gt;type() == QEvent::FocusOut" />
<object-type name="QGraphicsSceneContextMenuEvent" copyable="false" polymorphic-id-expression="%1-&gt;type() == QEvent::GraphicsSceneContextMenu" />
@@ -2262,171 +2297,204 @@
<modify-function signature="getColor(const QColor&amp;, QWidget*, const QString&amp;, QFlags&lt;QColorDialog::ColorDialogOption>)" allow-thread="yes" />
</object-type>
<object-type name="QLayout">
- <modify-function signature="addItem(QLayoutItem*)">
- <modify-argument index="1">
- <parent index="this" action="add"/>
+
+ <extra-includes>
+ <include file-name="glue/qlayout_help_functions.h" location="local"/>
+ </extra-includes>
+
+ <modify-function signature="itemAt(int)const">
+ <modify-argument index="return">
+ <define-ownership owner="default"/>
</modify-argument>
+ <inject-code class="target" position="end">
+ addLayoutOwnership(%CPPSELF, %0);
+ </inject-code>
</modify-function>
- <modify-function signature="removeItem(QLayoutItem*)">
- <modify-argument index="1">
- <parent index="this" action="remove"/>
+
+ <modify-function signature="parentWidget()const">
+ <modify-argument index="this">
+ <parent index="return" action="add"/>
</modify-argument>
</modify-function>
+
<modify-function signature="takeAt(int)">
<modify-argument index="return">
<parent index="this" action="remove"/>
</modify-argument>
</modify-function>
+
+ <modify-function signature="addItem(QLayoutItem*)">
+ <inject-code class="target" position="beginning">
+ addLayoutOwnership(%CPPSELF, %1);
+ </inject-code>
+ </modify-function>
+
<modify-function signature="addWidget(QWidget *)">
- <modify-argument index="1">
- <no-null-pointer/>
- <parent index="this" action="add"/>
- </modify-argument>
+ <inject-code class="target" position="beginning">
+ addLayoutOwnership(%CPPSELF, %1);
+ </inject-code>
</modify-function>
<modify-function signature="addChildWidget(QWidget *)">
- <modify-argument index="1">
- <no-null-pointer/>
- <parent index="this" action="add"/>
- </modify-argument>
+ <inject-code class="target" position="beginning">
+ addLayoutOwnership(%CPPSELF, %1);
+ </inject-code>
</modify-function>
<modify-function signature="addChildLayout(QLayout*)">
- <modify-argument index="1">
- <no-null-pointer/>
- <parent index="this" action="add"/>
- </modify-argument>
- </modify-function>
- <modify-function signature="removeWidget(QWidget *)">
- <modify-argument index="1">
- <no-null-pointer/>
- <parent index="this" action="add"/>
- </modify-argument>
+ <inject-code class="target" position="beginning">
+ addLayoutOwnership(%CPPSELF, %1);
+ </inject-code>
</modify-function>
<modify-function signature="setMenuBar(QWidget*)">
- <modify-argument index="1">
- <parent index="this" action="add"/>
- </modify-argument>
+ <inject-code class="target" position="beginning">
+ addLayoutOwnership(%CPPSELF, %1);
+ </inject-code>
</modify-function>
+
<modify-function signature="getContentsMargins(int*,int*,int*,int*)const" remove="all" />
<!--### Obsolete in 4.3-->
<!-- <modify-function signature="setMargin(int)" remove="all"/> -->
<!--### Obsolete in 4.3-->
</object-type>
+
<object-type name="QStackedLayout">
+ <extra-includes>
+ <include file-name="glue/qlayout_help_functions.h" location="local"/>
+ </extra-includes>
+
<modify-function signature="addItem(QLayoutItem *)">
- <modify-argument index="1">
- <parent index="this" action="add"/>
- </modify-argument>
+ <inject-code class="target" position="beginning">
+ addLayoutOwnership(%CPPSELF, %1);
+ </inject-code>
</modify-function>
- <modify-function signature="itemAt(int) const">
+
+ <modify-function signature="itemAt(int)const">
<modify-argument index="return">
- <parent index="this" action="add"/>
+ <define-ownership owner="default"/>
</modify-argument>
+ <inject-code class="target" position="end">
+ addLayoutOwnership(%CPPSELF, %0);
+ </inject-code>
</modify-function>
+
<modify-function signature="addWidget(QWidget *)">
<rename to="addStackedWidget"/>
- <modify-argument index="1">
- <no-null-pointer/>
- <parent index="this" action="add"/>
- </modify-argument>
+ <inject-code class="target" position="beginning">
+ addLayoutOwnership(%CPPSELF, %1);
+ </inject-code>
</modify-function>
<modify-function signature="insertWidget(int,QWidget*)">
- <modify-argument index="2">
- <no-null-pointer/>
- <parent index="this" action="add"/>
- </modify-argument>
+ <inject-code class="target" position="beginning">
+ addLayoutOwnership(%CPPSELF, %2);
+ </inject-code>
</modify-function>
- <modify-function signature="takeAt(int)">
+ </object-type>
+
+ <object-type name="QBoxLayout">
+ <extra-includes>
+ <include file-name="glue/qlayout_help_functions.h" location="local"/>
+ </extra-includes>
+
+ <modify-function signature="itemAt(int)const">
<modify-argument index="return">
- <parent index="this" action="remove"/>
+ <define-ownership owner="default"/>
</modify-argument>
+
+ <inject-code class="target" position="end">
+ addLayoutOwnership(%CPPSELF, %0);
+ </inject-code>
</modify-function>
- </object-type>
- <object-type name="QBoxLayout">
+
<modify-function signature="addWidget(QWidget *, int, QFlags&lt;Qt::AlignmentFlag&gt;)">
- <modify-argument index="1">
- <parent index="this" action="add"/>
- </modify-argument>
+ <inject-code class="target" position="beginning">
+ addLayoutOwnership(%CPPSELF, %1);
+ </inject-code>
</modify-function>
<modify-function signature="addLayout(QLayout *, int)">
- <modify-argument index="1">
- <parent index="this" action="add"/>
- </modify-argument>
+ <inject-code class="target" position="beginning">
+ addLayoutOwnership(%CPPSELF, %1);
+ </inject-code>
</modify-function>
<modify-function signature="addItem(QLayoutItem *)">
- <modify-argument index="1">
- <define-ownership owner="c++"/>
- </modify-argument>
+ <inject-code class="target" position="beginning">
+ addLayoutOwnership(%CPPSELF, %1);
+ </inject-code>
</modify-function>
<modify-function signature="insertWidget(int, QWidget *, int, QFlags&lt;Qt::AlignmentFlag&gt;)">
- <modify-argument index="2">
- <parent index="this" action="add"/>
- </modify-argument>
+ <inject-code class="target" position="beginning">
+ addLayoutOwnership(%CPPSELF, %2);
+ </inject-code>
</modify-function>
<modify-function signature="insertLayout(int, QLayout *, int)">
- <modify-argument index="2">
- <parent index="this" action="add"/>
- </modify-argument>
+ <inject-code class="target" position="beginning">
+ addLayoutOwnership(%CPPSELF, %2);
+ </inject-code>
</modify-function>
<modify-function signature="insertItem(int, QLayoutItem *)">
- <modify-argument index="2">
- <parent index="this" action="add"/>
- </modify-argument>
+ <inject-code class="target" position="beginning">
+ addLayoutOwnership(%CPPSELF, %2);
+ </inject-code>
</modify-function>
<modify-function signature="addSpacerItem(QSpacerItem*)">
- <modify-argument index="1">
- <parent index="this" action="add"/>
- </modify-argument>
+ <inject-code class="target" position="beginning">
+ addLayoutOwnership(%CPPSELF, %1);
+ </inject-code>
</modify-function>
<modify-function signature="insertSpacerItem(int,QSpacerItem*)">
- <modify-argument index="2">
- <parent index="this" action="add"/>
- </modify-argument>
- </modify-function>
- <modify-function signature="takeAt(int)">
- <modify-argument index="return">
- <parent index="this" action="remove"/>
- </modify-argument>
+ <inject-code class="target" position="beginning">
+ addLayoutOwnership(%CPPSELF, %2);
+ </inject-code>
</modify-function>
</object-type>
+
<object-type name="QGridLayout">
+ <extra-includes>
+ <include file-name="glue/qlayout_help_functions.h" location="local"/>
+ </extra-includes>
+
<modify-function signature="addWidget(QWidget *)">
- <modify-argument index="1">
- <parent index="this" action="add"/>
- </modify-argument>
+ <inject-code class="target" position="beginning">
+ addLayoutOwnership(%CPPSELF, %1);
+ </inject-code>
</modify-function>
<modify-function signature="addWidget(QWidget *, int, int, QFlags&lt;Qt::AlignmentFlag&gt;)">
- <modify-argument index="1">
- <parent index="this" action="add"/>
- </modify-argument>
+ <inject-code class="target" position="beginning">
+ addLayoutOwnership(%CPPSELF, %1);
+ </inject-code>
</modify-function>
<modify-function signature="addWidget(QWidget *, int, int, int, int, QFlags&lt;Qt::AlignmentFlag&gt;)">
- <modify-argument index="1">
- <parent index="this" action="add"/>
- </modify-argument>
+ <inject-code class="target" position="beginning">
+ addLayoutOwnership(%CPPSELF, %1);
+ </inject-code>
</modify-function>
<modify-function signature="addLayout(QLayout *, int, int, QFlags&lt;Qt::AlignmentFlag&gt;)">
- <modify-argument index="1">
- <parent index="this" action="add"/>
- </modify-argument>
+ <inject-code class="target" position="beginning">
+ addLayoutOwnership(%CPPSELF, %1);
+ </inject-code>
</modify-function>
<modify-function signature="addLayout(QLayout *, int, int, int, int, QFlags&lt;Qt::AlignmentFlag&gt;)">
- <modify-argument index="1">
- <parent index="this" action="add"/>
- </modify-argument>
- </modify-function>
- <modify-function signature="takeAt(int)">
- <modify-argument index="return">
- <parent index="this" action="remove"/>
- </modify-argument>
+ <inject-code class="target" position="beginning">
+ addLayoutOwnership(%CPPSELF, %1);
+ </inject-code>
</modify-function>
<modify-function signature="addItem(QLayoutItem *, int, int, int, int, QFlags&lt;Qt::AlignmentFlag&gt;)">
- <modify-argument index="1">
- <parent index="this" action="add"/>
+ <inject-code class="target" position="beginning">
+ addLayoutOwnership(%CPPSELF, %1);
+ </inject-code>
+ </modify-function>
+
+ <modify-function signature="itemAt(int)const">
+ <modify-argument index="return">
+ <define-ownership owner="default"/>
</modify-argument>
+
+ <inject-code class="target" position="end">
+ addLayoutOwnership(%CPPSELF, %0);
+ </inject-code>
</modify-function>
<modify-function signature="getItemPosition(int,int*,int*,int*,int*)" remove="all" />
</object-type>
+
<object-type name="QGraphicsView">
<extra-includes>
<include file-name="QPainterPath" location="global"/>
diff --git a/PySide/QtNetwork/typesystem_network.xml b/PySide/QtNetwork/typesystem_network.xml
index def235f..b52b72f 100644
--- a/PySide/QtNetwork/typesystem_network.xml
+++ b/PySide/QtNetwork/typesystem_network.xml
@@ -175,12 +175,6 @@
<modify-function signature="QHostAddress(quint8*)" remove="all" />
<modify-function signature="operator=(QString)" remove="all"/>
<modify-function signature="operator=(QHostAddress)" remove="all"/>
- <modify-function signature="writeDatagram(const char*,qint64,const QHostAddress&amp;,quint16)" remove="all" />
- <!--
- <inject-code class="target" position="end">
- python::implicitly_convertible&lt;QHostAddress::SpecialAddress,QHostAddress&gt;();
- </inject-code>
- -->
</value-type>
<value-type name="QHostInfo">
diff --git a/PySide/QtScript/CMakeLists.txt b/PySide/QtScript/CMakeLists.txt
new file mode 100644
index 0000000..0ebdfba
--- /dev/null
+++ b/PySide/QtScript/CMakeLists.txt
@@ -0,0 +1,54 @@
+project(QtScript)
+
+if (${QT_VERSION_MAJOR} EQUAL 4 AND ${QT_VERSION_MINOR} LESS 6)
+ set (QtCore_46_SRC )
+else()
+ set(QtScript_46_SRC
+ ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtScript/qscriptprogram_wrapper.cpp
+ )
+endif()
+
+set(QtScript_SRC
+${CMAKE_CURRENT_BINARY_DIR}/PySide/QtScript/qscriptable_wrapper.cpp
+${CMAKE_CURRENT_BINARY_DIR}/PySide/QtScript/qscriptclass_wrapper.cpp
+${CMAKE_CURRENT_BINARY_DIR}/PySide/QtScript/qscriptclasspropertyiterator_wrapper.cpp
+${CMAKE_CURRENT_BINARY_DIR}/PySide/QtScript/qscriptcontext_wrapper.cpp
+${CMAKE_CURRENT_BINARY_DIR}/PySide/QtScript/qscriptcontextinfo_wrapper.cpp
+${CMAKE_CURRENT_BINARY_DIR}/PySide/QtScript/qscriptengineagent_wrapper.cpp
+${CMAKE_CURRENT_BINARY_DIR}/PySide/QtScript/qtscript_module_wrapper.cpp
+${CMAKE_CURRENT_BINARY_DIR}/PySide/QtScript/qscriptengine_wrapper.cpp
+${CMAKE_CURRENT_BINARY_DIR}/PySide/QtScript/qscriptextensioninterface_wrapper.cpp
+${CMAKE_CURRENT_BINARY_DIR}/PySide/QtScript/qscriptextensionplugin_wrapper.cpp
+${CMAKE_CURRENT_BINARY_DIR}/PySide/QtScript/qscriptstring_wrapper.cpp
+${CMAKE_CURRENT_BINARY_DIR}/PySide/QtScript/qscriptvalue_wrapper.cpp
+${CMAKE_CURRENT_BINARY_DIR}/PySide/QtScript/qscriptvalueiterator_wrapper.cpp
+${QtScript_46_SRC}
+)
+
+execute_generator(script QtScript_SRC "${CMAKE_CURRENT_BINARY_DIR}:${QtCore_SOURCE_DIR}")
+
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}
+ ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtScript
+ ${QT_INCLUDE_DIR}
+ ${QT_QTSCRIPT_INCLUDE_DIR}
+ ${SHIBOKEN_INCLUDE_DIR}
+ ${libpyside_SOURCE_DIR}
+ ${PYTHON_INCLUDE_PATH}
+ ${QtCore_BINARY_DIR}/PySide/QtCore
+ )
+add_library(QtScript MODULE ${QtScript_SRC})
+set_property(TARGET QtScript PROPERTY PREFIX "")
+target_link_libraries(QtScript
+ pyside
+ ${PYTHON_LIBRARIES}
+ ${SHIBOKEN_LIBRARY}
+ ${QT_QTCORE_LIBRARY}
+ ${QT_QTSCRIPT_LIBRARY}
+ )
+add_dependencies(QtScript QtCore)
+
+# install
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/QtScript.so DESTINATION ${SITE_PACKAGE}/PySide)
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtScript/pyside_qtscript_python.h
+ DESTINATION include/PySide/QtScript/)
+
diff --git a/PySide/QtScript/typesystem_script.xml b/PySide/QtScript/typesystem_script.xml
new file mode 100644
index 0000000..81ba5b3
--- /dev/null
+++ b/PySide/QtScript/typesystem_script.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<typesystem package="PySide.QtScript">
+ <load-typesystem name="typesystem_core.xml" generate="no" />
+
+ <enum-type name="QScriptContext::Error"/>
+ <enum-type name="QScriptContext::ExecutionState"/>
+ <enum-type name="QScriptContextInfo::FunctionType"/>
+ <enum-type name="QScriptEngine::ValueOwnership"/>
+ <enum-type name="QScriptEngine::QObjectWrapOption" flags="QScriptEngine::QObjectWrapOptions"/>
+ <enum-type name="QScriptEngineAgent::Extension"/>
+ <enum-type name="QScriptValue::ResolveFlag"/>
+ <enum-type name="QScriptValue::PropertyFlag"/>
+ <enum-type name="QScriptValue::SpecialValue"/>
+ <enum-type name="QScriptClass::QueryFlag"/>
+ <enum-type name="QScriptClass::Extension"/>
+
+ <object-type name="QScriptable"/>
+ <object-type name="QScriptClass"/>
+ <object-type name="QScriptClassPropertyIterator"/>
+ <object-type name="QScriptContext"/>
+ <value-type name="QScriptContextInfo"/>
+ <object-type name="QScriptEngineAgent"/>
+ <object-type name="QScriptEngine"/>
+ <object-type name="QScriptExtensionInterface"/>
+ <object-type name="QScriptExtensionPlugin"/>
+ <object-type name="QScriptProgram"/>
+ <value-type name="QScriptString"/>
+ <value-type name="QScriptValue"/>
+ <object-type name="QScriptValueIterator"/>
+</typesystem>
+
diff --git a/PySide/QtScriptTools/CMakeLists.txt b/PySide/QtScriptTools/CMakeLists.txt
new file mode 100644
index 0000000..3788f8c
--- /dev/null
+++ b/PySide/QtScriptTools/CMakeLists.txt
@@ -0,0 +1,40 @@
+project(QtScriptTools)
+
+set(QtScriptTools_SRC
+ ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtScriptTools/qtscripttools_module_wrapper.cpp
+ ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtScriptTools/qscriptenginedebugger_wrapper.cpp
+)
+
+execute_generator(scripttools QtScriptTools_SRC "${CMAKE_CURRENT_BINARY_DIR}:${QtCore_SOURCE_DIR}:${QtGui_SOURCE_DIR}:${QtGui_BINARY_DIR}:${QtScript_SOURCE_DIR}:${QtScriptTools_SOURCE_DIR}")
+
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}
+ ${QT_QTCORE_INCLUDE_DIR}
+ ${QT_GUI_INCLUDE_DIR}
+ ${QT_QTSCRIPT_INCLUDE_DIR}
+ ${QT_QTSCRIPTTOOLS_INCLUDE_DIR}
+ ${PYTHON_INCLUDE_PATH}
+ ${SHIBOKEN_INCLUDE_DIR}
+ ${libpyside_SOURCE_DIR}
+ ${QtCore_BINARY_DIR}/PySide/QtCore/
+ ${QtGui_BINARY_DIR}/PySide/QtGui/
+ ${QtScript_BINARY_DIR}/PySide/QtScript/
+ ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtScriptTools)
+
+add_library(QtScriptTools MODULE ${QtScriptTools_SRC})
+set_target_properties(QtScriptTools PROPERTIES PREFIX "")
+target_link_libraries(QtScriptTools
+ pyside
+ ${PYTHON_LIBRARIES}
+ ${QT_QTCORE_LIBRARY}
+ ${QT_GUI_LIBRARY}
+ ${QT_QTSCRIPT_LIBRARY}
+ ${QT_QTSCRIPTTOOLS_LIBRARY})
+
+add_dependencies(QtScriptTools QtCore QtScript QtGui)
+
+# install
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/QtScriptTools.so
+ DESTINATION ${SITE_PACKAGE}/PySide)
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtScriptTools/pyside_qtscripttools_python.h
+ DESTINATION include/PySide/QtScriptTools/)
+
diff --git a/PySide/QtScriptTools/typesystem_scripttools.xml b/PySide/QtScriptTools/typesystem_scripttools.xml
new file mode 100644
index 0000000..45bc04b
--- /dev/null
+++ b/PySide/QtScriptTools/typesystem_scripttools.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0"?>
+<typesystem package="PySide.QtScriptTools">
+ <load-typesystem name="typesystem_script.xml" generate="no" />
+ <load-typesystem name="typesystem_gui.xml" generate="no" />
+
+ <!-- enums -->
+ <enum-type name="QScriptEngineDebugger::DebuggerAction"/>
+ <enum-type name="QScriptEngineDebugger::DebuggerWidget"/>
+ <enum-type name="QScriptEngineDebugger::DebuggerState"/>
+
+ <!-- classes -->
+ <object-type name="QScriptEngineDebugger">
+ <extra-includes>
+ <include file-name="QScriptEngine" location="global"/>
+ </extra-includes>
+ </object-type>
+</typesystem>
diff --git a/PySide/QtTest/typesystem_test.xml b/PySide/QtTest/typesystem_test.xml
index 428a8ee..cbf8add 100644
--- a/PySide/QtTest/typesystem_test.xml
+++ b/PySide/QtTest/typesystem_test.xml
@@ -27,12 +27,12 @@
<rejection class="QTouchEventSequence"/>
- <!--<enum-type name="QTest::AttributeIndex"/>
+ <enum-type name="QTest::AttributeIndex"/>
<enum-type name="QTest::KeyAction"/>
<enum-type name="QTest::LogElementType"/>
<enum-type name="QTest::MouseAction"/>
<enum-type name="QTest::SkipMode"/>
- <enum-type name="QTest::TestFailMode"/>-->
+ <enum-type name="QTest::TestFailMode"/>
<rejection class="QSignalSpy"/>
<rejection class="QTestEventList"/>
diff --git a/PySide/QtWebKit/typesystem_webkit.xml b/PySide/QtWebKit/typesystem_webkit.xml
index b0d7338..dd3b5ba 100644
--- a/PySide/QtWebKit/typesystem_webkit.xml
+++ b/PySide/QtWebKit/typesystem_webkit.xml
@@ -10,6 +10,7 @@
<enum-type name="QWebSettings::FontSize"/>
<enum-type name="QWebSettings::WebGraphic"/>
<enum-type name="QWebSettings::WebAttribute"/>
+ <enum-type name="QWebPage::ErrorDomain"/>
<enum-type name="QWebPage::NavigationType"/>
<enum-type name="QWebPage::WebAction"/>
<enum-type name="QWebPage::WebWindowType"/>
@@ -40,8 +41,6 @@
<parent index="this" action="add"/>
</modify-argument>
</modify-function>
- <!-- TODO QtScript isn't implemented yet -->
- <modify-function signature="addToJavaScriptWindowObject(QString,QObject*,QScriptEngine::ValueOwnership)" remove="all" />
<!-- TODO QMultiMap isn't implemented yet -->
<modify-function signature="metaData()const" remove="all" />
</object-type>
diff --git a/PySide/QtXml/typesystem_xml.xml b/PySide/QtXml/typesystem_xml.xml
index c3fc1b3..5c0811e 100644
--- a/PySide/QtXml/typesystem_xml.xml
+++ b/PySide/QtXml/typesystem_xml.xml
@@ -433,6 +433,8 @@
</modify-function>
</object-type>
+ <suppress-warning text="Shadowing: QDomNode::attributes() const and QDomElement::attributes() const"/>
+ <suppress-warning text="Shadowing: QDomNode::nodeType() const and QDomElement::nodeType() const"/>
</typesystem>
diff --git a/PySide/QtXmlPatterns/CMakeLists.txt b/PySide/QtXmlPatterns/CMakeLists.txt
index ef70313..b7c7c3a 100644
--- a/PySide/QtXmlPatterns/CMakeLists.txt
+++ b/PySide/QtXmlPatterns/CMakeLists.txt
@@ -1,4 +1,4 @@
-project(QtXml)
+project(QtXmlPatterns)
if (${QT_VERSION_MAJOR} EQUAL 4 AND ${QT_VERSION_MINOR} LESS 6)
set(QtXmlPatterns_46_SRC )
diff --git a/PySide/QtXmlPatterns/typesystem_xmlpatterns.xml b/PySide/QtXmlPatterns/typesystem_xmlpatterns.xml
index a771a10..4f10bda 100644
--- a/PySide/QtXmlPatterns/typesystem_xmlpatterns.xml
+++ b/PySide/QtXmlPatterns/typesystem_xmlpatterns.xml
@@ -6,7 +6,7 @@
<enum-type name="QAbstractXmlNodeModel::NodeCopySetting" />
<enum-type name="QXmlNodeModelIndex::NodeKind" />
<enum-type name="QXmlNodeModelIndex::DocumentOrder" />
- <enum-type name="QXmlNodeModelIndex::Axis" />
+ <enum-type name="QXmlNodeModelIndex::Axis"/>
<enum-type name="QXmlQuery::QueryLanguage" />
<value-type name="QXmlSchema"/>
@@ -46,7 +46,6 @@
<modify-function signature="namespaceBindings()const" remove="all" />
<modify-function signature="namespaceForPrefix(short)const" remove="all" />
<modify-function signature="stringValue()const" remove="all" />
- <modify-function signature="type()const" remove="all" />
<modify-function signature="is(const QXmlNodeModelIndex &amp;)const" remove="all" />
<modify-function signature="reset()" remove="all" />
</value-type>
@@ -54,4 +53,8 @@
<value-type name="QXmlQuery" />
<object-type name="QXmlResultItems" />
<object-type name="QXmlSerializer" />
+
+
+ <suppress-warning text="unhandled enum value: ForwardAxis in QXmlNodeModelIndex::Axis"/>
+ <suppress-warning text="unhandled enum value: ReverseAxis in QXmlNodeModelIndex::Axis"/>
</typesystem>
diff --git a/PySide/__init__.py b/PySide/__init__.py
index b5cd62b..d9db08e 100644
--- a/PySide/__init__.py
+++ b/PySide/__init__.py
@@ -1 +1 @@
-__all__ = ['QtCore', 'QtGui', 'QtNetwork', 'QtOpenGL', 'QtSql', 'QtSvg', 'QtTest', 'QtWebKit'] \ No newline at end of file
+__all__ = ['QtCore', 'QtGui', 'QtNetwork', 'QtOpenGL', 'QtSql', 'QtSvg', 'QtTest', 'QtWebKit', 'QtScript']
diff --git a/PySide/global.h b/PySide/global.h
index cb94eef..1c88abc 100644
--- a/PySide/global.h
+++ b/PySide/global.h
@@ -1,7 +1,334 @@
+/****************************************************************************
+**
+** Copyright (C) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+**
+** This file is part of the QtCore module of the Qt Toolkit, plus some
+** modifications by PySide team.
+**
+** Commercial Usage
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+**
+****************************************************************************/
+
#undef QT_NO_STL
#undef QT_NO_STL_WCHAR
-#include "qobjectdefs_pyside.h"
+#include <QtCore/qnamespace.h>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+QT_MODULE(Core)
+
+class QByteArray;
+
+class QString;
+
+#ifndef Q_MOC_OUTPUT_REVISION
+#define Q_MOC_OUTPUT_REVISION 61
+#endif
+
+// macro for onaming members
+#ifdef METHOD
+#undef METHOD
+#endif
+#ifdef SLOT
+#undef SLOT
+#endif
+#ifdef SIGNAL
+#undef SIGNAL
+#endif
+
+Q_CORE_EXPORT const char *qFlagLocation(const char *method);
+
+#define QTOSTRING_HELPER(s) #s
+#define QTOSTRING(s) QTOSTRING_HELPER(s)
+#ifndef QT_NO_DEBUG
+# define QLOCATION "\0"__FILE__":"QTOSTRING(__LINE__)
+# define METHOD(a) qFlagLocation("0"#a QLOCATION)
+# define SLOT(a) qFlagLocation("1"#a QLOCATION)
+# define SIGNAL(a) qFlagLocation("2"#a QLOCATION)
+#else
+# define METHOD(a) "0"#a
+# define SLOT(a) "1"#a
+# define SIGNAL(a) "2"#a
+#endif
+
+#ifdef QT3_SUPPORT
+#define METHOD_CODE 0 // member type codes
+#define SLOT_CODE 1
+#define SIGNAL_CODE 2
+#endif
+
+#define QMETHOD_CODE 0 // member type codes
+#define QSLOT_CODE 1
+#define QSIGNAL_CODE 2
+
+#define Q_ARG(type, data) QArgument<type >(#type, data)
+#define Q_RETURN_ARG(type, data) QReturnArgument<type >(#type, data)
+
+class QObject;
+class QMetaMethod;
+class QMetaEnum;
+class QMetaProperty;
+class QMetaClassInfo;
+
+
+class Q_CORE_EXPORT QGenericArgument
+{
+public:
+ inline QGenericArgument(const char *aName = 0, const void *aData = 0)
+ : _data(aData), _name(aName) {}
+ inline void *data() const { return const_cast<void *>(_data); }
+ inline const char *name() const { return _name; }
+
+private:
+ const void *_data;
+ const char *_name;
+};
+
+class Q_CORE_EXPORT QGenericReturnArgument: public QGenericArgument
+{
+public:
+ inline QGenericReturnArgument(const char *aName = 0, void *aData = 0)
+ : QGenericArgument(aName, aData)
+ {}
+};
+
+template <class T>
+class QArgument: public QGenericArgument
+{
+public:
+ inline QArgument(const char *aName, const T &aData)
+ : QGenericArgument(aName, static_cast<const void *>(&aData))
+ {}
+};
+
+
+template <typename T>
+class QReturnArgument: public QGenericReturnArgument
+{
+public:
+ inline QReturnArgument(const char *aName, T &aData)
+ : QGenericReturnArgument(aName, static_cast<void *>(&aData))
+ {}
+};
+
+struct Q_CORE_EXPORT QMetaObject
+{
+ const char *className() const;
+ const QMetaObject *superClass() const;
+
+ QObject *cast(QObject *obj) const;
+
+#ifndef QT_NO_TRANSLATION
+ // ### Qt 4: Merge overloads
+ QString tr(const char *s, const char *c) const;
+ QString trUtf8(const char *s, const char *c) const;
+ QString tr(const char *s, const char *c, int n) const;
+ QString trUtf8(const char *s, const char *c, int n) const;
+#endif // QT_NO_TRANSLATION
+
+ int methodOffset() const;
+ int enumeratorOffset() const;
+ int propertyOffset() const;
+ int classInfoOffset() const;
+
+ int constructorCount() const;
+ int methodCount() const;
+ int enumeratorCount() const;
+ int propertyCount() const;
+ int classInfoCount() const;
+
+ int indexOfConstructor(const char *constructor) const;
+ int indexOfMethod(const char *method) const;
+ int indexOfSignal(const char *signal) const;
+ int indexOfSlot(const char *slot) const;
+ int indexOfEnumerator(const char *name) const;
+ int indexOfProperty(const char *name) const;
+ int indexOfClassInfo(const char *name) const;
+
+ QMetaMethod constructor(int index) const;
+ QMetaMethod method(int index) const;
+ QMetaEnum enumerator(int index) const;
+ QMetaProperty property(int index) const;
+ QMetaClassInfo classInfo(int index) const;
+ QMetaProperty userProperty() const;
+
+ static bool checkConnectArgs(const char *signal, const char *method);
+ static QByteArray normalizedSignature(const char *method);
+ static QByteArray normalizedType(const char *type);
+
+ // internal index-based connect
+ static bool connect(const QObject *sender, int signal_index,
+ const QObject *receiver, int method_index,
+ int type = 0, int *types = 0);
+ // internal index-based disconnect
+ static bool disconnect(const QObject *sender, int signal_index,
+ const QObject *receiver, int method_index);
+ // internal slot-name based connect
+ static void connectSlotsByName(QObject *o);
+
+ // internal index-based signal activation
+ static void activate(QObject *sender, int signal_index, void **argv);
+ static void activate(QObject *sender, int from_signal_index, int to_signal_index, void **argv);
+ static void activate(QObject *sender, const QMetaObject *, int local_signal_index, void **argv);
+ static void activate(QObject *sender, const QMetaObject *, int from_local_signal_index, int to_local_signal_index, void **argv);
+ // internal guarded pointers
+ static void addGuard(QObject **ptr);
+ static void removeGuard(QObject **ptr);
+ static void changeGuard(QObject **ptr, QObject *o);
+
+ static bool invokeMethod(QObject *obj, const char *member,
+ Qt::ConnectionType,
+ QGenericReturnArgument ret,
+ QGenericArgument val0 = QGenericArgument(0),
+ QGenericArgument val1 = QGenericArgument(),
+ QGenericArgument val2 = QGenericArgument(),
+ QGenericArgument val3 = QGenericArgument(),
+ QGenericArgument val4 = QGenericArgument(),
+ QGenericArgument val5 = QGenericArgument(),
+ QGenericArgument val6 = QGenericArgument(),
+ QGenericArgument val7 = QGenericArgument(),
+ QGenericArgument val8 = QGenericArgument(),
+ QGenericArgument val9 = QGenericArgument());
+
+ static inline bool invokeMethod(QObject *obj, const char *member,
+ QGenericReturnArgument ret,
+ QGenericArgument val0 = QGenericArgument(0),
+ QGenericArgument val1 = QGenericArgument(),
+ QGenericArgument val2 = QGenericArgument(),
+ QGenericArgument val3 = QGenericArgument(),
+ QGenericArgument val4 = QGenericArgument(),
+ QGenericArgument val5 = QGenericArgument(),
+ QGenericArgument val6 = QGenericArgument(),
+ QGenericArgument val7 = QGenericArgument(),
+ QGenericArgument val8 = QGenericArgument(),
+ QGenericArgument val9 = QGenericArgument())
+ {
+ return invokeMethod(obj, member, Qt::AutoConnection, ret, val0, val1, val2, val3,
+ val4, val5, val6, val7, val8, val9);
+ }
+
+ static inline bool invokeMethod(QObject *obj, const char *member,
+ Qt::ConnectionType type,
+ QGenericArgument val0 = QGenericArgument(0),
+ QGenericArgument val1 = QGenericArgument(),
+ QGenericArgument val2 = QGenericArgument(),
+ QGenericArgument val3 = QGenericArgument(),
+ QGenericArgument val4 = QGenericArgument(),
+ QGenericArgument val5 = QGenericArgument(),
+ QGenericArgument val6 = QGenericArgument(),
+ QGenericArgument val7 = QGenericArgument(),
+ QGenericArgument val8 = QGenericArgument(),
+ QGenericArgument val9 = QGenericArgument())
+ {
+ return invokeMethod(obj, member, type, QGenericReturnArgument(), val0, val1, val2,
+ val3, val4, val5, val6, val7, val8, val9);
+ }
+
+ static inline bool invokeMethod(QObject *obj, const char *member,
+ QGenericArgument val0 = QGenericArgument(0),
+ QGenericArgument val1 = QGenericArgument(),
+ QGenericArgument val2 = QGenericArgument(),
+ QGenericArgument val3 = QGenericArgument(),
+ QGenericArgument val4 = QGenericArgument(),
+ QGenericArgument val5 = QGenericArgument(),
+ QGenericArgument val6 = QGenericArgument(),
+ QGenericArgument val7 = QGenericArgument(),
+ QGenericArgument val8 = QGenericArgument(),
+ QGenericArgument val9 = QGenericArgument())
+ {
+ return invokeMethod(obj, member, Qt::AutoConnection, QGenericReturnArgument(), val0,
+ val1, val2, val3, val4, val5, val6, val7, val8, val9);
+ }
+
+ QObject *newInstance(QGenericArgument val0 = QGenericArgument(0),
+ QGenericArgument val1 = QGenericArgument(),
+ QGenericArgument val2 = QGenericArgument(),
+ QGenericArgument val3 = QGenericArgument(),
+ QGenericArgument val4 = QGenericArgument(),
+ QGenericArgument val5 = QGenericArgument(),
+ QGenericArgument val6 = QGenericArgument(),
+ QGenericArgument val7 = QGenericArgument(),
+ QGenericArgument val8 = QGenericArgument(),
+ QGenericArgument val9 = QGenericArgument()) const;
+
+ enum Call {
+ InvokeMetaMethod,
+ ReadProperty,
+ WriteProperty,
+ ResetProperty,
+ QueryPropertyDesignable,
+ QueryPropertyScriptable,
+ QueryPropertyStored,
+ QueryPropertyEditable,
+ QueryPropertyUser,
+ CreateInstance
+ };
+
+ int static_metacall(Call, int, void **) const;
+
+#ifdef QT3_SUPPORT
+ QT3_SUPPORT const char *superClassName() const;
+#endif
+
+ struct { // private data
+ const QMetaObject *superdata;
+ const char *stringdata;
+ const uint *data;
+ const void *extradata;
+ } d;
+};
+
+struct QMetaObjectExtraData
+{
+ const QMetaObject **objects;
+ int (*static_metacall)(QMetaObject::Call, int, void **);
+};
+
+inline const char *QMetaObject::className() const
+{ return d.stringdata; }
+
+inline const QMetaObject *QMetaObject::superClass() const
+{ return d.superdata; }
+
+#ifdef QT3_SUPPORT
+inline const char *QMetaObject::superClassName() const
+{ return d.superdata ? d.superdata->className() : 0; }
+#endif
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
//#define Q_QDOC
#define qdoc
@@ -44,6 +371,7 @@
#endif
// Phonon
+#include "phonon/pyside_phonon.h"
#include<phonon/abstractaudiooutput.h>
#include<phonon/abstractmediastream.h>
#include<phonon/abstractvideooutput.h>
diff --git a/PySide/phonon/CMakeLists.txt b/PySide/phonon/CMakeLists.txt
new file mode 100644
index 0000000..1433151
--- /dev/null
+++ b/PySide/phonon/CMakeLists.txt
@@ -0,0 +1,68 @@
+project(phonon)
+
+set(phonon_SRC
+${CMAKE_CURRENT_BINARY_DIR}/PySide/phonon/phonon_abstractaudiooutput_wrapper.cpp
+${CMAKE_CURRENT_BINARY_DIR}/PySide/phonon/phonon_abstractmediastream_wrapper.cpp
+${CMAKE_CURRENT_BINARY_DIR}/PySide/phonon/phonon_abstractvideooutput_wrapper.cpp
+${CMAKE_CURRENT_BINARY_DIR}/PySide/phonon/phonon_addoninterface_wrapper.cpp
+${CMAKE_CURRENT_BINARY_DIR}/PySide/phonon/phonon_audiocapturedevice_wrapper.cpp
+${CMAKE_CURRENT_BINARY_DIR}/PySide/phonon/phonon_audiochanneldescription_wrapper.cpp
+${CMAKE_CURRENT_BINARY_DIR}/PySide/phonon/phonon_audiooutputdevicemodel_wrapper.cpp
+${CMAKE_CURRENT_BINARY_DIR}/PySide/phonon/phonon_audiooutputdevice_wrapper.cpp
+${CMAKE_CURRENT_BINARY_DIR}/PySide/phonon/phonon_audiooutput_wrapper.cpp
+${CMAKE_CURRENT_BINARY_DIR}/PySide/phonon/phonon_backendcapabilities_wrapper.cpp
+${CMAKE_CURRENT_BINARY_DIR}/PySide/phonon/phonon_backendinterface_wrapper.cpp
+${CMAKE_CURRENT_BINARY_DIR}/PySide/phonon/phonon_effectdescriptionmodel_wrapper.cpp
+${CMAKE_CURRENT_BINARY_DIR}/PySide/phonon/phonon_effectdescription_wrapper.cpp
+${CMAKE_CURRENT_BINARY_DIR}/PySide/phonon/phonon_effectinterface_wrapper.cpp
+${CMAKE_CURRENT_BINARY_DIR}/PySide/phonon/phonon_effectparameter_wrapper.cpp
+${CMAKE_CURRENT_BINARY_DIR}/PySide/phonon/phonon_effectwidget_wrapper.cpp
+${CMAKE_CURRENT_BINARY_DIR}/PySide/phonon/phonon_effect_wrapper.cpp
+${CMAKE_CURRENT_BINARY_DIR}/PySide/phonon/phonon_mediacontroller_wrapper.cpp
+${CMAKE_CURRENT_BINARY_DIR}/PySide/phonon/phonon_medianode_wrapper.cpp
+${CMAKE_CURRENT_BINARY_DIR}/PySide/phonon/phonon_mediaobjectinterface_wrapper.cpp
+${CMAKE_CURRENT_BINARY_DIR}/PySide/phonon/phonon_mediaobject_wrapper.cpp
+${CMAKE_CURRENT_BINARY_DIR}/PySide/phonon/phonon_mediasource_wrapper.cpp
+${CMAKE_CURRENT_BINARY_DIR}/PySide/phonon/phonon_module_wrapper.cpp
+${CMAKE_CURRENT_BINARY_DIR}/PySide/phonon/phonon_path_wrapper.cpp
+${CMAKE_CURRENT_BINARY_DIR}/PySide/phonon/phonon_platformplugin_wrapper.cpp
+${CMAKE_CURRENT_BINARY_DIR}/PySide/phonon/phonon_seekslider_wrapper.cpp
+${CMAKE_CURRENT_BINARY_DIR}/PySide/phonon/phonon_streaminterface_wrapper.cpp
+${CMAKE_CURRENT_BINARY_DIR}/PySide/phonon/phonon_subtitledescription_wrapper.cpp
+${CMAKE_CURRENT_BINARY_DIR}/PySide/phonon/phonon_videoplayer_wrapper.cpp
+${CMAKE_CURRENT_BINARY_DIR}/PySide/phonon/phonon_videowidgetinterface_wrapper.cpp
+${CMAKE_CURRENT_BINARY_DIR}/PySide/phonon/phonon_videowidget_wrapper.cpp
+${CMAKE_CURRENT_BINARY_DIR}/PySide/phonon/phonon_volumefadereffect_wrapper.cpp
+${CMAKE_CURRENT_BINARY_DIR}/PySide/phonon/phonon_volumefaderinterface_wrapper.cpp
+${CMAKE_CURRENT_BINARY_DIR}/PySide/phonon/phonon_volumeslider_wrapper.cpp
+${CMAKE_CURRENT_BINARY_DIR}/PySide/phonon/phonon_wrapper.cpp
+${CMAKE_CURRENT_BINARY_DIR}/PySide/phonon/phonon_backendcapabilities_notifierwrapper_wrapper.cpp
+)
+
+execute_generator(phonon phonon_SRC "${CMAKE_CURRENT_BINARY_DIR}:${QtCore_SOURCE_DIR}:${QtGui_BINARY_DIR}:${QtGui_SOURCE_DIR}:${phonon_SOURCE_DIR}")
+
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}
+ ${QT_QTCORE_INCLUDE_DIR}
+ ${QT_QTGUI_INCLUDE_DIR}
+ ${QT_PHONON_INCLUDE_DIR}
+ ${PYTHON_INCLUDE_PATH}
+ ${SHIBOKEN_INCLUDE_DIR}
+ ${libpyside_SOURCE_DIR}
+ ${QtGui_BINARY_DIR}/PySide/QtGui/
+ ${QtCore_BINARY_DIR}/PySide/QtCore/
+ ${CMAKE_CURRENT_BINARY_DIR}/PySide/phonon)
+add_library(phonon MODULE ${phonon_SRC})
+set_target_properties(phonon PROPERTIES PREFIX "")
+target_link_libraries(phonon
+ pyside
+ ${PYTHON_LIBRARIES}
+ ${QT_QTCORE_LIBRARY}
+ ${QT_QTGUI_LIBRARY}
+ ${QT_PHONON_LIBRARY})
+add_dependencies(phonon QtGui)
+
+# install
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/phonon.so
+ DESTINATION ${SITE_PACKAGE}/PySide)
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/PySide/phonon/pyside_phonon_python.h
+ DESTINATION include/PySide/phonon/)
diff --git a/PySide/phonon/pyside_phonon.h b/PySide/phonon/pyside_phonon.h
new file mode 100644
index 0000000..c9d2628
--- /dev/null
+++ b/PySide/phonon/pyside_phonon.h
@@ -0,0 +1,39 @@
+#ifndef PYSIDE_PHONON
+#define PYSIDE_PHONON
+
+#include <QObject>
+#include <phonon/backendcapabilities.h>
+
+namespace Phonon
+{
+namespace BackendCapabilities
+{
+ class NotifierWrapper : public QObject
+ {
+ public:
+
+ inline static NotifierWrapper* notifier() {
+ Notifier* notifier = BackendCapabilities::notifier();
+
+ if (notifier != m_notifier) {
+ delete m_instance;
+ m_instance = new NotifierWrapper(notifier);
+
+ }
+
+ return m_instance;
+ }
+
+ inline const QMetaObject* metaObject() const { return m_notifier->metaObject(); }
+
+ private:
+ static NotifierWrapper* m_instance;
+ static Notifier* m_notifier;
+
+ NotifierWrapper(Notifier* notifier) { m_notifier = notifier; }
+ NotifierWrapper() {}
+ };
+}
+}
+
+#endif
diff --git a/PySide/phonon/typesystem_phonon.xml b/PySide/phonon/typesystem_phonon.xml
new file mode 100644
index 0000000..1a2a486
--- /dev/null
+++ b/PySide/phonon/typesystem_phonon.xml
@@ -0,0 +1,181 @@
+<?xml version="1.0"?>
+<typesystem package="PySide.phonon">
+ <load-typesystem name="typesystem_gui.xml" generate="no" />
+
+ <rejection class="Phonon::ObjectDescriptionData"/>
+ <rejection class="Phonon::ObjectDescriptionModelData"/>
+ <rejection class="Phonon::MediaNodeDestructionHandler"/>
+ <rejection class="Phonon::GlobalConfig"/>
+ <rejection class="Phonon::IODeviceStream"/>
+ <rejection class="Phonon::Factory"/>
+ <rejection class="Phonon::Experimental"/>
+ <rejection class="AudioOutputAdaptor"/>
+ <rejection class="Phonon::BackendCapabilities::Notifier"/>
+ <rejection class="*" field-name="k_ptr"/>
+ <rejection class="*" field-name="k_func"/>
+
+ <namespace-type name="Phonon">
+ <extra-includes>
+ <include file-name="phononnamespace.h" location="global"/>
+ </extra-includes>
+ </namespace-type>
+ <namespace-type name="Phonon::BackendCapabilities" >
+ <inject-code class="native">
+ Phonon::BackendCapabilities::NotifierWrapper* Phonon::BackendCapabilities::NotifierWrapper::m_instance = 0;
+ Phonon::BackendCapabilities::Notifier* Phonon::BackendCapabilities::NotifierWrapper::m_notifier = 0;
+ </inject-code>
+
+ <add-function signature="notifier()" return-type="Phonon::BackendCapabilities::NotifierWrapper">
+ <inject-code class="target">
+ Phonon::BackendCapabilities::NotifierWrapper *_notifierWrapper = Phonon::BackendCapabilities::NotifierWrapper::notifier();
+ %PYARG_0 = %CONVERTTOPYTHON[Phonon::BackendCapabilities::NotifierWrapper*](_notifierWrapper);
+ </inject-code>
+ </add-function>
+ </namespace-type>
+
+ <!-- ### causes moc-related linker error -->
+ <!-- <object-type name="Phonon::BackendCapabilities::Notifier"/> -->
+ <object-type name="Phonon::BackendCapabilities::NotifierWrapper" target-lang-name="Notifier">
+ <include file-name="backendcapabilities.h" location="global"/>
+ <include file-name="pyside_phonon.h" location="local"/>
+
+ <modify-function signature="notifier()" remove="all"/>
+ <modify-function signature="Phonon::BackendCapabilities::NotifierWrapper(Phonon::BackendCapabilities::Notifier*)">
+ <access modifier="private"/>
+ </modify-function>
+ </object-type>
+
+ <enum-type name="Phonon::Category" />
+ <enum-type name="Phonon::DiscType"/>
+ <enum-type name="Phonon::ErrorType"/>
+ <enum-type name="Phonon::MetaData"/>
+ <enum-type name="Phonon::ObjectDescriptionType"/>
+ <enum-type name="Phonon::State"/>
+
+ <enum-type name="Phonon::AddonInterface::AngleCommand"/>
+ <enum-type name="Phonon::AddonInterface::ChapterCommand"/>
+ <enum-type name="Phonon::AddonInterface::Interface"/>
+ <enum-type name="Phonon::AddonInterface::NavigationCommand"/>
+ <enum-type name="Phonon::AddonInterface::TitleCommand"/>
+ <enum-type name="Phonon::AddonInterface::SubtitleCommand"/>
+ <enum-type name="Phonon::AddonInterface::AudioChannelCommand"/>
+ <enum-type name="Phonon::BackendInterface::Class"/>
+ <enum-type name="Phonon::EffectParameter::Hint" flags="Phonon::EffectParameter::Hints"/>
+ <enum-type name="Phonon::MediaController::Feature" flags="Phonon::MediaController::Features"/>
+ <enum-type name="Phonon::MediaSource::Type"/>
+ <enum-type name="Phonon::VideoWidget::AspectRatio"/>
+ <enum-type name="Phonon::VideoWidget::ScaleMode"/>
+ <enum-type name="Phonon::VolumeFaderEffect::FadeCurve"/>
+
+ <object-type name="Phonon::AbstractVideoOutput"/>
+ <object-type name="Phonon::AddonInterface"/>
+ <object-type name="Phonon::BackendInterface"/>
+ <object-type name="Phonon::EffectInterface"/>
+ <object-type name="Phonon::MediaNode"/>
+
+ <object-type name="Phonon::MediaObjectInterface"/>
+ <object-type name="Phonon::PlatformPlugin"/>
+ <object-type name="Phonon::StreamInterface"/>
+ <object-type name="Phonon::VideoWidgetInterface"/>
+ <object-type name="Phonon::VolumeFaderInterface"/>
+
+ <value-type name="Phonon::EffectParameter">
+ <modify-function signature="EffectParameter()" remove="all"/> <!-- internal -->
+ <modify-function signature="operator&lt;(const Phonon::EffectParameter &amp;)const" remove="all"/> <!-- internal -->
+ <modify-function signature="operator&gt;(const Phonon::EffectParameter &amp;)const" remove="all"/> <!-- internal -->
+ <modify-function signature="id()const" remove="all"/> <!-- internal -->
+ <modify-function signature="operator=(Phonon::EffectParameter)" remove="all"/> <!-- Covered by copy constructor -->
+ <modify-function signature="EffectParameter(Phonon::EffectParameter)" remove="all"/>
+ <modify-function signature="operator==(Phonon::EffectParameter)const" remove="all"/>
+ </value-type>
+ <value-type name="Phonon::MediaSource">
+ <modify-function signature="operator=(Phonon::MediaSource)" remove="all"/> <!-- Covered by copy constructor -->
+ </value-type>
+ <value-type name="Phonon::Path">
+ <modify-function signature="disconnect()" rename="disconnectPath"/>
+ <modify-function signature="operator=(Phonon::Path)" remove="all"/> <!-- Covered by copy constructor -->
+ <modify-function signature="insertEffect(Phonon::EffectDescription,Phonon::Effect*)">
+ <modify-argument index="1">
+ <parent index="this" action="add"/>
+ </modify-argument>
+ </modify-function>
+ <modify-function signature="insertEffect(Phonon::Effect*,Phonon::Effect*)">
+ <modify-argument index="1">
+ <parent index="this" action="add"/>
+ </modify-argument>
+ </modify-function>
+ <modify-function signature="removeEffect(Phonon::Effect*)">
+ <modify-argument index="1">
+ <parent index="this" action="remove"/>
+ </modify-argument>
+ </modify-function>
+ <modify-function signature="sink() const">
+ <modify-argument index="return">
+ <define-ownership class="target" owner="default"/>
+ </modify-argument>
+ </modify-function>
+ <modify-function signature="source() const">
+ <modify-argument index="return">
+ <define-ownership class="target" owner="default"/>
+ </modify-argument>
+ </modify-function>
+ </value-type>
+ <value-type name="Phonon::ObjectDescription" generate="no"/>
+ <value-type name="Phonon::EffectDescription">
+ <modify-function signature="operator==(Phonon::ObjectDescription)const" remove="all"/>
+ <modify-function signature="operator!=(Phonon::ObjectDescription)const" remove="all"/>
+ <modify-function signature="fromIndex(int)" remove="all"/>
+ </value-type>
+ <value-type name="Phonon::AudioOutputDevice">
+ <modify-function signature="operator==(Phonon::ObjectDescription)const" remove="all"/>
+ <modify-function signature="operator!=(Phonon::ObjectDescription)const" remove="all"/>
+ <modify-function signature="fromIndex(int)" remove="all"/>
+ </value-type>
+
+ <value-type name="Phonon::AudioCaptureDevice">
+ <modify-function signature="operator==(Phonon::ObjectDescription)const" remove="all"/>
+ <modify-function signature="operator!=(Phonon::ObjectDescription)const" remove="all"/>
+ <modify-function signature="fromIndex(int)" remove="all"/>
+ </value-type>
+ <value-type name="Phonon::AudioChannelDescription">
+ <modify-function signature="operator==(Phonon::ObjectDescription)const" remove="all"/>
+ <modify-function signature="operator!=(Phonon::ObjectDescription)const" remove="all"/>
+ <modify-function signature="fromIndex(int)" remove="all"/>
+ </value-type>
+ <value-type name="Phonon::SubtitleDescription">
+ <modify-function signature="operator==(Phonon::ObjectDescription)const" remove="all"/>
+ <modify-function signature="operator!=(Phonon::ObjectDescription)const" remove="all"/>
+ <modify-function signature="fromIndex(int)" remove="all"/>
+ </value-type>
+
+
+ <object-type name="Phonon::ObjectDescriptionModel" generate="no"/>
+ <object-type name="Phonon::EffectDescriptionModel" />
+ <object-type name="Phonon::AudioOutputDeviceModel" />
+
+ <object-type name="Phonon::AbstractAudioOutput"/>
+ <object-type name="Phonon::AbstractMediaStream"/>
+ <object-type name="Phonon::AudioOutput"/>
+ <object-type name="Phonon::Effect"/>
+ <object-type name="Phonon::EffectWidget"/>
+ <object-type name="Phonon::MediaController"/>
+ <object-type name="Phonon::MediaObject" />
+ <object-type name="Phonon::SeekSlider">
+ <modify-function signature="setMediaObject(Phonon::MediaObject*)">
+ <modify-argument index="1">
+ <parent index="this" action="add"/>
+ </modify-argument>
+ </modify-function>
+ </object-type>
+ <object-type name="Phonon::VideoPlayer"/>
+ <object-type name="Phonon::VideoWidget"/>
+ <object-type name="Phonon::VolumeFaderEffect"/>
+ <object-type name="Phonon::VolumeSlider">
+ <modify-function signature="setAudioOutput(Phonon::AudioOutput*)">
+ <modify-argument index="1">
+ <parent index="this" action="add"/>
+ </modify-argument>
+ </modify-function>
+ </object-type>
+
+</typesystem>
diff --git a/PySide/qobjectdefs_pyside.h b/PySide/qobjectdefs_pyside.h
deleted file mode 100644
index 41015fc..0000000
--- a/PySide/qobjectdefs_pyside.h
+++ /dev/null
@@ -1,335 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
-**
-** This file is part of the QtCore module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial Usage
-** Licensees holding valid Qt Commercial licenses may use this file in
-** accordance with the Qt Commercial License Agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Nokia.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain
-** additional rights. These rights are described in the Nokia Qt LGPL
-** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QOBJECTDEFS_PYSIDE_H
-#define QOBJECTDEFS_PYSIDE_H
-
-#include <QtCore/qnamespace.h>
-
-QT_BEGIN_HEADER
-
-QT_BEGIN_NAMESPACE
-
-QT_MODULE(Core)
-
-class QByteArray;
-
-class QString;
-
-#ifndef Q_MOC_OUTPUT_REVISION
-#define Q_MOC_OUTPUT_REVISION 61
-#endif
-
-// macro for onaming members
-#ifdef METHOD
-#undef METHOD
-#endif
-#ifdef SLOT
-#undef SLOT
-#endif
-#ifdef SIGNAL
-#undef SIGNAL
-#endif
-
-Q_CORE_EXPORT const char *qFlagLocation(const char *method);
-
-#define QTOSTRING_HELPER(s) #s
-#define QTOSTRING(s) QTOSTRING_HELPER(s)
-#ifndef QT_NO_DEBUG
-# define QLOCATION "\0"__FILE__":"QTOSTRING(__LINE__)
-# define METHOD(a) qFlagLocation("0"#a QLOCATION)
-# define SLOT(a) qFlagLocation("1"#a QLOCATION)
-# define SIGNAL(a) qFlagLocation("2"#a QLOCATION)
-#else
-# define METHOD(a) "0"#a
-# define SLOT(a) "1"#a
-# define SIGNAL(a) "2"#a
-#endif
-
-#ifdef QT3_SUPPORT
-#define METHOD_CODE 0 // member type codes
-#define SLOT_CODE 1
-#define SIGNAL_CODE 2
-#endif
-
-#define QMETHOD_CODE 0 // member type codes
-#define QSLOT_CODE 1
-#define QSIGNAL_CODE 2
-
-#define Q_ARG(type, data) QArgument<type >(#type, data)
-#define Q_RETURN_ARG(type, data) QReturnArgument<type >(#type, data)
-
-class QObject;
-class QMetaMethod;
-class QMetaEnum;
-class QMetaProperty;
-class QMetaClassInfo;
-
-
-class Q_CORE_EXPORT QGenericArgument
-{
-public:
- inline QGenericArgument(const char *aName = 0, const void *aData = 0)
- : _data(aData), _name(aName) {}
- inline void *data() const { return const_cast<void *>(_data); }
- inline const char *name() const { return _name; }
-
-private:
- const void *_data;
- const char *_name;
-};
-
-class Q_CORE_EXPORT QGenericReturnArgument: public QGenericArgument
-{
-public:
- inline QGenericReturnArgument(const char *aName = 0, void *aData = 0)
- : QGenericArgument(aName, aData)
- {}
-};
-
-template <class T>
-class QArgument: public QGenericArgument
-{
-public:
- inline QArgument(const char *aName, const T &aData)
- : QGenericArgument(aName, static_cast<const void *>(&aData))
- {}
-};
-
-
-template <typename T>
-class QReturnArgument: public QGenericReturnArgument
-{
-public:
- inline QReturnArgument(const char *aName, T &aData)
- : QGenericReturnArgument(aName, static_cast<void *>(&aData))
- {}
-};
-
-struct Q_CORE_EXPORT QMetaObject
-{
- const char *className() const;
- const QMetaObject *superClass() const;
-
- QObject *cast(QObject *obj) const;
-
-#ifndef QT_NO_TRANSLATION
- // ### Qt 4: Merge overloads
- QString tr(const char *s, const char *c) const;
- QString trUtf8(const char *s, const char *c) const;
- QString tr(const char *s, const char *c, int n) const;
- QString trUtf8(const char *s, const char *c, int n) const;
-#endif // QT_NO_TRANSLATION
-
- int methodOffset() const;
- int enumeratorOffset() const;
- int propertyOffset() const;
- int classInfoOffset() const;
-
- int constructorCount() const;
- int methodCount() const;
- int enumeratorCount() const;
- int propertyCount() const;
- int classInfoCount() const;
-
- int indexOfConstructor(const char *constructor) const;
- int indexOfMethod(const char *method) const;
- int indexOfSignal(const char *signal) const;
- int indexOfSlot(const char *slot) const;
- int indexOfEnumerator(const char *name) const;
- int indexOfProperty(const char *name) const;
- int indexOfClassInfo(const char *name) const;
-
- QMetaMethod constructor(int index) const;
- QMetaMethod method(int index) const;
- QMetaEnum enumerator(int index) const;
- QMetaProperty property(int index) const;
- QMetaClassInfo classInfo(int index) const;
- QMetaProperty userProperty() const;
-
- static bool checkConnectArgs(const char *signal, const char *method);
- static QByteArray normalizedSignature(const char *method);
- static QByteArray normalizedType(const char *type);
-
- // internal index-based connect
- static bool connect(const QObject *sender, int signal_index,
- const QObject *receiver, int method_index,
- int type = 0, int *types = 0);
- // internal index-based disconnect
- static bool disconnect(const QObject *sender, int signal_index,
- const QObject *receiver, int method_index);
- // internal slot-name based connect
- static void connectSlotsByName(QObject *o);
-
- // internal index-based signal activation
- static void activate(QObject *sender, int signal_index, void **argv);
- static void activate(QObject *sender, int from_signal_index, int to_signal_index, void **argv);
- static void activate(QObject *sender, const QMetaObject *, int local_signal_index, void **argv);
- static void activate(QObject *sender, const QMetaObject *, int from_local_signal_index, int to_local_signal_index, void **argv);
- // internal guarded pointers
- static void addGuard(QObject **ptr);
- static void removeGuard(QObject **ptr);
- static void changeGuard(QObject **ptr, QObject *o);
-
- static bool invokeMethod(QObject *obj, const char *member,
- Qt::ConnectionType,
- QGenericReturnArgument ret,
- QGenericArgument val0 = QGenericArgument(0),
- QGenericArgument val1 = QGenericArgument(),
- QGenericArgument val2 = QGenericArgument(),
- QGenericArgument val3 = QGenericArgument(),
- QGenericArgument val4 = QGenericArgument(),
- QGenericArgument val5 = QGenericArgument(),
- QGenericArgument val6 = QGenericArgument(),
- QGenericArgument val7 = QGenericArgument(),
- QGenericArgument val8 = QGenericArgument(),
- QGenericArgument val9 = QGenericArgument());
-
- static inline bool invokeMethod(QObject *obj, const char *member,
- QGenericReturnArgument ret,
- QGenericArgument val0 = QGenericArgument(0),
- QGenericArgument val1 = QGenericArgument(),
- QGenericArgument val2 = QGenericArgument(),
- QGenericArgument val3 = QGenericArgument(),
- QGenericArgument val4 = QGenericArgument(),
- QGenericArgument val5 = QGenericArgument(),
- QGenericArgument val6 = QGenericArgument(),
- QGenericArgument val7 = QGenericArgument(),
- QGenericArgument val8 = QGenericArgument(),
- QGenericArgument val9 = QGenericArgument())
- {
- return invokeMethod(obj, member, Qt::AutoConnection, ret, val0, val1, val2, val3,
- val4, val5, val6, val7, val8, val9);
- }
-
- static inline bool invokeMethod(QObject *obj, const char *member,
- Qt::ConnectionType type,
- QGenericArgument val0 = QGenericArgument(0),
- QGenericArgument val1 = QGenericArgument(),
- QGenericArgument val2 = QGenericArgument(),
- QGenericArgument val3 = QGenericArgument(),
- QGenericArgument val4 = QGenericArgument(),
- QGenericArgument val5 = QGenericArgument(),
- QGenericArgument val6 = QGenericArgument(),
- QGenericArgument val7 = QGenericArgument(),
- QGenericArgument val8 = QGenericArgument(),
- QGenericArgument val9 = QGenericArgument())
- {
- return invokeMethod(obj, member, type, QGenericReturnArgument(), val0, val1, val2,
- val3, val4, val5, val6, val7, val8, val9);
- }
-
- static inline bool invokeMethod(QObject *obj, const char *member,
- QGenericArgument val0 = QGenericArgument(0),
- QGenericArgument val1 = QGenericArgument(),
- QGenericArgument val2 = QGenericArgument(),
- QGenericArgument val3 = QGenericArgument(),
- QGenericArgument val4 = QGenericArgument(),
- QGenericArgument val5 = QGenericArgument(),
- QGenericArgument val6 = QGenericArgument(),
- QGenericArgument val7 = QGenericArgument(),
- QGenericArgument val8 = QGenericArgument(),
- QGenericArgument val9 = QGenericArgument())
- {
- return invokeMethod(obj, member, Qt::AutoConnection, QGenericReturnArgument(), val0,
- val1, val2, val3, val4, val5, val6, val7, val8, val9);
- }
-
- QObject *newInstance(QGenericArgument val0 = QGenericArgument(0),
- QGenericArgument val1 = QGenericArgument(),
- QGenericArgument val2 = QGenericArgument(),
- QGenericArgument val3 = QGenericArgument(),
- QGenericArgument val4 = QGenericArgument(),
- QGenericArgument val5 = QGenericArgument(),
- QGenericArgument val6 = QGenericArgument(),
- QGenericArgument val7 = QGenericArgument(),
- QGenericArgument val8 = QGenericArgument(),
- QGenericArgument val9 = QGenericArgument()) const;
-
- enum Call {
- InvokeMetaMethod,
- ReadProperty,
- WriteProperty,
- ResetProperty,
- QueryPropertyDesignable,
- QueryPropertyScriptable,
- QueryPropertyStored,
- QueryPropertyEditable,
- QueryPropertyUser,
- CreateInstance
- };
-
- int static_metacall(Call, int, void **) const;
-
-#ifdef QT3_SUPPORT
- QT3_SUPPORT const char *superClassName() const;
-#endif
-
- struct { // private data
- const QMetaObject *superdata;
- const char *stringdata;
- const uint *data;
- const void *extradata;
- } d;
-};
-
-struct QMetaObjectExtraData
-{
- const QMetaObject **objects;
- int (*static_metacall)(QMetaObject::Call, int, void **);
-};
-
-inline const char *QMetaObject::className() const
-{ return d.stringdata; }
-
-inline const QMetaObject *QMetaObject::superClass() const
-{ return d.superdata; }
-
-#ifdef QT3_SUPPORT
-inline const char *QMetaObject::superClassName() const
-{ return d.superdata ? d.superdata->className() : 0; }
-#endif
-
-QT_END_NAMESPACE
-
-QT_END_HEADER
-
-#endif // QOBJECTDEFS_H
diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
new file mode 100644
index 0000000..faab176
--- /dev/null
+++ b/doc/CMakeLists.txt
@@ -0,0 +1,88 @@
+find_program(graphviz_exec dot)
+
+if (QT_SRC_DIR)
+
+if (NOT ${graphviz_exec} STREQUAL graphviz_exec-NOTFOUND)
+
+add_custom_target(apidoc
+ COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}/rst
+ COMMAND sphinx-build -b html ${CMAKE_CURRENT_BINARY_DIR}/rst htmldocs
+ )
+
+# create conf.py based on conf.py.in
+configure_file("conf.py.in" "rst/conf.py" @ONLY)
+
+# copy pyside.qdocconf to qt source dir.
+configure_file("pyside.qdocconf" "${QT_SRC_DIR}/tools/qdoc3/test/pyside.qdocconf" @ONLY)
+set(DOC_DATA_DIR "${CMAKE_CURRENT_BINARY_DIR}/qt4xmldoc")
+set(ENV{QTDIR} ${QT_SRC_DIR} )
+
+add_custom_target(qdoc3
+ COMMAND QTDIR=${QT_SRC_DIR} qdoc3 pyside.qdocconf
+ WORKING_DIRECTORY "${QT_SRC_DIR}/tools/qdoc3/test"
+ COMMENT "Running qdoc3 against Qt source code..."
+ SOURCE "pyside.qdocconf")
+
+macro(create_doc module typesystem_path)
+string(REGEX REPLACE "^Qt" "" module_name ${module})
+string(TOLOWER ${module_name} module_name)
+add_custom_target("${module}-apidoc"
+COMMAND ${GENERATOR} --generatorSet=qtdoc
+ ${pyside_SOURCE_DIR}/global.h
+ --include-paths=${QT_INCLUDE_DIR}:${QT_QTCORE_INCLUDE_DIR}
+ --typesystem-paths=${pyside_SOURCE_DIR}:${${module}_BINARY_DIR}:${typesystem_path}
+ ${pyside_SOURCE_DIR}/${module}/typesystem_${module_name}.xml
+ --library-source-dir=${QT_SRC_DIR}
+ --documentation-only
+ --documentation-data-dir=${DOC_DATA_DIR}
+ --documentation-out-dir=${CMAKE_CURRENT_BINARY_DIR}/rst
+ --documentation-code-snippets-dir=${CMAKE_CURRENT_SOURCE_DIR}/codesnippets
+WORKING_DIRECTORY ${${module}_SOURCE_DIR}
+
+COMMENT "Running generator to generate documentation of ${module}..."
+)
+add_dependencies("${module}-apidoc" qdoc3)
+add_dependencies(apidoc "${module}-apidoc")
+endmacro(create_doc module)
+
+create_doc(QtCore "")
+create_doc(QtGui "${QtCore_SOURCE_DIR}")
+create_doc(QtHelp "${QtCore_SOURCE_DIR}:${QtGui_BINARY_DIR}:${QtGui_SOURCE_DIR}:${QtHelp_SOURCE_DIR}")
+create_doc(QtNetwork "${QtCore_SOURCE_DIR}")
+create_doc(QtOpengl "${QtCore_SOURCE_DIR}:${QtGui_BINARY_DIR}:${QtGui_SOURCE_DIR}:${QtOpenGL_SOURCE_DIR}")
+create_doc(QtSql "${QtCore_SOURCE_DIR}:${QtGui_BINARY_DIR}:${QtGui_SOURCE_DIR}:${QtSql_SOURCE_DIR}")
+create_doc(QtSvg "${QtCore_SOURCE_DIR}:${QtGui_SOURCE_DIR}:${QtGui_BINARY_DIR}")
+create_doc(QtUitools "${QtCore_SOURCE_DIR}:${QtGui_BINARY_DIR}:${QtGui_SOURCE_DIR}:${QtXml_SOURCE_DIR}:${QtUiTools_SOURCE_DIR}")
+create_doc(QtXml "${QtCore_SOURCE_DIR}")
+create_doc(QtWebKit "${QtCore_SOURCE_DIR}:${QtGui_SOURCE_DIR}:${QtGui_BINARY_DIR}:${QtNetwork_SOURCE_DIR}")
+create_doc(QtMultimedia "${QtCore_SOURCE_DIR}:${QtGui_SOURCE_DIR}:${QtGui_BINARY_DIR}")
+create_doc(QtScript "${QtCore_SOURCE_DIR}")
+create_doc(QtScriptTools "${QtCore_SOURCE_DIR}:${QtScript_SOURCE_DIR}:${QtGui_SOURCE_DIR}:${QtGui_BINARY_DIR}")
+create_doc(QtTest "${QtCore_SOURCE_DIR}:${QtGui_SOURCE_DIR}:${QtGui_BINARY_DIR}")
+create_doc(QtXmlPatterns "${QtCore_SOURCE_DIR}")
+create_doc(phonon "${QtCore_SOURCE_DIR}:${QtGui_SOURCE_DIR}:${QtGui_BINARY_DIR}")
+
+#create devhelp file
+add_custom_target(apidevhelp
+ COMMAND python;${CMAKE_CURRENT_SOURCE_DIR}/pyhtml2devhelp.py;${CMAKE_BINARY_DIR}/apidoc/html;index.html >
+ ${CMAKE_BINARY_DIR}/apidoc/html/PySide.devhelp;${BINDING_API_VERSION}&&;
+ gzip;-9v;-f;${CMAKE_BINARY_DIR}/apidoc/html/PySide.devhelp
+ COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_INSTALL_PREFIX}/share/devhelp/books"
+ COMMAND ${CMAKE_COMMAND} -E create_symlink "${CMAKE_INSTALL_PREFIX}/share/doc/${BINDING_NAME}/html" "${CMAKE_INSTALL_PREFIX}/share/devhelp/books/${BINDING_NAME}"
+)
+
+#install files
+add_custom_target(apidocinstall
+ COMMAND mkdir -p ${CMAKE_INSTALL_PREFIX}/share/doc/${BINDING_NAME} && cp -rv ${CMAKE_BINARY_DIR}/apidoc/* ${CMAKE_INSTALL_PREFIX}/share/doc/${BINDING_NAME}
+)
+
+add_dependencies(apidocinstall apidevhelp)
+
+else (NOT ${graphviz_exec} STREQUAL graphviz_exec-NOTFOUND)
+ message(STATUS "Missing graphviz tool (dot), apidoc generation targets disabled.")
+endif (NOT ${graphviz_exec} STREQUAL graphviz_exec-NOTFOUND)
+
+else (QT_SRC_DIR)
+ message(STATUS "QT_SRC_DIR variable not set, apidoc generation targets disabled.")
+endif (QT_SRC_DIR)
+
diff --git a/doc/_static/.gitignore b/doc/_static/.gitignore
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/doc/_static/.gitignore
diff --git a/doc/_static/basic.css b/doc/_static/basic.css
new file mode 100644
index 0000000..2509c22
--- /dev/null
+++ b/doc/_static/basic.css
@@ -0,0 +1,417 @@
+/**
+ * Sphinx stylesheet -- basic theme
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ */
+
+/* -- main layout ----------------------------------------------------------- */
+
+div.documentwrapper {
+ float: left;
+ width: 100%;
+}
+
+div.bodywrapper {
+ margin: 0 0 0 230px;
+}
+
+div.clearer {
+ clear: both;
+}
+
+/* -- relbar ---------------------------------------------------------------- */
+
+div.related {
+ width: 100%;
+ font-size: 90%;
+}
+
+div.related h3 {
+ display: none;
+}
+
+div.related ul {
+ margin: 0;
+ padding: 0 0 0 0px;
+ list-style: none;
+}
+
+div.related li {
+ float: left;
+ display: inline;
+ padding-right:17px;
+ padding-left:10px;
+ background-image:url(images/bread_crumb.png);
+ background-position:right;
+ background-repeat:no-repeat;
+}
+
+div.related li.right {
+ float: right;
+ margin-right: 5px;
+ padding: 0 0 0 0px;
+ background-image:none;
+}
+
+/* -- sidebar --------------------------------------------------------------- */
+
+div.sphinxsidebarwrapper {
+ padding: 10px 5px 0 10px;
+}
+
+div.sphinxsidebar {
+ float: left;
+ width: 230px;
+ margin-left: -100%;
+ font-size: 90%;
+}
+
+div.sphinxsidebar ul {
+ list-style: none;
+}
+
+div.sphinxsidebar ul ul,
+div.sphinxsidebar ul.want-points {
+ margin-left: 20px;
+ list-style: square;
+}
+
+div.sphinxsidebar ul ul {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+
+div.sphinxsidebar form {
+ margin-top: 10px;
+}
+
+img {
+ border: 0;
+}
+
+/* -- search page ----------------------------------------------------------- */
+
+ul.search {
+ margin: 10px 0 0 20px;
+ padding: 0;
+}
+
+ul.search li {
+ padding: 5px 0 5px 20px;
+ background-image: url(file.png);
+ background-repeat: no-repeat;
+ background-position: 0 7px;
+}
+
+ul.search li a {
+ font-weight: bold;
+}
+
+ul.search li div.context {
+ color: #888;
+ margin: 2px 0 0 30px;
+ text-align: left;
+}
+
+ul.keywordmatches li.goodmatch a {
+ font-weight: bold;
+}
+
+/* -- index page ------------------------------------------------------------ */
+
+table.contentstable {
+ text-align: left;
+ width: 90%;
+}
+
+table.contentstable p.biglink {
+ line-height: 150%;
+}
+
+a.biglink {
+ font-size: 1.3em;
+}
+
+span.linkdescr {
+ text-align: left;
+ padding-top: 5px;
+ font-size: 90%;
+}
+
+/* -- general index --------------------------------------------------------- */
+
+table.indextable td {
+ text-align: left;
+ vertical-align: top;
+}
+
+table.indextable dl, table.indextable dd {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+
+table.indextable tr.pcap {
+ height: 10px;
+}
+
+table.indextable tr.cap {
+ margin-top: 10px;
+ background-color: #f2f2f2;
+}
+
+img.toggler {
+ margin-right: 3px;
+ margin-top: 3px;
+ cursor: pointer;
+}
+
+/* -- general body styles --------------------------------------------------- */
+
+a.headerlink {
+ visibility: hidden;
+}
+
+h1:hover > a.headerlink,
+h2:hover > a.headerlink,
+h3:hover > a.headerlink,
+h4:hover > a.headerlink,
+h5:hover > a.headerlink,
+h6:hover > a.headerlink,
+dt:hover > a.headerlink {
+ visibility: visible;
+}
+
+div.body p.caption {
+ text-align: inherit;
+}
+
+div.body td {
+ text-align: left;
+}
+
+.field-list ul {
+ padding-left: 1em;
+}
+
+.first {
+ margin-top: 0 !important;
+}
+
+p.rubric {
+ margin-top: 30px;
+ font-weight: bold;
+}
+
+/* -- sidebars -------------------------------------------------------------- */
+
+div.sidebar {
+ margin: 0 0 0.5em 1em;
+ border: 1px solid #ddb;
+ padding: 7px 7px 0 7px;
+ background-color: #ffe;
+ width: 40%;
+ float: right;
+}
+
+p.sidebar-title {
+ font-weight: bold;
+}
+
+/* -- topics ---------------------------------------------------------------- */
+
+div.topic {
+ border: 1px solid #ccc;
+ padding: 7px 7px 0 7px;
+ margin: 10px 0 10px 0;
+}
+
+p.topic-title {
+ font-size: 1.1em;
+ font-weight: bold;
+ margin-top: 10px;
+}
+
+/* -- admonitions ----------------------------------------------------------- */
+
+div.admonition {
+ margin-top: 10px;
+ margin-bottom: 10px;
+ padding: 7px;
+}
+
+div.admonition dt {
+ font-weight: bold;
+}
+
+div.admonition dl {
+ margin-bottom: 0;
+}
+
+p.admonition-title {
+ margin: 0px 10px 5px 0px;
+ font-weight: bold;
+}
+
+div.body p.centered {
+ text-align: center;
+ margin-top: 25px;
+}
+
+/* -- tables ---------------------------------------------------------------- */
+
+table.docutils {
+ border: 0;
+ border-collapse: collapse;
+}
+
+table.docutils td, table.docutils th {
+ padding: 2px 8px 2px 8px;
+ border-top: 0;
+ border-left: 0;
+ border-right: 0;
+ border-bottom: 1px solid #aaa;
+}
+
+table.field-list td, table.field-list th {
+ border: 0 !important;
+}
+
+table.footnote td, table.footnote th {
+ border: 0 !important;
+}
+
+th {
+ text-align: left;
+ padding-right: 5px;
+}
+
+/* -- other body styles ----------------------------------------------------- */
+
+dl {
+ margin-bottom: 15px;
+}
+
+dd p {
+ margin-top: 0px;
+}
+
+dd ul, dd table {
+ margin-bottom: 10px;
+}
+
+dd {
+ margin-top: 3px;
+ margin-bottom: 10px;
+ margin-left: 30px;
+}
+
+dt:target, .highlight {
+ background-color: #fbe54e;
+}
+
+dl.glossary dt {
+ font-weight: bold;
+ font-size: 1.1em;
+}
+
+.field-list ul {
+ margin: 0;
+ padding-left: 1em;
+}
+
+.field-list p {
+ margin: 0;
+}
+
+.refcount {
+ color: #060;
+}
+
+.optional {
+ font-size: 1.3em;
+}
+
+.versionmodified {
+ font-style: italic;
+}
+
+.system-message {
+ background-color: #fda;
+ padding: 5px;
+ border: 3px solid red;
+}
+
+.footnote:target {
+ background-color: #ffa
+}
+
+/* -- code displays --------------------------------------------------------- */
+
+pre {
+ overflow: auto;
+}
+
+td.linenos pre {
+ padding: 5px 0px;
+ border: 0;
+ background-color: transparent;
+ color: #aaa;
+}
+
+table.highlighttable {
+ margin-left: 0.5em;
+}
+
+table.highlighttable td {
+ padding: 0 0.5em 0 0.5em;
+}
+
+tt.descname {
+ background-color: transparent;
+ font-weight: bold;
+ font-size: 1.2em;
+}
+
+tt.descclassname {
+ background-color: transparent;
+}
+
+tt.xref, a tt {
+ background-color: transparent;
+ font-weight: bold;
+}
+
+h1 tt, h2 tt, h3 tt, h4 tt, h5 tt, h6 tt {
+ background-color: transparent;
+}
+
+/* -- math display ---------------------------------------------------------- */
+
+img.math {
+ vertical-align: middle;
+}
+
+div.math p {
+ text-align: center;
+}
+
+span.eqno {
+ float: right;
+}
+
+/* -- printout stylesheet --------------------------------------------------- */
+
+@media print {
+ div.document,
+ div.documentwrapper,
+ div.bodywrapper {
+ margin: 0;
+ width: 100%;
+ }
+
+ div.sphinxsidebar,
+ div.related,
+ div.footer,
+ #top-link {
+ display: none;
+ }
+}
diff --git a/doc/_static/default.css b/doc/_static/default.css
new file mode 100644
index 0000000..721ceb7
--- /dev/null
+++ b/doc/_static/default.css
@@ -0,0 +1,248 @@
+/**
+ * Sphinx stylesheet -- default theme
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ */
+
+@import url("basic.css");
+
+/* -- page layout ----------------------------------------------------------- */
+
+body {
+ font-family: sans-serif;
+ font-size: 100%;
+ background-color: #000000;
+ color: #000;
+ margin: 0;
+ padding: 0;
+}
+
+div.document {
+ background-image:url(images/side_background.jpg);
+ background-repeat:repeat-y;
+ background-color:#ffd800;
+}
+
+div.body {
+ position:relative;
+ background-color:#fff;
+ color: #000000;
+ padding: 0 20px 30px 20px;
+}
+
+div.footer {
+ color: #ffffff;
+ width: 100%;
+ padding: 9px 0 9px 0;
+ text-align: center;
+ font-size: 75%;
+}
+
+div.footer a {
+ color: #ffffff;
+ text-decoration: underline;
+}
+
+div.related {
+ background-image:url(images/top_background.jpg);
+ background-repeat:repeat-x;
+ background-color: #d7aa00;
+ line-height:33px;
+ height:33px;
+ color: #000000;
+}
+
+div.related a {
+ color: #000000;
+}
+
+div.related img {
+ padding-top:3px;
+}
+
+div.sphinxsidebar {
+}
+
+div.sphinxsidebar h3 {
+ font-family: Arial, Verdana, sans-serif;
+ color: #000000;
+ font-size: 1.4em;
+ font-weight: normal;
+ margin: 0;
+ padding: 0;
+}
+
+div.sphinxsidebar h3 a {
+ color: #000000;
+}
+
+div.sphinxsidebar h4 {
+ font-family: Arial, Verdana, sans-serif;
+ color: #000000;
+ font-size: 1.3em;
+ font-weight: normal;
+ margin: 5px 0 0 0;
+ padding: 0;
+}
+
+div.sphinxsidebar p {
+ color: #ffffff;
+}
+
+div.sphinxsidebar p.topless {
+ margin: 5px 10px 10px 10px;
+}
+
+div.sphinxsidebar ul {
+ margin: 10px;
+ padding: 0;
+ color: #ffffff;
+}
+
+div#searchbox p.searchtip {
+ color:#000000;
+ font-size:90%;
+ padding-top:50px;
+}
+
+div#searchbox {
+ background-image:url(images/background_search.jpg);
+ background-repeat:no-repeat;
+ background-position:center;
+ border:none;
+}
+
+div.sphinxsidebar a {
+ color: #009491;
+}
+
+
+/* -- body styles ----------------------------------------------------------- */
+
+a {
+ color: #009491;
+ text-decoration: underline;
+}
+
+a:hover {
+ text-decoration: underline;
+}
+
+div.body p, div.body dd, div.body li {
+ text-align: left;
+ line-height: 130%;
+}
+
+div.body h1 {
+ font-family: Arial, Verdana, sans-serif;
+ background-color: #f2f2f2;
+ font-weight: normal;
+ color: #20435c;
+ border-bottom: 1px solid #ccc;
+ margin: 20px -20px 10px -20px;
+ padding: 3px 0 3px 10px;
+}
+
+div.body h2,
+div.body h3,
+div.body h4,
+div.body h5,
+div.body h6 {
+ font-family: Arial, Verdana, Helvetica, sans-serif;
+ font-size:12px;
+ font-weight:normal;
+ border-left-width: 1px;
+ border-right-width: 1px;
+ border-top-width: 1px;
+ border-bottom-width: 2px;
+ border-style: solid;
+ border-left-color: #b1b1b1;
+ border-right-color: #b1b1b1;
+ border-top-color: #b1b1b1;
+ border-bottom-color: #009491;
+ background-color: #e0e0e0;
+ padding-left:5px;
+}
+
+div.body h1 { margin-top: 0; font-size: 200%; }
+div.body h2 { font-size: 120%; }
+div.body h3 { font-size: 115%; }
+div.body h4 { font-size: 110%; }
+div.body h5 { font-size: 105%; }
+div.body h6 { font-size: 100%; }
+
+a.headerlink {
+ color: #c60f0f;
+ font-size: 0.8em;
+ padding: 0 4px 0 4px;
+ text-decoration: none;
+}
+
+a.headerlink:hover {
+ background-color: #c60f0f;
+ color: white;
+}
+
+div.body p, div.body dd, div.body li {
+ text-align: left;
+ line-height: 130%;
+}
+
+div.admonition p.admonition-title + p {
+ display: inline;
+}
+
+div.note {
+ background-color: #eee;
+ border: 1px solid #ccc;
+}
+
+div.seealso {
+ background-color: #ffc;
+ border: 1px solid #ff6;
+}
+
+div.topic {
+ background-color: #eee;
+}
+
+div.warning {
+ background-color: #ffe4e4;
+ border: 1px solid #f66;
+}
+
+p.admonition-title {
+ display: inline;
+}
+
+p.admonition-title:after {
+ content: ":";
+}
+
+input[type=text]{
+ background-color: #009491;
+ font: 11px verdana, arial, helvetica, sans-serif;
+ color:#FFFFFF;
+ width: 150px;
+ height: 18px;
+ border: 1px solid #009491;
+ margin-left:13px;
+ margin-top:15px;
+ margin-bottom:4px;
+ border:none;
+}
+
+pre {
+ padding: 5px;
+ background-color: #eeffcc;
+ color: #333333;
+ line-height: 120%;
+ border: 1px solid #ac9;
+ border-left: none;
+ border-right: none;
+}
+
+tt {
+ background-color: #ecf0f3;
+ padding: 0 1px 0 1px;
+ font-size: 0.95em;
+}
diff --git a/doc/_static/images/._background_search.jpg b/doc/_static/images/._background_search.jpg
new file mode 100755
index 0000000..d5c689c
--- /dev/null
+++ b/doc/_static/images/._background_search.jpg
Binary files differ
diff --git a/doc/_static/images/._bread_crumb.png b/doc/_static/images/._bread_crumb.png
new file mode 100755
index 0000000..46b8591
--- /dev/null
+++ b/doc/_static/images/._bread_crumb.png
Binary files differ
diff --git a/doc/_static/images/._button_search.jpg b/doc/_static/images/._button_search.jpg
new file mode 100755
index 0000000..d5c689c
--- /dev/null
+++ b/doc/_static/images/._button_search.jpg
Binary files differ
diff --git a/doc/_static/images/._side_background.jpg b/doc/_static/images/._side_background.jpg
new file mode 100755
index 0000000..a79b91c
--- /dev/null
+++ b/doc/_static/images/._side_background.jpg
Binary files differ
diff --git a/doc/_static/images/._top_background.jpg b/doc/_static/images/._top_background.jpg
new file mode 100755
index 0000000..d5c689c
--- /dev/null
+++ b/doc/_static/images/._top_background.jpg
Binary files differ
diff --git a/doc/_static/images/background_search.jpg b/doc/_static/images/background_search.jpg
new file mode 100644
index 0000000..c0481c5
--- /dev/null
+++ b/doc/_static/images/background_search.jpg
Binary files differ
diff --git a/doc/_static/images/bg.jpg b/doc/_static/images/bg.jpg
new file mode 100644
index 0000000..2ceb195
--- /dev/null
+++ b/doc/_static/images/bg.jpg
Binary files differ
diff --git a/doc/_static/images/bread_crumb.png b/doc/_static/images/bread_crumb.png
new file mode 100644
index 0000000..f7ebd20
--- /dev/null
+++ b/doc/_static/images/bread_crumb.png
Binary files differ
diff --git a/doc/_static/images/button_search.png b/doc/_static/images/button_search.png
new file mode 100644
index 0000000..0160b81
--- /dev/null
+++ b/doc/_static/images/button_search.png
Binary files differ
diff --git a/doc/_static/images/side_background.jpg b/doc/_static/images/side_background.jpg
new file mode 100644
index 0000000..6e66675
--- /dev/null
+++ b/doc/_static/images/side_background.jpg
Binary files differ
diff --git a/doc/_static/images/top_background.jpg b/doc/_static/images/top_background.jpg
new file mode 100644
index 0000000..aafe1f7
--- /dev/null
+++ b/doc/_static/images/top_background.jpg
Binary files differ
diff --git a/doc/_templates/index.html b/doc/_templates/index.html
new file mode 100644
index 0000000..560f92a
--- /dev/null
+++ b/doc/_templates/index.html
@@ -0,0 +1,68 @@
+{% extends "layout.html" %}
+{% set title = 'Overview' %}
+{% block body %}
+<div class="section">
+ <h1>PySide {{ version }}</h1>
+
+ <p><a href="http://www.qtsoftware.com/">Qt</a> is a cross-platform application framework from Qt Software (owned by Nokia).
+ It features a large number of libraries providing services like network abstraction and XML handling, along with a very rich
+ GUI package, allowing C++ developers to write their applications once and run them unmodified in different systems.
+ PySide aims to provide Python developers access to the Qt libraries in the most natural way.</p>
+
+ <p>PySide is built using the BoostPythonGenerator.</p>
+
+ <h2>Documentation</h2>
+ <table class="contentstable" align="center" style="margin-left: 30px"><tr>
+ <td width="50%">
+ <p class="biglink"><a class="biglink" href="{{ pathto("issuesdiff") }}">PyQt Incompatibilities</a><br/>
+ <span class="linkdescr">PySide issues and specificities</span></p>
+ <p class="biglink"><a class="biglink" href="{{ pathto("howto-build/index") }}">How to build</a><br/>
+ <span class="linkdescr">building compiling and installing PySide</span></p>
+ </td>
+ <td width="50%">
+ <p class="biglink"><a class="biglink" href="{{ pathto("contents") }}">Contents</a><br/>
+ <span class="linkdescr">for a complete overview</span></p>
+ <p class="biglink"><a class="biglink" href="{{ pathto("dbus") }}">DBus</a><br/>
+ <span class="linkdescr">DBus integration</span></p>
+
+ </td></tr>
+ </table>
+
+ <h2>Modules</h2>
+ <table class="contentstable" align="center" style="margin-left: 30px"><tr>
+ <td width="50%">
+ <p class="biglink"><a class="biglink" href="{{ pathto("PySide/QtCore/index") }}">QtCore</a><br/>
+ <span class="linkdescr">core non-GUI functionality</span></p>
+ <p class="biglink"><a class="biglink" href="{{ pathto("PySide/QtGui/index") }}">QtGui</a><br/>
+ <span class="linkdescr">extends QtCore with GUI functionality.</span></p>
+ <p class="biglink"><a class="biglink" href="{{ pathto("PySide/QtHelp/index") }}">QtHelp</a><br/>
+ <span class="linkdescr">provides classes for integrating online documentation in applications</span></p>
+ <p class="biglink"><a class="biglink" href="{{ pathto("PySide/QtNetwork/index") }}">QtNetwork</a><br/>
+ <span class="linkdescr">offers classes that allow you to write TCP/IP clients and servers</span></p>
+ <p class="biglink"><a class="biglink" href="{{ pathto("PySide/QtOpenGL/index") }}">QtOpenGL</a><br/>
+ <span class="linkdescr">offers classes that make it easy to use OpenGL in Qt applications</span></p>
+ <p class="biglink"><a class="biglink" href="{{ pathto("PySide/QtScript/index") }}">QtScript</a><br/>
+ <span class="linkdescr">provides classes for making Qt applications scriptable</span></p>
+ <p class="biglink"><a class="biglink" href="{{ pathto("PySide/QtMultimedia/index") }}">QtMultimedia</a><br/>
+ <span class="linkdescr"></span>provides low-level multimedia functionality</p>
+ </td>
+ <td width="50%">
+ <p class="biglink"><a class="biglink" href="{{ pathto("PySide/QtScriptTools/index") }}">QtScriptTools</a><br/>
+ <span class="linkdescr">provides additional components for applications that use Qt Script</span></p>
+ <p class="biglink"><a class="biglink" href="{{ pathto("PySide/QtSql/index") }}">QtSql</a><br/>
+ <span class="linkdescr">helps you provide seamless database integration to your Qt applications</span></p>
+ <p class="biglink"><a class="biglink" href="{{ pathto("PySide/QtSvg/index") }}">QtSvg</a><br/>
+ <span class="linkdescr">provides classes for displaying the contents of SVG files</span></p>
+ <p class="biglink"><a class="biglink" href="{{ pathto("PySide/QtUiTools/index") }}">QtUiTools</a><br/>
+ <span class="linkdescr">provides classes to handle forms created with Qt Designer</span></p>
+ <p class="biglink"><a class="biglink" href="{{ pathto("PySide/QtXml/index") }}">QtXml</a><br/>
+ <span class="linkdescr">provides a stream reader and writer for XML documents</span></p>
+ <p class="biglink"><a class="biglink" href="{{ pathto("PySide/QtWebKit/index") }}">QtWebkit</a><br/>
+ <span class="linkdescr">provides a Web browser engine</span></p>
+ <p class="biglink"><a class="biglink" href="{{ pathto("PySide/phonon/index") }}">Phonon</a><br/>
+ <span class="linkdescr">cross-platform multimedia framework that enables the use of audio and video
+ content in Qt applications</span></p>
+ </td></tr>
+ </table>
+</div>
+{% endblock %}
diff --git a/doc/_themes/pysidedocs/defindex.html b/doc/_themes/pysidedocs/defindex.html
new file mode 100644
index 0000000..40f4f4c
--- /dev/null
+++ b/doc/_themes/pysidedocs/defindex.html
@@ -0,0 +1,26 @@
+{% extends "layout.html" %}
+{% set title = _('Overview') %}
+{% block body %}
+ <h1>{{ docstitle|e }}</h1>
+ <p>
+ Welcome! This is
+ {% block description %}the documentation for {{ project|e }}
+ {{ release|e }}{% if last_updated %}, last updated {{ last_updated|e }}{% endif %}{% endblock %}.
+ </p>
+ {% block tables %}
+ <p><strong>{{ _('Indices and tables:') }}</strong></p>
+ <table class="contentstable" align="center"><tr>
+ <td width="50%">
+ <p class="biglink"><a class="biglink" href="{{ pathto("contents") }}">{{ _('Complete Table of Contents') }}</a><br>
+ <span class="linkdescr">{{ _('lists all sections and subsections') }}</span></p>
+ <p class="biglink"><a class="biglink" href="{{ pathto("search") }}">{{ _('Search Page') }}</a><br>
+ <span class="linkdescr">{{ _('search this documentation') }}</span></p>
+ </td><td width="50%">
+ <p class="biglink"><a class="biglink" href="{{ pathto("modindex") }}">{{ _('Global Module Index') }}</a><br>
+ <span class="linkdescr">{{ _('quick access to all modules') }}</span></p>
+ <p class="biglink"><a class="biglink" href="{{ pathto("genindex") }}">{{ _('General Index') }}</a><br>
+ <span class="linkdescr">{{ _('all functions, classes, terms') }}</span></p>
+ </td></tr>
+ </table>
+ {% endblock %}
+{% endblock %}
diff --git a/doc/_themes/pysidedocs/genindex-single.html b/doc/_themes/pysidedocs/genindex-single.html
new file mode 100644
index 0000000..9aaaeb0
--- /dev/null
+++ b/doc/_themes/pysidedocs/genindex-single.html
@@ -0,0 +1,46 @@
+{% extends "layout.html" %}
+{% set title = _('Index') %}
+{% block body %}
+
+ <h1 id="index">{% trans key=key %}Index &ndash; {{ key }}{% endtrans %}</h1>
+
+<table width="100%" class="indextable"><tr><td width="33%" valign="top">
+<dl>
+{%- set breakat = count // 2 %}
+{%- set numcols = 1 %}
+{%- set numitems = 0 %}
+{% for entryname, (links, subitems) in entries %}
+<dt>{%- if links -%}<a href="{{ links[0] }}">{{ entryname|e }}</a>
+ {%- for link in links[1:] %}, <a href="{{ link }}">[{{ loop.index }}]</a>{% endfor -%}
+ {%- else -%}
+{{ entryname|e }}
+ {%- endif -%}</dt>
+ {%- if subitems %}
+ <dd><dl>
+ {%- for subentryname, subentrylinks in subitems %}
+ <dt><a href="{{ subentrylinks[0] }}">{{ subentryname|e }}</a>
+ {%- for link in subentrylinks[1:] %}, <a href="{{ link }}">[{{ loop.index }}]</a>{% endfor -%}
+ </dt>
+ {%- endfor %}
+ </dl></dd>
+ {%- endif -%}
+{%- set numitems = numitems + 1 + (subitems|length) -%}
+{%- if numcols < 2 and numitems > breakat -%}
+{%- set numcols = numcols+1 -%}
+</dl></td><td width="33%" valign="top"><dl>
+{%- endif -%}
+{%- endfor %}
+</dl></td></tr></table>
+
+{% endblock %}
+
+{% block sidebarrel %}
+ <h4>Index</h4>
+ <p>{% for key, dummy in genindexentries -%}
+ <a href="{{ pathto('genindex-' + key) }}"><strong>{{ key }}</strong></a>
+ {% if not loop.last %}| {% endif %}
+ {%- endfor %}</p>
+
+ <p><a href="{{ pathto('genindex-all') }}"><strong>{{ _('Full index on one page') }}</strong></a></p>
+ {{ super() }}
+{% endblock %}
diff --git a/doc/_themes/pysidedocs/genindex-split.html b/doc/_themes/pysidedocs/genindex-split.html
new file mode 100644
index 0000000..ab099e5
--- /dev/null
+++ b/doc/_themes/pysidedocs/genindex-split.html
@@ -0,0 +1,30 @@
+{% extends "layout.html" %}
+{% set title = _('Index') %}
+{% block body %}
+
+ <h1 id="index">{{ _('Index') }}</h1>
+
+ <p>{{ _('Index pages by letter') }}:</p>
+
+ <p>{% for key, dummy in genindexentries -%}
+ <a href="{{ pathto('genindex-' + key) }}"><strong>{{ key }}</strong></a>
+ {% if not loop.last %}| {% endif %}
+ {%- endfor %}</p>
+
+ <p><a href="{{ pathto('genindex-all') }}"><strong>{{ _('Full index on one page') }}</strong>
+ ({{ _('can be huge') }})</a></p>
+
+{% endblock %}
+
+{% block sidebarrel %}
+{% if split_index %}
+ <h4>Index</h4>
+ <p>{% for key, dummy in genindexentries -%}
+ <a href="{{ pathto('genindex-' + key) }}"><strong>{{ key }}</strong></a>
+ {% if not loop.last %}| {% endif %}
+ {%- endfor %}</p>
+
+ <p><a href="{{ pathto('genindex-all') }}"><strong>{{ _('Full index on one page') }}</strong></a></p>
+{% endif %}
+ {{ super() }}
+{% endblock %}
diff --git a/doc/_themes/pysidedocs/genindex.html b/doc/_themes/pysidedocs/genindex.html
new file mode 100644
index 0000000..a19aa80
--- /dev/null
+++ b/doc/_themes/pysidedocs/genindex.html
@@ -0,0 +1,57 @@
+{% extends "layout.html" %}
+{% set title = _('Index') %}
+{% block body %}
+
+ <h1 id="index">{{ _('Index') }}</h1>
+
+ {% for key, dummy in genindexentries -%}
+ <a href="#{{ key }}"><strong>{{ key }}</strong></a> {% if not loop.last %}| {% endif %}
+ {%- endfor %}
+
+ <hr />
+
+ {% for key, entries in genindexentries %}
+<h2 id="{{ key }}">{{ key }}</h2>
+<table width="100%" class="indextable"><tr><td width="33%" valign="top">
+<dl>
+{%- set breakat = genindexcounts[loop.index0] // 2 %}
+{%- set numcols = 1 %}
+{%- set numitems = 0 %}
+{% for entryname, (links, subitems) in entries %}
+<dt>{%- if links -%}<a href="{{ links[0] }}">{{ entryname|e }}</a>
+ {%- for link in links[1:] %}, <a href="{{ link }}">[{{ loop.index }}]</a>{% endfor -%}
+ {%- else -%}
+{{ entryname|e }}
+ {%- endif -%}</dt>
+ {%- if subitems %}
+ <dd><dl>
+ {%- for subentryname, subentrylinks in subitems %}
+ <dt><a href="{{ subentrylinks[0] }}">{{ subentryname|e }}</a>
+ {%- for link in subentrylinks[1:] %}, <a href="{{ link }}">[{{ loop.index }}]</a>{% endfor -%}
+ </dt>
+ {%- endfor %}
+ </dl></dd>
+ {%- endif -%}
+{%- set numitems = numitems + 1 + (subitems|length) -%}
+{%- if numcols < 2 and numitems > breakat -%}
+{%- set numcols = numcols+1 -%}
+</dl></td><td width="33%" valign="top"><dl>
+{%- endif -%}
+{%- endfor %}
+</dl></td></tr></table>
+{% endfor %}
+
+{% endblock %}
+
+{% block sidebarrel %}
+{% if split_index %}
+ <h4>{{ _('Index') }}</h4>
+ <p>{% for key, dummy in genindexentries -%}
+ <a href="{{ pathto('genindex-' + key) }}"><strong>{{ key }}</strong></a>
+ {% if not loop.last %}| {% endif %}
+ {%- endfor %}</p>
+
+ <p><a href="{{ pathto('genindex-all') }}"><strong>{{ _('Full index on one page') }}</strong></a></p>
+{% endif %}
+ {{ super() }}
+{% endblock %}
diff --git a/doc/_themes/pysidedocs/layout.html b/doc/_themes/pysidedocs/layout.html
new file mode 100644
index 0000000..f6d9ac9
--- /dev/null
+++ b/doc/_themes/pysidedocs/layout.html
@@ -0,0 +1,147 @@
+{%- block doctype -%}
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+{%- endblock %}
+{%- set reldelim1 = reldelim1 is not defined and ' &raquo;' or reldelim1 %}
+{%- set reldelim2 = reldelim2 is not defined and ' |' or reldelim2 %}
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ {{ metatags }}
+ <title>{{ title }} &mdash; {{ project }}</title>
+ <link rel="stylesheet" href="{{ pathto('_static/pysidedocs.css', 1) }}" type="text/css" />
+ <link rel="stylesheet" href="{{ pathto('_static/pygments.css', 1) }}" type="text/css" />
+
+ {%- if not embedded %}
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: '{{ pathto("", 1) }}',
+ VERSION: '{{ release|e }}',
+ COLLAPSE_MODINDEX: false,
+ FILE_SUFFIX: '{{ file_suffix }}',
+ HAS_SOURCE: {{ has_source|lower }}
+ };
+ </script>
+ {%- for scriptfile in script_files %}
+ <script type="text/javascript" src="{{ pathto(scriptfile, 1) }}"></script>
+ {%- endfor %}
+ {%- if pagename == "screenshots" %}
+ {%- endif %}
+ <!--[if lt IE 7]>
+ <style media="screen" type="text/css">
+ #container {
+ height:100%;
+ }
+ </style>
+ <![endif]-->
+
+ {%- if use_opensearch %}
+ <link rel="search" type="application/opensearchdescription+xml"
+ title="{% trans docstitle=docstitle|e %}Search within {{ docstitle }}{% endtrans %}"
+ href="{{ pathto('_static/opensearch.xml', 1) }}"/>
+ {%- endif %}
+ {%- if favicon %}
+ <link rel="shortcut icon" href="{{ pathto('_static/' + favicon, 1) }}"/>
+ {%- endif %}
+ {%- endif %}
+{%- block linktags %}
+ {%- if hasdoc('about') %}
+ <link rel="author" title="{{ _('About these documents') }}" href="{{ pathto('about') }}" />
+ {%- endif %}
+ {%- if hasdoc('genindex') %}
+ <link rel="index" title="{{ _('Index') }}" href="{{ pathto('genindex') }}" />
+ {%- endif %}
+ {%- if hasdoc('search') %}
+ <link rel="search" title="{{ _('Search') }}" href="{{ pathto('search') }}" />
+ {%- endif %}
+ {%- if hasdoc('copyright') %}
+ <link rel="copyright" title="{{ _('Copyright') }}" href="{{ pathto('copyright') }}" />
+ {%- endif %}
+ <link rel="top" title="{{ docstitle|e }}" href="{{ pathto('index') }}" />
+ {%- if parents %}
+ <link rel="up" title="{{ parents[-1].title|striptags }}" href="{{ parents[-1].link|e }}" />
+ {%- endif %}
+ {%- if next %}
+ <link rel="next" title="{{ next.title|striptags }}" href="{{ next.link|e }}" />
+ {%- endif %}
+ {%- if prev %}
+ <link rel="prev" title="{{ prev.title|striptags }}" href="{{ prev.link|e }}" />
+ {%- endif %}
+{%- endblock %}
+{%- block extrahead %} {% endblock %}
+ </head>
+ <body id="{{ pagename }}">
+{%- block header %}{% endblock %}
+
+<div id="container">
+<div id="header">
+ <div id="header_container">
+ <div id="logo"></div>
+ <ul id="relbar">
+ {%- for rellink in rellinks %}
+ <li class="right">
+ <a href="{{ pathto(rellink[0]) }}" title="{{ rellink[1]|striptags }}"
+ {{ accesskey(rellink[2]) }}>{{ rellink[3] }}</a>
+ {%- if not loop.first %}{{ reldelim2 }}{% endif %}</li>
+ {%- endfor %}
+ {%- block rootrellink %}
+ <li><a href="{{ pathto(master_doc) }}">{{ shorttitle|e }}</a>{{ reldelim1 }}</li>
+ {%- endblock %}
+ {%- for parent in parents %}
+ <li><a href="{{ parent.link|e }}" {% if loop.last %}{{ accesskey("U") }}{% endif %}>{{ parent.title }}</a>{{ reldelim1 }}</li>
+ {%- endfor %}
+ {%- block relbaritems %} {% endblock %}
+ </ul>
+ </div>
+</div>
+
+<div id="body" >
+ <div id="sidebar">
+ {%- block sidebartoc %}
+ {%- if display_toc %}
+ <h3><a href="{{ pathto(master_doc) }}">{{ _('Table Of Contents') }}</a></h3>
+ {{ toc }}
+ {%- endif %}
+ {%- endblock %}
+ {%- block sidebarrel %}
+ {%- if prev %}
+ <h3>{{ _('Previous topic') }}</h3>
+ <p class="topless"><a href="{{ prev.link|e }}"
+ title="{{ _('previous chapter') }}">{{ prev.title }}</a></p>
+ {%- endif %}
+ {%- if next %}
+ <h3>{{ _('Next topic') }}</h3>
+ <p class="topless"><a href="{{ next.link|e }}"
+ title="{{ _('next chapter') }}">{{ next.title }}</a></p>
+ {%- endif %}
+ {%- endblock %}
+
+ <div id="search_box">
+ <h3>Quick search</h3>
+ <form action="{{ pathto('search') }}" method="get">
+ <input type="text" name="q" id="q" />
+ <input type="submit" value="Go" id="search_button" />
+ <input type="hidden" name="check_keywords" value="yes" />
+ <input type="hidden" name="area" value="default" />
+ </form>
+ </div>
+
+ </div>
+
+ {%- block document %}
+ {% block body %} {% endblock %}
+ {%- endblock %}
+</div> <!-- container -->
+
+{%- block footer %}
+<div id="footer">
+ <a href="http://www.indt.org.br"><img src="{{ pathto('_static/logo_indt.jpg', 1) }}" alt="Indt" border="0" /></a>
+ <a href="http://www.openbossa.org"><img src="{{ pathto('_static/logo_openbossa.png', 1) }}" alt="Openbossa" border="0" /></a>
+ <a href="http://qt.nokia.com/"><img src="{{ pathto('_static/logo_qt.png', 1) }}" alt="Qt" border="0" /></a>
+ <a href="http://www.python.org"><img src="{{ pathto('_static/logo_python.jpg', 1) }}" alt="Python" border="0" /></a>
+</div>
+{%- endblock %}
+</div>
+</body>
+</html>
diff --git a/doc/_themes/pysidedocs/modindex.html b/doc/_themes/pysidedocs/modindex.html
new file mode 100644
index 0000000..0392edc
--- /dev/null
+++ b/doc/_themes/pysidedocs/modindex.html
@@ -0,0 +1,42 @@
+{% extends "layout.html" %}
+{% set title = _('Global Module Index') %}
+{% block extrahead %}
+{{ super() }}
+{% if not embedded and collapse_modindex %}
+ <script type="text/javascript">
+ DOCUMENTATION_OPTIONS.COLLAPSE_MODINDEX = true;
+ </script>
+{% endif %}
+{% endblock %}
+{% block body %}
+
+ <h1 id="global-module-index">{{ _('Global Module Index') }}</h1>
+
+ {%- for letter in letters %}
+ <a href="#cap-{{ letter }}"><strong>{{ letter }}</strong></a> {% if not loop.last %}| {% endif %}
+ {%- endfor %}
+ <hr/>
+
+ <table width="100%" class="indextable" cellspacing="0" cellpadding="2">
+ {%- for modname, collapse, cgroup, indent, fname, synops, pform, dep, stripped in modindexentries %}
+ {%- if not modname -%}
+ <tr class="pcap"><td></td><td>&nbsp;</td><td></td></tr>
+ <tr class="cap"><td></td><td><a name="cap-{{ fname }}"><strong>{{ fname }}</strong></a></td><td></td></tr>
+ {%- else -%}
+ <tr{% if indent %} class="cg-{{ cgroup }}"{% endif %}>
+ <td>{% if collapse -%}
+ <img src="{{ pathto('_static/minus.png', 1) }}" id="toggle-{{ cgroup }}"
+ class="toggler" style="display: none" alt="-" />
+ {%- endif %}</td>
+ <td>{% if indent %}&nbsp;&nbsp;&nbsp;{% endif %}
+ {% if fname %}<a href="{{ fname }}">{% endif -%}
+ <tt class="xref">{{ stripped|e }}{{ modname|e }}</tt>
+ {%- if fname %}</a>{% endif %}
+ {%- if pform and pform[0] %} <em>({{ pform|join(', ') }})</em>{% endif -%}
+ </td><td>{% if dep %}<strong>{{ _('Deprecated')}}:</strong>{% endif %}
+ <em>{{ synops|e }}</em></td></tr>
+ {%- endif -%}
+ {% endfor %}
+ </table>
+
+{% endblock %}
diff --git a/doc/_themes/pysidedocs/opensearch.xml b/doc/_themes/pysidedocs/opensearch.xml
new file mode 100644
index 0000000..03875be
--- /dev/null
+++ b/doc/_themes/pysidedocs/opensearch.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
+ <ShortName>{{ project|e }}</ShortName>
+ <Description>{% trans docstitle=docstitle|e %}Search {{ docstitle }}{% endtrans %}</Description>
+ <InputEncoding>utf-8</InputEncoding>
+ <Url type="text/html" method="get"
+ template="{{ use_opensearch }}/{{ pathto('search') }}?q={searchTerms}&amp;check_keywords=yes&amp;area=default"/>
+ <LongName>{{ docstitle|e }}</LongName>
+{% block extra %} {# Put e.g. an <Image> element here. #} {% endblock %}
+</OpenSearchDescription>
diff --git a/doc/_themes/pysidedocs/page.html b/doc/_themes/pysidedocs/page.html
new file mode 100644
index 0000000..17a9301
--- /dev/null
+++ b/doc/_themes/pysidedocs/page.html
@@ -0,0 +1,4 @@
+{% extends "layout.html" %}
+{% block body %}
+ {{ body }}
+{% endblock %}
diff --git a/doc/_themes/pysidedocs/search.html b/doc/_themes/pysidedocs/search.html
new file mode 100644
index 0000000..d745532
--- /dev/null
+++ b/doc/_themes/pysidedocs/search.html
@@ -0,0 +1,26 @@
+{% extends "layout.html" %}
+{% set title = _('Search') %}
+{% set script_files = script_files + ['_static/searchtools.js'] %}
+{% block body %}
+<div class="section">
+ <h1 id="search-documentation">Search Results</h1>
+ <div id="fallback" class="admonition warning">
+ <script type="text/javascript">$('#fallback').hide();</script>
+ <p>
+ {% trans %}Please activate JavaScript to enable the search
+ functionality.{% endtrans %}
+ </p>
+ </div>
+ {% if search_performed %}
+ {% if not search_results %}
+ <p>{{ _('Your search did not match any results.') }}</p>
+ {% endif %}
+ {% endif %}
+ <div id="search-results">
+ </div>
+</div>
+{% endblock %}
+{% block footer %}
+ {{ super() }}
+ <script type="text/javascript" src="searchindex.js"></script>
+{% endblock %}
diff --git a/doc/_themes/pysidedocs/static/.directory b/doc/_themes/pysidedocs/static/.directory
new file mode 100644
index 0000000..176338d
--- /dev/null
+++ b/doc/_themes/pysidedocs/static/.directory
@@ -0,0 +1,3 @@
+[Dolphin]
+ShowPreview=true
+Timestamp=2009,10,13,10,27,39
diff --git a/doc/_themes/pysidedocs/static/bg_header.png b/doc/_themes/pysidedocs/static/bg_header.png
new file mode 100644
index 0000000..843e7e2
--- /dev/null
+++ b/doc/_themes/pysidedocs/static/bg_header.png
Binary files differ
diff --git a/doc/_themes/pysidedocs/static/bg_topo.jpg b/doc/_themes/pysidedocs/static/bg_topo.jpg
new file mode 100644
index 0000000..4229ae8
--- /dev/null
+++ b/doc/_themes/pysidedocs/static/bg_topo.jpg
Binary files differ
diff --git a/doc/_themes/pysidedocs/static/doctools.js b/doc/_themes/pysidedocs/static/doctools.js
new file mode 100644
index 0000000..9447678
--- /dev/null
+++ b/doc/_themes/pysidedocs/static/doctools.js
@@ -0,0 +1,232 @@
+/// XXX: make it cross browser
+
+/**
+ * make the code below compatible with browsers without
+ * an installed firebug like debugger
+ */
+if (!window.console || !console.firebug) {
+ var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml",
+ "group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"];
+ window.console = {};
+ for (var i = 0; i < names.length; ++i)
+ window.console[names[i]] = function() {}
+}
+
+/**
+ * small helper function to urldecode strings
+ */
+jQuery.urldecode = function(x) {
+ return decodeURIComponent(x).replace(/\+/g, ' ');
+}
+
+/**
+ * small helper function to urlencode strings
+ */
+jQuery.urlencode = encodeURIComponent;
+
+/**
+ * This function returns the parsed url parameters of the
+ * current request. Multiple values per key are supported,
+ * it will always return arrays of strings for the value parts.
+ */
+jQuery.getQueryParameters = function(s) {
+ if (typeof s == 'undefined')
+ s = document.location.search;
+ var parts = s.substr(s.indexOf('?') + 1).split('&');
+ var result = {};
+ for (var i = 0; i < parts.length; i++) {
+ var tmp = parts[i].split('=', 2);
+ var key = jQuery.urldecode(tmp[0]);
+ var value = jQuery.urldecode(tmp[1]);
+ if (key in result)
+ result[key].push(value);
+ else
+ result[key] = [value];
+ }
+ return result;
+}
+
+/**
+ * small function to check if an array contains
+ * a given item.
+ */
+jQuery.contains = function(arr, item) {
+ for (var i = 0; i < arr.length; i++) {
+ if (arr[i] == item)
+ return true;
+ }
+ return false;
+}
+
+/**
+ * highlight a given string on a jquery object by wrapping it in
+ * span elements with the given class name.
+ */
+jQuery.fn.highlightText = function(text, className) {
+ function highlight(node) {
+ if (node.nodeType == 3) {
+ var val = node.nodeValue;
+ var pos = val.toLowerCase().indexOf(text);
+ if (pos >= 0 && !jQuery.className.has(node.parentNode, className)) {
+ var span = document.createElement("span");
+ span.className = className;
+ span.appendChild(document.createTextNode(val.substr(pos, text.length)));
+ node.parentNode.insertBefore(span, node.parentNode.insertBefore(
+ document.createTextNode(val.substr(pos + text.length)),
+ node.nextSibling));
+ node.nodeValue = val.substr(0, pos);
+ }
+ }
+ else if (!jQuery(node).is("button, select, textarea")) {
+ jQuery.each(node.childNodes, function() {
+ highlight(this)
+ });
+ }
+ }
+ return this.each(function() {
+ highlight(this);
+ });
+}
+
+/**
+ * Small JavaScript module for the documentation.
+ */
+var Documentation = {
+
+ init : function() {
+ this.fixFirefoxAnchorBug();
+ this.highlightSearchWords();
+ this.initModIndex();
+ },
+
+ /**
+ * i18n support
+ */
+ TRANSLATIONS : {},
+ PLURAL_EXPR : function(n) { return n == 1 ? 0 : 1; },
+ LOCALE : 'unknown',
+
+ // gettext and ngettext don't access this so that the functions
+ // can savely bound to a different name (_ = Documentation.gettext)
+ gettext : function(string) {
+ var translated = Documentation.TRANSLATIONS[string];
+ if (typeof translated == 'undefined')
+ return string;
+ return (typeof translated == 'string') ? translated : translated[0];
+ },
+
+ ngettext : function(singular, plural, n) {
+ var translated = Documentation.TRANSLATIONS[singular];
+ if (typeof translated == 'undefined')
+ return (n == 1) ? singular : plural;
+ return translated[Documentation.PLURALEXPR(n)];
+ },
+
+ addTranslations : function(catalog) {
+ for (var key in catalog.messages)
+ this.TRANSLATIONS[key] = catalog.messages[key];
+ this.PLURAL_EXPR = new Function('n', 'return +(' + catalog.plural_expr + ')');
+ this.LOCALE = catalog.locale;
+ },
+
+ /**
+ * add context elements like header anchor links
+ */
+ addContextElements : function() {
+ $('div[id] > :header:first').each(function() {
+ $('<a class="headerlink">\u00B6</a>').
+ attr('href', '#' + this.id).
+ attr('title', _('Permalink to this headline')).
+ appendTo(this);
+ });
+ $('dt[id]').each(function() {
+ $('<a class="headerlink">\u00B6</a>').
+ attr('href', '#' + this.id).
+ attr('title', _('Permalink to this definition')).
+ appendTo(this);
+ });
+ },
+
+ /**
+ * workaround a firefox stupidity
+ */
+ fixFirefoxAnchorBug : function() {
+ if (document.location.hash && $.browser.mozilla)
+ window.setTimeout(function() {
+ document.location.href += '';
+ }, 10);
+ },
+
+ /**
+ * highlight the search words provided in the url in the text
+ */
+ highlightSearchWords : function() {
+ var params = $.getQueryParameters();
+ var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : [];
+ if (terms.length) {
+ var body = $('div.body');
+ window.setTimeout(function() {
+ $.each(terms, function() {
+ body.highlightText(this.toLowerCase(), 'highlight');
+ });
+ }, 10);
+ $('<li class="highlight-link"><a href="javascript:Documentation.' +
+ 'hideSearchWords()">' + _('Hide Search Matches') + '</a></li>')
+ .appendTo($('.sidebar .this-page-menu'));
+ }
+ },
+
+ /**
+ * init the modindex toggle buttons
+ */
+ initModIndex : function() {
+ var togglers = $('img.toggler').click(function() {
+ var src = $(this).attr('src');
+ var idnum = $(this).attr('id').substr(7);
+ console.log($('tr.cg-' + idnum).toggle());
+ if (src.substr(-9) == 'minus.png')
+ $(this).attr('src', src.substr(0, src.length-9) + 'plus.png');
+ else
+ $(this).attr('src', src.substr(0, src.length-8) + 'minus.png');
+ }).css('display', '');
+ if (DOCUMENTATION_OPTIONS.COLLAPSE_MODINDEX) {
+ togglers.click();
+ }
+ },
+
+ /**
+ * helper function to hide the search marks again
+ */
+ hideSearchWords : function() {
+ $('.sidebar .this-page-menu li.highlight-link').fadeOut(300);
+ $('span.highlight').removeClass('highlight');
+ },
+
+ /**
+ * make the url absolute
+ */
+ makeURL : function(relativeURL) {
+ return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL;
+ },
+
+ /**
+ * get the current relative url
+ */
+ getCurrentURL : function() {
+ var path = document.location.pathname;
+ var parts = path.split(/\//);
+ $.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() {
+ if (this == '..')
+ parts.pop();
+ });
+ var url = parts.join('/');
+ return path.substring(url.lastIndexOf('/') + 1, path.length - 1);
+ }
+};
+
+// quick alias for translations
+_ = Documentation.gettext;
+
+$(document).ready(function() {
+ Documentation.init();
+});
diff --git a/doc/_themes/pysidedocs/static/fakebar.png b/doc/_themes/pysidedocs/static/fakebar.png
new file mode 100644
index 0000000..b45830e
--- /dev/null
+++ b/doc/_themes/pysidedocs/static/fakebar.png
Binary files differ
diff --git a/doc/_themes/pysidedocs/static/jquery.js b/doc/_themes/pysidedocs/static/jquery.js
new file mode 100644
index 0000000..82b98e1
--- /dev/null
+++ b/doc/_themes/pysidedocs/static/jquery.js
@@ -0,0 +1,32 @@
+/*
+ * jQuery 1.2.6 - New Wave Javascript
+ *
+ * Copyright (c) 2008 John Resig (jquery.com)
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
+ * and GPL (GPL-LICENSE.txt) licenses.
+ *
+ * $Date: 2008-05-24 14:22:17 -0400 (Sat, 24 May 2008) $
+ * $Rev: 5685 $
+ */
+(function(){var _jQuery=window.jQuery,_$=window.$;var jQuery=window.jQuery=window.$=function(selector,context){return new jQuery.fn.init(selector,context);};var quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/,isSimple=/^.[^:#\[\.]*$/,undefined;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;return this;}if(typeof selector=="string"){var match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1])selector=jQuery.clean([match[1]],context);else{var elem=document.getElementById(match[3]);if(elem){if(elem.id!=match[3])return jQuery().find(selector);return jQuery(elem);}selector=[];}}else
+return jQuery(context).find(selector);}else if(jQuery.isFunction(selector))return jQuery(document)[jQuery.fn.ready?"ready":"load"](selector);return this.setArray(jQuery.makeArray(selector));},jquery:"1.2.6",size:function(){return this.length;},length:0,get:function(num){return num==undefined?jQuery.makeArray(this):this[num];},pushStack:function(elems){var ret=jQuery(elems);ret.prevObject=this;return ret;},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elems);return this;},each:function(callback,args){return jQuery.each(this,callback,args);},index:function(elem){var ret=-1;return jQuery.inArray(elem&&elem.jquery?elem[0]:elem,this);},attr:function(name,value,type){var options=name;if(name.constructor==String)if(value===undefined)return this[0]&&jQuery[type||"attr"](this[0],name);else{options={};options[name]=value;}return this.each(function(i){for(name in options)jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name));});},css:function(key,value){if((key=='width'||key=='height')&&parseFloat(value)<0)value=undefined;return this.attr(key,value,"curCSS");},text:function(text){if(typeof text!="object"&&text!=null)return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(text));var ret="";jQuery.each(text||this,function(){jQuery.each(this.childNodes,function(){if(this.nodeType!=8)ret+=this.nodeType!=1?this.nodeValue:jQuery.fn.text([this]);});});return ret;},wrapAll:function(html){if(this[0])jQuery(html,this[0].ownerDocument).clone().insertBefore(this[0]).map(function(){var elem=this;while(elem.firstChild)elem=elem.firstChild;return elem;}).append(this);return this;},wrapInner:function(html){return this.each(function(){jQuery(this).contents().wrapAll(html);});},wrap:function(html){return this.each(function(){jQuery(this).wrapAll(html);});},append:function(){return this.domManip(arguments,true,false,function(elem){if(this.nodeType==1)this.appendChild(elem);});},prepend:function(){return this.domManip(arguments,true,true,function(elem){if(this.nodeType==1)this.insertBefore(elem,this.firstChild);});},before:function(){return this.domManip(arguments,false,false,function(elem){this.parentNode.insertBefore(elem,this);});},after:function(){return this.domManip(arguments,false,true,function(elem){this.parentNode.insertBefore(elem,this.nextSibling);});},end:function(){return this.prevObject||jQuery([]);},find:function(selector){var elems=jQuery.map(this,function(elem){return jQuery.find(selector,elem);});return this.pushStack(/[^+>] [^+>]/.test(selector)||selector.indexOf("..")>-1?jQuery.unique(elems):elems);},clone:function(events){var ret=this.map(function(){if(jQuery.browser.msie&&!jQuery.isXMLDoc(this)){var clone=this.cloneNode(true),container=document.createElement("div");container.appendChild(clone);return jQuery.clean([container.innerHTML])[0];}else
+return this.cloneNode(true);});var clone=ret.find("*").andSelf().each(function(){if(this[expando]!=undefined)this[expando]=null;});if(events===true)this.find("*").andSelf().each(function(i){if(this.nodeType==3)return;var events=jQuery.data(this,"events");for(var type in events)for(var handler in events[type])jQuery.event.add(clone[i],type,events[type][handler],events[type][handler].data);});return ret;},filter:function(selector){return this.pushStack(jQuery.isFunction(selector)&&jQuery.grep(this,function(elem,i){return selector.call(elem,i);})||jQuery.multiFilter(selector,this));},not:function(selector){if(selector.constructor==String)if(isSimple.test(selector))return this.pushStack(jQuery.multiFilter(selector,this,true));else
+selector=jQuery.multiFilter(selector,this);var isArrayLike=selector.length&&selector[selector.length-1]!==undefined&&!selector.nodeType;return this.filter(function(){return isArrayLike?jQuery.inArray(this,selector)<0:this!=selector;});},add:function(selector){return this.pushStack(jQuery.unique(jQuery.merge(this.get(),typeof selector=='string'?jQuery(selector):jQuery.makeArray(selector))));},is:function(selector){return!!selector&&jQuery.multiFilter(selector,this).length>0;},hasClass:function(selector){return this.is("."+selector);},val:function(value){if(value==undefined){if(this.length){var elem=this[0];if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";if(index<0)return null;for(var i=one?index:0,max=one?index+1:options.length;i<max;i++){var option=options[i];if(option.selected){value=jQuery.browser.msie&&!option.attributes.value.specified?option.text:option.value;if(one)return value;values.push(value);}}return values;}else
+return(this[0].value||"").replace(/\r/g,"");}return undefined;}if(value.constructor==Number)value+='';return this.each(function(){if(this.nodeType!=1)return;if(value.constructor==Array&&/radio|checkbox/.test(this.type))this.checked=(jQuery.inArray(this.value,value)>=0||jQuery.inArray(this.name,value)>=0);else if(jQuery.nodeName(this,"select")){var values=jQuery.makeArray(value);jQuery("option",this).each(function(){this.selected=(jQuery.inArray(this.value,values)>=0||jQuery.inArray(this.text,values)>=0);});if(!values.length)this.selectedIndex=-1;}else
+this.value=value;});},html:function(value){return value==undefined?(this[0]?this[0].innerHTML:null):this.empty().append(value);},replaceWith:function(value){return this.after(value).remove();},eq:function(i){return this.slice(i,i+1);},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments));},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem);}));},andSelf:function(){return this.add(this.prevObject);},data:function(key,value){var parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value===undefined){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data===undefined&&this.length)data=jQuery.data(this[0],key);return data===undefined&&parts[1]?this.data(parts[0]):data;}else
+return this.trigger("setData"+parts[1]+"!",[parts[0],value]).each(function(){jQuery.data(this,key,value);});},removeData:function(key){return this.each(function(){jQuery.removeData(this,key);});},domManip:function(args,table,reverse,callback){var clone=this.length>1,elems;return this.each(function(){if(!elems){elems=jQuery.clean(args,this.ownerDocument);if(reverse)elems.reverse();}var obj=this;if(table&&jQuery.nodeName(this,"table")&&jQuery.nodeName(elems[0],"tr"))obj=this.getElementsByTagName("tbody")[0]||this.appendChild(this.ownerDocument.createElement("tbody"));var scripts=jQuery([]);jQuery.each(elems,function(){var elem=clone?jQuery(this).clone(true)[0]:this;if(jQuery.nodeName(elem,"script"))scripts=scripts.add(elem);else{if(elem.nodeType==1)scripts=scripts.add(jQuery("script",elem).remove());callback.call(obj,elem);}});scripts.each(evalScript);});}};jQuery.fn.init.prototype=jQuery.fn;function evalScript(i,elem){if(elem.src)jQuery.ajax({url:elem.src,async:false,dataType:"script"});else
+jQuery.globalEval(elem.text||elem.textContent||elem.innerHTML||"");if(elem.parentNode)elem.parentNode.removeChild(elem);}function now(){return+new Date;}jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(target.constructor==Boolean){deep=target;target=arguments[1]||{};i=2;}if(typeof target!="object"&&typeof target!="function")target={};if(length==i){target=this;--i;}for(;i<length;i++)if((options=arguments[i])!=null)for(var name in options){var src=target[name],copy=options[name];if(target===copy)continue;if(deep&&copy&&typeof copy=="object"&&!copy.nodeType)target[name]=jQuery.extend(deep,src||(copy.length!=null?[]:{}),copy);else if(copy!==undefined)target[name]=copy;}return target;};var expando="jQuery"+now(),uuid=0,windowData={},exclude=/z-?index|font-?weight|opacity|zoom|line-?height/i,defaultView=document.defaultView||{};jQuery.extend({noConflict:function(deep){window.$=_$;if(deep)window.jQuery=_jQuery;return jQuery;},isFunction:function(fn){return!!fn&&typeof fn!="string"&&!fn.nodeName&&fn.constructor!=Array&&/^[\s[]?function/.test(fn+"");},isXMLDoc:function(elem){return elem.documentElement&&!elem.body||elem.tagName&&elem.ownerDocument&&!elem.ownerDocument.body;},globalEval:function(data){data=jQuery.trim(data);if(data){var head=document.getElementsByTagName("head")[0]||document.documentElement,script=document.createElement("script");script.type="text/javascript";if(jQuery.browser.msie)script.text=data;else
+script.appendChild(document.createTextNode(data));head.insertBefore(script,head.firstChild);head.removeChild(script);}},nodeName:function(elem,name){return elem.nodeName&&elem.nodeName.toUpperCase()==name.toUpperCase();},cache:{},data:function(elem,name,data){elem=elem==window?windowData:elem;var id=elem[expando];if(!id)id=elem[expando]=++uuid;if(name&&!jQuery.cache[id])jQuery.cache[id]={};if(data!==undefined)jQuery.cache[id][name]=data;return name?jQuery.cache[id][name]:id;},removeData:function(elem,name){elem=elem==window?windowData:elem;var id=elem[expando];if(name){if(jQuery.cache[id]){delete jQuery.cache[id][name];name="";for(name in jQuery.cache[id])break;if(!name)jQuery.removeData(elem);}}else{try{delete elem[expando];}catch(e){if(elem.removeAttribute)elem.removeAttribute(expando);}delete jQuery.cache[id];}},each:function(object,callback,args){var name,i=0,length=object.length;if(args){if(length==undefined){for(name in object)if(callback.apply(object[name],args)===false)break;}else
+for(;i<length;)if(callback.apply(object[i++],args)===false)break;}else{if(length==undefined){for(name in object)if(callback.call(object[name],name,object[name])===false)break;}else
+for(var value=object[0];i<length&&callback.call(value,i,value)!==false;value=object[++i]){}}return object;},prop:function(elem,value,type,i,name){if(jQuery.isFunction(value))value=value.call(elem,i);return value&&value.constructor==Number&&type=="curCSS"&&!exclude.test(name)?value+"px":value;},className:{add:function(elem,classNames){jQuery.each((classNames||"").split(/\s+/),function(i,className){if(elem.nodeType==1&&!jQuery.className.has(elem.className,className))elem.className+=(elem.className?" ":"")+className;});},remove:function(elem,classNames){if(elem.nodeType==1)elem.className=classNames!=undefined?jQuery.grep(elem.className.split(/\s+/),function(className){return!jQuery.className.has(classNames,className);}).join(" "):"";},has:function(elem,className){return jQuery.inArray(className,(elem.className||elem).toString().split(/\s+/))>-1;}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}callback.call(elem);for(var name in options)elem.style[name]=old[name];},css:function(elem,name,force){if(name=="width"||name=="height"){var val,props={position:"absolute",visibility:"hidden",display:"block"},which=name=="width"?["Left","Right"]:["Top","Bottom"];function getWH(){val=name=="width"?elem.offsetWidth:elem.offsetHeight;var padding=0,border=0;jQuery.each(which,function(){padding+=parseFloat(jQuery.curCSS(elem,"padding"+this,true))||0;border+=parseFloat(jQuery.curCSS(elem,"border"+this+"Width",true))||0;});val-=Math.round(padding+border);}if(jQuery(elem).is(":visible"))getWH();else
+jQuery.swap(elem,props,getWH);return Math.max(0,val);}return jQuery.curCSS(elem,name,force);},curCSS:function(elem,name,force){var ret,style=elem.style;function color(elem){if(!jQuery.browser.safari)return false;var ret=defaultView.getComputedStyle(elem,null);return!ret||ret.getPropertyValue("color")=="";}if(name=="opacity"&&jQuery.browser.msie){ret=jQuery.attr(style,"opacity");return ret==""?"1":ret;}if(jQuery.browser.opera&&name=="display"){var save=style.outline;style.outline="0 solid black";style.outline=save;}if(name.match(/float/i))name=styleFloat;if(!force&&style&&style[name])ret=style[name];else if(defaultView.getComputedStyle){if(name.match(/float/i))name="float";name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var computedStyle=defaultView.getComputedStyle(elem,null);if(computedStyle&&!color(elem))ret=computedStyle.getPropertyValue(name);else{var swap=[],stack=[],a=elem,i=0;for(;a&&color(a);a=a.parentNode)stack.unshift(a);for(;i<stack.length;i++)if(color(stack[i])){swap[i]=stack[i].style.display;stack[i].style.display="block";}ret=name=="display"&&swap[stack.length-1]!=null?"none":(computedStyle&&computedStyle.getPropertyValue(name))||"";for(i=0;i<swap.length;i++)if(swap[i]!=null)stack[i].style.display=swap[i];}if(name=="opacity"&&ret=="")ret="1";}else if(elem.currentStyle){var camelCase=name.replace(/\-(\w)/g,function(all,letter){return letter.toUpperCase();});ret=elem.currentStyle[name]||elem.currentStyle[camelCase];if(!/^\d+(px)?$/i.test(ret)&&/^\d/.test(ret)){var left=style.left,rsLeft=elem.runtimeStyle.left;elem.runtimeStyle.left=elem.currentStyle.left;style.left=ret||0;ret=style.pixelLeft+"px";style.left=left;elem.runtimeStyle.left=rsLeft;}}return ret;},clean:function(elems,context){var ret=[];context=context||document;if(typeof context.createElement=='undefined')context=context.ownerDocument||context[0]&&context[0].ownerDocument||document;jQuery.each(elems,function(i,elem){if(!elem)return;if(elem.constructor==Number)elem+='';if(typeof elem=="string"){elem=elem.replace(/(<(\w+)[^>]*?)\/>/g,function(all,front,tag){return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?all:front+"></"+tag+">";});var tags=jQuery.trim(elem).toLowerCase(),div=context.createElement("div");var wrap=!tags.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!tags.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||tags.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!tags.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!tags.indexOf("<td")||!tags.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!tags.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||jQuery.browser.msie&&[1,"div<div>","</div>"]||[0,"",""];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--)div=div.lastChild;if(jQuery.browser.msie){var tbody=!tags.indexOf("<table")&&tags.indexOf("<tbody")<0?div.firstChild&&div.firstChild.childNodes:wrap[1]=="<table>"&&tags.indexOf("<tbody")<0?div.childNodes:[];for(var j=tbody.length-1;j>=0;--j)if(jQuery.nodeName(tbody[j],"tbody")&&!tbody[j].childNodes.length)tbody[j].parentNode.removeChild(tbody[j]);if(/^\s/.test(elem))div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]),div.firstChild);}elem=jQuery.makeArray(div.childNodes);}if(elem.length===0&&(!jQuery.nodeName(elem,"form")&&!jQuery.nodeName(elem,"select")))return;if(elem[0]==undefined||jQuery.nodeName(elem,"form")||elem.options)ret.push(elem);else
+ret=jQuery.merge(ret,elem);});return ret;},attr:function(elem,name,value){if(!elem||elem.nodeType==3||elem.nodeType==8)return undefined;var notxml=!jQuery.isXMLDoc(elem),set=value!==undefined,msie=jQuery.browser.msie;name=notxml&&jQuery.props[name]||name;if(elem.tagName){var special=/href|src|style/.test(name);if(name=="selected"&&jQuery.browser.safari)elem.parentNode.selectedIndex;if(name in elem&&notxml&&!special){if(set){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)throw"type property can't be changed";elem[name]=value;}if(jQuery.nodeName(elem,"form")&&elem.getAttributeNode(name))return elem.getAttributeNode(name).nodeValue;return elem[name];}if(msie&&notxml&&name=="style")return jQuery.attr(elem.style,"cssText",value);if(set)elem.setAttribute(name,""+value);var attr=msie&&notxml&&special?elem.getAttribute(name,2):elem.getAttribute(name);return attr===null?undefined:attr;}if(msie&&name=="opacity"){if(set){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(value)+''=="NaN"?"":"alpha(opacity="+value*100+")");}return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100)+'':"";}name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(set)elem[name]=value;return elem[name];},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeArray:function(array){var ret=[];if(array!=null){var i=array.length;if(i==null||array.split||array.setInterval||array.call)ret[0]=array;else
+while(i)ret[--i]=array[i];}return ret;},inArray:function(elem,array){for(var i=0,length=array.length;i<length;i++)if(array[i]===elem)return i;return-1;},merge:function(first,second){var i=0,elem,pos=first.length;if(jQuery.browser.msie){while(elem=second[i++])if(elem.nodeType!=8)first[pos++]=elem;}else
+while(elem=second[i++])first[pos++]=elem;return first;},unique:function(array){var ret=[],done={};try{for(var i=0,length=array.length;i<length;i++){var id=jQuery.data(array[i]);if(!done[id]){done[id]=true;ret.push(array[i]);}}}catch(e){ret=array;}return ret;},grep:function(elems,callback,inv){var ret=[];for(var i=0,length=elems.length;i<length;i++)if(!inv!=!callback(elems[i],i))ret.push(elems[i]);return ret;},map:function(elems,callback){var ret=[];for(var i=0,length=elems.length;i<length;i++){var value=callback(elems[i],i);if(value!=null)ret[ret.length]=value;}return ret.concat.apply([],ret);}});var userAgent=navigator.userAgent.toLowerCase();jQuery.browser={version:(userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[])[1],safari:/webkit/.test(userAgent),opera:/opera/.test(userAgent),msie:/msie/.test(userAgent)&&!/opera/.test(userAgent),mozilla:/mozilla/.test(userAgent)&&!/(compatible|webkit)/.test(userAgent)};var styleFloat=jQuery.browser.msie?"styleFloat":"cssFloat";jQuery.extend({boxModel:!jQuery.browser.msie||document.compatMode=="CSS1Compat",props:{"for":"htmlFor","class":"className","float":styleFloat,cssFloat:styleFloat,styleFloat:styleFloat,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing"}});jQuery.each({parent:function(elem){return elem.parentNode;},parents:function(elem){return jQuery.dir(elem,"parentNode");},next:function(elem){return jQuery.nth(elem,2,"nextSibling");},prev:function(elem){return jQuery.nth(elem,2,"previousSibling");},nextAll:function(elem){return jQuery.dir(elem,"nextSibling");},prevAll:function(elem){return jQuery.dir(elem,"previousSibling");},siblings:function(elem){return jQuery.sibling(elem.parentNode.firstChild,elem);},children:function(elem){return jQuery.sibling(elem.firstChild);},contents:function(elem){return jQuery.nodeName(elem,"iframe")?elem.contentDocument||elem.contentWindow.document:jQuery.makeArray(elem.childNodes);}},function(name,fn){jQuery.fn[name]=function(selector){var ret=jQuery.map(this,fn);if(selector&&typeof selector=="string")ret=jQuery.multiFilter(selector,ret);return this.pushStack(jQuery.unique(ret));};});jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(){var args=arguments;return this.each(function(){for(var i=0,length=args.length;i<length;i++)jQuery(args[i])[original](this);});};});jQuery.each({removeAttr:function(name){jQuery.attr(this,name,"");if(this.nodeType==1)this.removeAttribute(name);},addClass:function(classNames){jQuery.className.add(this,classNames);},removeClass:function(classNames){jQuery.className.remove(this,classNames);},toggleClass:function(classNames){jQuery.className[jQuery.className.has(this,classNames)?"remove":"add"](this,classNames);},remove:function(selector){if(!selector||jQuery.filter(selector,[this]).r.length){jQuery("*",this).add(this).each(function(){jQuery.event.remove(this);jQuery.removeData(this);});if(this.parentNode)this.parentNode.removeChild(this);}},empty:function(){jQuery(">*",this).remove();while(this.firstChild)this.removeChild(this.firstChild);}},function(name,fn){jQuery.fn[name]=function(){return this.each(fn,arguments);};});jQuery.each(["Height","Width"],function(i,name){var type=name.toLowerCase();jQuery.fn[type]=function(size){return this[0]==window?jQuery.browser.opera&&document.body["client"+name]||jQuery.browser.safari&&window["inner"+name]||document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(Math.max(document.body["scroll"+name],document.documentElement["scroll"+name]),Math.max(document.body["offset"+name],document.documentElement["offset"+name])):size==undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,size.constructor==String?size:size+"px");};});function num(elem,prop){return elem[0]&&parseInt(jQuery.curCSS(elem[0],prop,true),10)||0;}var chars=jQuery.browser.safari&&parseInt(jQuery.browser.version)<417?"(?:[\\w*_-]|\\\\.)":"(?:[\\w\u0128-\uFFFF*_-]|\\\\.)",quickChild=new RegExp("^>\\s*("+chars+"+)"),quickID=new RegExp("^("+chars+"+)(#)("+chars+"+)"),quickClass=new RegExp("^([#.]?)("+chars+"*)");jQuery.extend({expr:{"":function(a,i,m){return m[2]=="*"||jQuery.nodeName(a,m[2]);},"#":function(a,i,m){return a.getAttribute("id")==m[2];},":":{lt:function(a,i,m){return i<m[3]-0;},gt:function(a,i,m){return i>m[3]-0;},nth:function(a,i,m){return m[3]-0==i;},eq:function(a,i,m){return m[3]-0==i;},first:function(a,i){return i==0;},last:function(a,i,m,r){return i==r.length-1;},even:function(a,i){return i%2==0;},odd:function(a,i){return i%2;},"first-child":function(a){return a.parentNode.getElementsByTagName("*")[0]==a;},"last-child":function(a){return jQuery.nth(a.parentNode.lastChild,1,"previousSibling")==a;},"only-child":function(a){return!jQuery.nth(a.parentNode.lastChild,2,"previousSibling");},parent:function(a){return a.firstChild;},empty:function(a){return!a.firstChild;},contains:function(a,i,m){return(a.textContent||a.innerText||jQuery(a).text()||"").indexOf(m[3])>=0;},visible:function(a){return"hidden"!=a.type&&jQuery.css(a,"display")!="none"&&jQuery.css(a,"visibility")!="hidden";},hidden:function(a){return"hidden"==a.type||jQuery.css(a,"display")=="none"||jQuery.css(a,"visibility")=="hidden";},enabled:function(a){return!a.disabled;},disabled:function(a){return a.disabled;},checked:function(a){return a.checked;},selected:function(a){return a.selected||jQuery.attr(a,"selected");},text:function(a){return"text"==a.type;},radio:function(a){return"radio"==a.type;},checkbox:function(a){return"checkbox"==a.type;},file:function(a){return"file"==a.type;},password:function(a){return"password"==a.type;},submit:function(a){return"submit"==a.type;},image:function(a){return"image"==a.type;},reset:function(a){return"reset"==a.type;},button:function(a){return"button"==a.type||jQuery.nodeName(a,"button");},input:function(a){return/input|select|textarea|button/i.test(a.nodeName);},has:function(a,i,m){return jQuery.find(m[3],a).length;},header:function(a){return/h\d/i.test(a.nodeName);},animated:function(a){return jQuery.grep(jQuery.timers,function(fn){return a==fn.elem;}).length;}}},parse:[/^(\[) *@?([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/,/^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/,new RegExp("^([:.#]*)("+chars+"+)")],multiFilter:function(expr,elems,not){var old,cur=[];while(expr&&expr!=old){old=expr;var f=jQuery.filter(expr,elems,not);expr=f.t.replace(/^\s*,\s*/,"");cur=not?elems=f.r:jQuery.merge(cur,f.r);}return cur;},find:function(t,context){if(typeof t!="string")return[t];if(context&&context.nodeType!=1&&context.nodeType!=9)return[];context=context||document;var ret=[context],done=[],last,nodeName;while(t&&last!=t){var r=[];last=t;t=jQuery.trim(t);var foundToken=false,re=quickChild,m=re.exec(t);if(m){nodeName=m[1].toUpperCase();for(var i=0;ret[i];i++)for(var c=ret[i].firstChild;c;c=c.nextSibling)if(c.nodeType==1&&(nodeName=="*"||c.nodeName.toUpperCase()==nodeName))r.push(c);ret=r;t=t.replace(re,"");if(t.indexOf(" ")==0)continue;foundToken=true;}else{re=/^([>+~])\s*(\w*)/i;if((m=re.exec(t))!=null){r=[];var merge={};nodeName=m[2].toUpperCase();m=m[1];for(var j=0,rl=ret.length;j<rl;j++){var n=m=="~"||m=="+"?ret[j].nextSibling:ret[j].firstChild;for(;n;n=n.nextSibling)if(n.nodeType==1){var id=jQuery.data(n);if(m=="~"&&merge[id])break;if(!nodeName||n.nodeName.toUpperCase()==nodeName){if(m=="~")merge[id]=true;r.push(n);}if(m=="+")break;}}ret=r;t=jQuery.trim(t.replace(re,""));foundToken=true;}}if(t&&!foundToken){if(!t.indexOf(",")){if(context==ret[0])ret.shift();done=jQuery.merge(done,ret);r=ret=[context];t=" "+t.substr(1,t.length);}else{var re2=quickID;var m=re2.exec(t);if(m){m=[0,m[2],m[3],m[1]];}else{re2=quickClass;m=re2.exec(t);}m[2]=m[2].replace(/\\/g,"");var elem=ret[ret.length-1];if(m[1]=="#"&&elem&&elem.getElementById&&!jQuery.isXMLDoc(elem)){var oid=elem.getElementById(m[2]);if((jQuery.browser.msie||jQuery.browser.opera)&&oid&&typeof oid.id=="string"&&oid.id!=m[2])oid=jQuery('[@id="'+m[2]+'"]',elem)[0];ret=r=oid&&(!m[3]||jQuery.nodeName(oid,m[3]))?[oid]:[];}else{for(var i=0;ret[i];i++){var tag=m[1]=="#"&&m[3]?m[3]:m[1]!=""||m[0]==""?"*":m[2];if(tag=="*"&&ret[i].nodeName.toLowerCase()=="object")tag="param";r=jQuery.merge(r,ret[i].getElementsByTagName(tag));}if(m[1]==".")r=jQuery.classFilter(r,m[2]);if(m[1]=="#"){var tmp=[];for(var i=0;r[i];i++)if(r[i].getAttribute("id")==m[2]){tmp=[r[i]];break;}r=tmp;}ret=r;}t=t.replace(re2,"");}}if(t){var val=jQuery.filter(t,r);ret=r=val.r;t=jQuery.trim(val.t);}}if(t)ret=[];if(ret&&context==ret[0])ret.shift();done=jQuery.merge(done,ret);return done;},classFilter:function(r,m,not){m=" "+m+" ";var tmp=[];for(var i=0;r[i];i++){var pass=(" "+r[i].className+" ").indexOf(m)>=0;if(!not&&pass||not&&!pass)tmp.push(r[i]);}return tmp;},filter:function(t,r,not){var last;while(t&&t!=last){last=t;var p=jQuery.parse,m;for(var i=0;p[i];i++){m=p[i].exec(t);if(m){t=t.substring(m[0].length);m[2]=m[2].replace(/\\/g,"");break;}}if(!m)break;if(m[1]==":"&&m[2]=="not")r=isSimple.test(m[3])?jQuery.filter(m[3],r,true).r:jQuery(r).not(m[3]);else if(m[1]==".")r=jQuery.classFilter(r,m[2],not);else if(m[1]=="["){var tmp=[],type=m[3];for(var i=0,rl=r.length;i<rl;i++){var a=r[i],z=a[jQuery.props[m[2]]||m[2]];if(z==null||/href|src|selected/.test(m[2]))z=jQuery.attr(a,m[2])||'';if((type==""&&!!z||type=="="&&z==m[5]||type=="!="&&z!=m[5]||type=="^="&&z&&!z.indexOf(m[5])||type=="$="&&z.substr(z.length-m[5].length)==m[5]||(type=="*="||type=="~=")&&z.indexOf(m[5])>=0)^not)tmp.push(a);}r=tmp;}else if(m[1]==":"&&m[2]=="nth-child"){var merge={},tmp=[],test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(m[3]=="even"&&"2n"||m[3]=="odd"&&"2n+1"||!/\D/.test(m[3])&&"0n+"+m[3]||m[3]),first=(test[1]+(test[2]||1))-0,last=test[3]-0;for(var i=0,rl=r.length;i<rl;i++){var node=r[i],parentNode=node.parentNode,id=jQuery.data(parentNode);if(!merge[id]){var c=1;for(var n=parentNode.firstChild;n;n=n.nextSibling)if(n.nodeType==1)n.nodeIndex=c++;merge[id]=true;}var add=false;if(first==0){if(node.nodeIndex==last)add=true;}else if((node.nodeIndex-last)%first==0&&(node.nodeIndex-last)/first>=0)add=true;if(add^not)tmp.push(node);}r=tmp;}else{var fn=jQuery.expr[m[1]];if(typeof fn=="object")fn=fn[m[2]];if(typeof fn=="string")fn=eval("false||function(a,i){return "+fn+";}");r=jQuery.grep(r,function(elem,i){return fn(elem,i,m,r);},not);}}return{r:r,t:t};},dir:function(elem,dir){var matched=[],cur=elem[dir];while(cur&&cur!=document){if(cur.nodeType==1)matched.push(cur);cur=cur[dir];}return matched;},nth:function(cur,result,dir,elem){result=result||1;var num=0;for(;cur;cur=cur[dir])if(cur.nodeType==1&&++num==result)break;return cur;},sibling:function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType==1&&n!=elem)r.push(n);}return r;}});jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8)return;if(jQuery.browser.msie&&elem.setInterval)elem=window;if(!handler.guid)handler.guid=this.guid++;if(data!=undefined){var fn=handler;handler=this.proxy(fn,function(){return fn.apply(this,arguments);});handler.data=data;}var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){if(typeof jQuery!="undefined"&&!jQuery.event.triggered)return jQuery.event.handle.apply(arguments.callee.elem,arguments);});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];handler.type=parts[1];var handlers=events[type];if(!handlers){handlers=events[type]={};if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem)===false){if(elem.addEventListener)elem.addEventListener(type,handle,false);else if(elem.attachEvent)elem.attachEvent("on"+type,handle);}}handlers[handler.guid]=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8)return;var events=jQuery.data(elem,"events"),ret,index;if(events){if(types==undefined||(typeof types=="string"&&types.charAt(0)=="."))for(var type in events)this.remove(elem,type+(types||""));else{if(types.type){handler=types.handler;types=types.type;}jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];if(events[type]){if(handler)delete events[type][handler.guid];else
+for(handler in events[type])if(!parts[1]||events[type][handler].type==parts[1])delete events[type][handler];for(ret in events[type])break;if(!ret){if(!jQuery.event.special[type]||jQuery.event.special[type].teardown.call(elem)===false){if(elem.removeEventListener)elem.removeEventListener(type,jQuery.data(elem,"handle"),false);else if(elem.detachEvent)elem.detachEvent("on"+type,jQuery.data(elem,"handle"));}ret=null;delete events[type];}}});}for(ret in events)break;if(!ret){var handle=jQuery.data(elem,"handle");if(handle)handle.elem=null;jQuery.removeData(elem,"events");jQuery.removeData(elem,"handle");}}},trigger:function(type,data,elem,donative,extra){data=jQuery.makeArray(data);if(type.indexOf("!")>=0){type=type.slice(0,-1);var exclusive=true;}if(!elem){if(this.global[type])jQuery("*").add([window,document]).trigger(type,data);}else{if(elem.nodeType==3||elem.nodeType==8)return undefined;var val,ret,fn=jQuery.isFunction(elem[type]||null),event=!data[0]||!data[0].preventDefault;if(event){data.unshift({type:type,target:elem,preventDefault:function(){},stopPropagation:function(){},timeStamp:now()});data[0][expando]=true;}data[0].type=type;if(exclusive)data[0].exclusive=true;var handle=jQuery.data(elem,"handle");if(handle)val=handle.apply(elem,data);if((!fn||(jQuery.nodeName(elem,'a')&&type=="click"))&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)val=false;if(event)data.shift();if(extra&&jQuery.isFunction(extra)){ret=extra.apply(elem,val==null?data:data.concat(val));if(ret!==undefined)val=ret;}if(fn&&donative!==false&&val!==false&&!(jQuery.nodeName(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]();}catch(e){}}this.triggered=false;}return val;},handle:function(event){var val,ret,namespace,all,handlers;event=arguments[0]=jQuery.event.fix(event||window.event);namespace=event.type.split(".");event.type=namespace[0];namespace=namespace[1];all=!namespace&&!event.exclusive;handlers=(jQuery.data(this,"events")||{})[event.type];for(var j in handlers){var handler=handlers[j];if(all||handler.type==namespace){event.handler=handler;event.data=handler.data;ret=handler.apply(this,arguments);if(val!==false)val=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}}return val;},fix:function(event){if(event[expando]==true)return event;var originalEvent=event;event={originalEvent:originalEvent};var props="altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target timeStamp toElement type view wheelDelta which".split(" ");for(var i=props.length;i;i--)event[props[i]]=originalEvent[props[i]];event[expando]=true;event.preventDefault=function(){if(originalEvent.preventDefault)originalEvent.preventDefault();originalEvent.returnValue=false;};event.stopPropagation=function(){if(originalEvent.stopPropagation)originalEvent.stopPropagation();originalEvent.cancelBubble=true;};event.timeStamp=event.timeStamp||now();if(!event.target)event.target=event.srcElement||document;if(event.target.nodeType==3)event.target=event.target.parentNode;if(!event.relatedTarget&&event.fromElement)event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;if(event.pageX==null&&event.clientX!=null){var doc=document.documentElement,body=document.body;event.pageX=event.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc.clientLeft||0);event.pageY=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc.clientTop||0);}if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode))event.which=event.charCode||event.keyCode;if(!event.metaKey&&event.ctrlKey)event.metaKey=event.ctrlKey;if(!event.which&&event.button)event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));return event;},proxy:function(fn,proxy){proxy.guid=fn.guid=fn.guid||proxy.guid||this.guid++;return proxy;},special:{ready:{setup:function(){bindReady();return;},teardown:function(){return;}},mouseenter:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseover",jQuery.event.special.mouseenter.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseover",jQuery.event.special.mouseenter.handler);return true;},handler:function(event){if(withinElement(event,this))return true;event.type="mouseenter";return jQuery.event.handle.apply(this,arguments);}},mouseleave:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseout",jQuery.event.special.mouseleave.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseout",jQuery.event.special.mouseleave.handler);return true;},handler:function(event){if(withinElement(event,this))return true;event.type="mouseleave";return jQuery.event.handle.apply(this,arguments);}}}};jQuery.fn.extend({bind:function(type,data,fn){return type=="unload"?this.one(type,data,fn):this.each(function(){jQuery.event.add(this,type,fn||data,fn&&data);});},one:function(type,data,fn){var one=jQuery.event.proxy(fn||data,function(event){jQuery(this).unbind(event,one);return(fn||data).apply(this,arguments);});return this.each(function(){jQuery.event.add(this,type,one,fn&&data);});},unbind:function(type,fn){return this.each(function(){jQuery.event.remove(this,type,fn);});},trigger:function(type,data,fn){return this.each(function(){jQuery.event.trigger(type,data,this,true,fn);});},triggerHandler:function(type,data,fn){return this[0]&&jQuery.event.trigger(type,data,this[0],false,fn);},toggle:function(fn){var args=arguments,i=1;while(i<args.length)jQuery.event.proxy(fn,args[i++]);return this.click(jQuery.event.proxy(fn,function(event){this.lastToggle=(this.lastToggle||0)%i;event.preventDefault();return args[this.lastToggle++].apply(this,arguments)||false;}));},hover:function(fnOver,fnOut){return this.bind('mouseenter',fnOver).bind('mouseleave',fnOut);},ready:function(fn){bindReady();if(jQuery.isReady)fn.call(document,jQuery);else
+jQuery.readyList.push(function(){return fn.call(this,jQuery);});return this;}});jQuery.extend({isReady:false,readyList:[],ready:function(){if(!jQuery.isReady){jQuery.isReady=true;if(jQuery.readyList){jQuery.each(jQuery.readyList,function(){this.call(document);});jQuery.readyList=null;}jQuery(document).triggerHandler("ready");}}});var readyBound=false;function bindReady(){if(readyBound)return;readyBound=true;if(document.addEventListener&&!jQuery.browser.opera)document.addEventListener("DOMContentLoaded",jQuery.ready,false);if(jQuery.browser.msie&&window==top)(function(){if(jQuery.isReady)return;try{document.documentElement.doScroll("left");}catch(error){setTimeout(arguments.callee,0);return;}jQuery.ready();})();if(jQuery.browser.opera)document.addEventListener("DOMContentLoaded",function(){if(jQuery.isReady)return;for(var i=0;i<document.styleSheets.length;i++)if(document.styleSheets[i].disabled){setTimeout(arguments.callee,0);return;}jQuery.ready();},false);if(jQuery.browser.safari){var numStyles;(function(){if(jQuery.isReady)return;if(document.readyState!="loaded"&&document.readyState!="complete"){setTimeout(arguments.callee,0);return;}if(numStyles===undefined)numStyles=jQuery("style, link[rel=stylesheet]").length;if(document.styleSheets.length!=numStyles){setTimeout(arguments.callee,0);return;}jQuery.ready();})();}jQuery.event.add(window,"load",jQuery.ready);}jQuery.each(("blur,focus,load,resize,scroll,unload,click,dblclick,"+"mousedown,mouseup,mousemove,mouseover,mouseout,change,select,"+"submit,keydown,keypress,keyup,error").split(","),function(i,name){jQuery.fn[name]=function(fn){return fn?this.bind(name,fn):this.trigger(name);};});var withinElement=function(event,elem){var parent=event.relatedTarget;while(parent&&parent!=elem)try{parent=parent.parentNode;}catch(error){parent=elem;}return parent==elem;};jQuery(window).bind("unload",function(){jQuery("*").add(document).unbind();});jQuery.fn.extend({_load:jQuery.fn.load,load:function(url,params,callback){if(typeof url!='string')return this._load(url);var off=url.indexOf(" ");if(off>=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}callback=callback||function(){};var type="GET";if(params)if(jQuery.isFunction(params)){callback=params;params=null;}else{params=jQuery.param(params);type="POST";}var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified")self.html(selector?jQuery("<div/>").append(res.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(selector):res.responseText);self.each(callback,[res.responseText,status,res]);}});return this;},serialize:function(){return jQuery.param(this.serializeArray());},serializeArray:function(){return this.map(function(){return jQuery.nodeName(this,"form")?jQuery.makeArray(this.elements):this;}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password/i.test(this.type));}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:val.constructor==Array?jQuery.map(val,function(val,i){return{name:elem.name,value:val};}):{name:elem.name,value:val};}).get();}});jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=now();jQuery.extend({get:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data=null;}return jQuery.ajax({type:"GET",url:url,data:data,success:callback,dataType:type});},getScript:function(url,callback){return jQuery.get(url,null,callback,"script");},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json");},post:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data={};}return jQuery.ajax({type:"POST",url:url,data:data,success:callback,dataType:type});},ajaxSetup:function(settings){jQuery.extend(jQuery.ajaxSettings,settings);},ajaxSettings:{url:location.href,global:true,type:"GET",timeout:0,contentType:"application/x-www-form-urlencoded",processData:true,async:true,data:null,username:null,password:null,accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(s){s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));var jsonp,jsre=/=\?(&|$)/g,status,data,type=s.type.toUpperCase();if(s.data&&s.processData&&typeof s.data!="string")s.data=jQuery.param(s.data);if(s.dataType=="jsonp"){if(type=="GET"){if(!s.url.match(jsre))s.url+=(s.url.match(/\?/)?"&":"?")+(s.jsonp||"callback")+"=?";}else if(!s.data||!s.data.match(jsre))s.data=(s.data?s.data+"&":"")+(s.jsonp||"callback")+"=?";s.dataType="json";}if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++;if(s.data)s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";window[jsonp]=function(tmp){data=tmp;success();complete();window[jsonp]=undefined;try{delete window[jsonp];}catch(e){}if(head)head.removeChild(script);};}if(s.dataType=="script"&&s.cache==null)s.cache=false;if(s.cache===false&&type=="GET"){var ts=now();var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"");}if(s.data&&type=="GET"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data;s.data=null;}if(s.global&&!jQuery.active++)jQuery.event.trigger("ajaxStart");var remote=/^(?:\w+:)?\/\/([^\/?#]+)/;if(s.dataType=="script"&&type=="GET"&&remote.test(s.url)&&remote.exec(s.url)[1]!=location.host){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=s.url;if(s.scriptCharset)script.charset=s.scriptCharset;if(!jsonp){var done=false;script.onload=script.onreadystatechange=function(){if(!done&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){done=true;success();complete();head.removeChild(script);}};}head.appendChild(script);return undefined;}var requestDone=false;var xhr=window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();if(s.username)xhr.open(type,s.url,s.async,s.username,s.password);else
+xhr.open(type,s.url,s.async);try{if(s.data)xhr.setRequestHeader("Content-Type",s.contentType);if(s.ifModified)xhr.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");xhr.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default);}catch(e){}if(s.beforeSend&&s.beforeSend(xhr,s)===false){s.global&&jQuery.active--;xhr.abort();return false;}if(s.global)jQuery.event.trigger("ajaxSend",[xhr,s]);var onreadystatechange=function(isTimeout){if(!requestDone&&xhr&&(xhr.readyState==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival=null;}status=isTimeout=="timeout"&&"timeout"||!jQuery.httpSuccess(xhr)&&"error"||s.ifModified&&jQuery.httpNotModified(xhr,s.url)&&"notmodified"||"success";if(status=="success"){try{data=jQuery.httpData(xhr,s.dataType,s.dataFilter);}catch(e){status="parsererror";}}if(status=="success"){var modRes;try{modRes=xhr.getResponseHeader("Last-Modified");}catch(e){}if(s.ifModified&&modRes)jQuery.lastModified[s.url]=modRes;if(!jsonp)success();}else
+jQuery.handleError(s,xhr,status);complete();if(s.async)xhr=null;}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout>0)setTimeout(function(){if(xhr){xhr.abort();if(!requestDone)onreadystatechange("timeout");}},s.timeout);}try{xhr.send(s.data);}catch(e){jQuery.handleError(s,xhr,null,e);}if(!s.async)onreadystatechange();function success(){if(s.success)s.success(data,status);if(s.global)jQuery.event.trigger("ajaxSuccess",[xhr,s]);}function complete(){if(s.complete)s.complete(xhr,status);if(s.global)jQuery.event.trigger("ajaxComplete",[xhr,s]);if(s.global&&!--jQuery.active)jQuery.event.trigger("ajaxStop");}return xhr;},handleError:function(s,xhr,status,e){if(s.error)s.error(xhr,status,e);if(s.global)jQuery.event.trigger("ajaxError",[xhr,s,e]);},active:0,httpSuccess:function(xhr){try{return!xhr.status&&location.protocol=="file:"||(xhr.status>=200&&xhr.status<300)||xhr.status==304||xhr.status==1223||jQuery.browser.safari&&xhr.status==undefined;}catch(e){}return false;},httpNotModified:function(xhr,url){try{var xhrRes=xhr.getResponseHeader("Last-Modified");return xhr.status==304||xhrRes==jQuery.lastModified[url]||jQuery.browser.safari&&xhr.status==undefined;}catch(e){}return false;},httpData:function(xhr,type,filter){var ct=xhr.getResponseHeader("content-type"),xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0,data=xml?xhr.responseXML:xhr.responseText;if(xml&&data.documentElement.tagName=="parsererror")throw"parsererror";if(filter)data=filter(data,type);if(type=="script")jQuery.globalEval(data);if(type=="json")data=eval("("+data+")");return data;},param:function(a){var s=[];if(a.constructor==Array||a.jquery)jQuery.each(a,function(){s.push(encodeURIComponent(this.name)+"="+encodeURIComponent(this.value));});else
+for(var j in a)if(a[j]&&a[j].constructor==Array)jQuery.each(a[j],function(){s.push(encodeURIComponent(j)+"="+encodeURIComponent(this));});else
+s.push(encodeURIComponent(j)+"="+encodeURIComponent(jQuery.isFunction(a[j])?a[j]():a[j]));return s.join("&").replace(/%20/g,"+");}});jQuery.fn.extend({show:function(speed,callback){return speed?this.animate({height:"show",width:"show",opacity:"show"},speed,callback):this.filter(":hidden").each(function(){this.style.display=this.oldblock||"";if(jQuery.css(this,"display")=="none"){var elem=jQuery("<"+this.tagName+" />").appendTo("body");this.style.display=elem.css("display");if(this.style.display=="none")this.style.display="block";elem.remove();}}).end();},hide:function(speed,callback){return speed?this.animate({height:"hide",width:"hide",opacity:"hide"},speed,callback):this.filter(":visible").each(function(){this.oldblock=this.oldblock||jQuery.css(this,"display");this.style.display="none";}).end();},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle.apply(this,arguments):fn?this.animate({height:"toggle",width:"toggle",opacity:"toggle"},fn,fn2):this.each(function(){jQuery(this)[jQuery(this).is(":hidden")?"show":"hide"]();});},slideDown:function(speed,callback){return this.animate({height:"show"},speed,callback);},slideUp:function(speed,callback){return this.animate({height:"hide"},speed,callback);},slideToggle:function(speed,callback){return this.animate({height:"toggle"},speed,callback);},fadeIn:function(speed,callback){return this.animate({opacity:"show"},speed,callback);},fadeOut:function(speed,callback){return this.animate({opacity:"hide"},speed,callback);},fadeTo:function(speed,to,callback){return this.animate({opacity:to},speed,callback);},animate:function(prop,speed,easing,callback){var optall=jQuery.speed(speed,easing,callback);return this[optall.queue===false?"each":"queue"](function(){if(this.nodeType!=1)return false;var opt=jQuery.extend({},optall),p,hidden=jQuery(this).is(":hidden"),self=this;for(p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)return opt.complete.call(this);if(p=="height"||p=="width"){opt.display=jQuery.css(this,"display");opt.overflow=this.style.overflow;}}if(opt.overflow!=null)this.style.overflow="hidden";opt.curAnim=jQuery.extend({},prop);jQuery.each(prop,function(name,val){var e=new jQuery.fx(self,opt,name);if(/toggle|show|hide/.test(val))e[val=="toggle"?hidden?"show":"hide":val](prop);else{var parts=val.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),start=e.cur(true)||0;if(parts){var end=parseFloat(parts[2]),unit=parts[3]||"px";if(unit!="px"){self.style[name]=(end||1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit;}if(parts[1])end=((parts[1]=="-="?-1:1)*end)+start;e.custom(start,end,unit);}else
+e.custom(start,val,"");}});return true;});},queue:function(type,fn){if(jQuery.isFunction(type)||(type&&type.constructor==Array)){fn=type;type="fx";}if(!type||(typeof type=="string"&&!fn))return queue(this[0],type);return this.each(function(){if(fn.constructor==Array)queue(this,type,fn);else{queue(this,type).push(fn);if(queue(this,type).length==1)fn.call(this);}});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue)this.queue([]);this.each(function(){for(var i=timers.length-1;i>=0;i--)if(timers[i].elem==this){if(gotoEnd)timers[i](true);timers.splice(i,1);}});if(!gotoEnd)this.dequeue();return this;}});var queue=function(elem,type,array){if(elem){type=type||"fx";var q=jQuery.data(elem,type+"queue");if(!q||array)q=jQuery.data(elem,type+"queue",jQuery.makeArray(array));}return q;};jQuery.fn.dequeue=function(type){type=type||"fx";return this.each(function(){var q=queue(this,type);q.shift();if(q.length)q[0].call(this);});};jQuery.extend({speed:function(speed,easing,fn){var opt=speed&&speed.constructor==Object?speed:{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&easing.constructor!=Function&&easing};opt.duration=(opt.duration&&opt.duration.constructor==Number?opt.duration:jQuery.fx.speeds[opt.duration])||jQuery.fx.speeds.def;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false)jQuery(this).dequeue();if(jQuery.isFunction(opt.old))opt.old.call(this);};return opt;},easing:{linear:function(p,n,firstNum,diff){return firstNum+diff*p;},swing:function(p,n,firstNum,diff){return((-Math.cos(p*Math.PI)/2)+0.5)*diff+firstNum;}},timers:[],timerId:null,fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;if(!options.orig)options.orig={};}});jQuery.fx.prototype={update:function(){if(this.options.step)this.options.step.call(this.elem,this.now,this);(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if(this.prop=="height"||this.prop=="width")this.elem.style.display="block";},cur:function(force){if(this.elem[this.prop]!=null&&this.elem.style[this.prop]==null)return this.elem[this.prop];var r=parseFloat(jQuery.css(this.elem,this.prop,force));return r&&r>-10000?r:parseFloat(jQuery.curCSS(this.elem,this.prop))||0;},custom:function(from,to,unit){this.startTime=now();this.start=from;this.end=to;this.unit=unit||this.unit||"px";this.now=this.start;this.pos=this.state=0;this.update();var self=this;function t(gotoEnd){return self.step(gotoEnd);}t.elem=this.elem;jQuery.timers.push(t);if(jQuery.timerId==null){jQuery.timerId=setInterval(function(){var timers=jQuery.timers;for(var i=0;i<timers.length;i++)if(!timers[i]())timers.splice(i--,1);if(!timers.length){clearInterval(jQuery.timerId);jQuery.timerId=null;}},13);}},show:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.show=true;this.custom(0,this.cur());if(this.prop=="width"||this.prop=="height")this.elem.style[this.prop]="1px";jQuery(this.elem).show();},hide:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0);},step:function(gotoEnd){var t=now();if(gotoEnd||t>this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var done=true;for(var i in this.options.curAnim)if(this.options.curAnim[i]!==true)done=false;if(done){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,"display")=="none")this.elem.style.display="block";}if(this.options.hide)this.elem.style.display="none";if(this.options.hide||this.options.show)for(var p in this.options.curAnim)jQuery.attr(this.elem.style,p,this.options.orig[p]);}if(done)this.options.complete.call(this.elem);return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;this.pos=jQuery.easing[this.options.easing||(jQuery.easing.swing?"swing":"linear")](this.state,n,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update();}return true;}};jQuery.extend(jQuery.fx,{speeds:{slow:600,fast:200,def:400},step:{scrollLeft:function(fx){fx.elem.scrollLeft=fx.now;},scrollTop:function(fx){fx.elem.scrollTop=fx.now;},opacity:function(fx){jQuery.attr(fx.elem.style,"opacity",fx.now);},_default:function(fx){fx.elem.style[fx.prop]=fx.now+fx.unit;}}});jQuery.fn.offset=function(){var left=0,top=0,elem=this[0],results;if(elem)with(jQuery.browser){var parent=elem.parentNode,offsetChild=elem,offsetParent=elem.offsetParent,doc=elem.ownerDocument,safari2=safari&&parseInt(version)<522&&!/adobeair/i.test(userAgent),css=jQuery.curCSS,fixed=css(elem,"position")=="fixed";if(elem.getBoundingClientRect){var box=elem.getBoundingClientRect();add(box.left+Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),box.top+Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));add(-doc.documentElement.clientLeft,-doc.documentElement.clientTop);}else{add(elem.offsetLeft,elem.offsetTop);while(offsetParent){add(offsetParent.offsetLeft,offsetParent.offsetTop);if(mozilla&&!/^t(able|d|h)$/i.test(offsetParent.tagName)||safari&&!safari2)border(offsetParent);if(!fixed&&css(offsetParent,"position")=="fixed")fixed=true;offsetChild=/^body$/i.test(offsetParent.tagName)?offsetChild:offsetParent;offsetParent=offsetParent.offsetParent;}while(parent&&parent.tagName&&!/^body|html$/i.test(parent.tagName)){if(!/^inline|table.*$/i.test(css(parent,"display")))add(-parent.scrollLeft,-parent.scrollTop);if(mozilla&&css(parent,"overflow")!="visible")border(parent);parent=parent.parentNode;}if((safari2&&(fixed||css(offsetChild,"position")=="absolute"))||(mozilla&&css(offsetChild,"position")!="absolute"))add(-doc.body.offsetLeft,-doc.body.offsetTop);if(fixed)add(Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));}results={top:top,left:left};}function border(elem){add(jQuery.curCSS(elem,"borderLeftWidth",true),jQuery.curCSS(elem,"borderTopWidth",true));}function add(l,t){left+=parseInt(l,10)||0;top+=parseInt(t,10)||0;}return results;};jQuery.fn.extend({position:function(){var left=0,top=0,results;if(this[0]){var offsetParent=this.offsetParent(),offset=this.offset(),parentOffset=/^body|html$/i.test(offsetParent[0].tagName)?{top:0,left:0}:offsetParent.offset();offset.top-=num(this,'marginTop');offset.left-=num(this,'marginLeft');parentOffset.top+=num(offsetParent,'borderTopWidth');parentOffset.left+=num(offsetParent,'borderLeftWidth');results={top:offset.top-parentOffset.top,left:offset.left-parentOffset.left};}return results;},offsetParent:function(){var offsetParent=this[0].offsetParent;while(offsetParent&&(!/^body|html$/i.test(offsetParent.tagName)&&jQuery.css(offsetParent,'position')=='static'))offsetParent=offsetParent.offsetParent;return jQuery(offsetParent);}});jQuery.each(['Left','Top'],function(i,name){var method='scroll'+name;jQuery.fn[method]=function(val){if(!this[0])return;return val!=undefined?this.each(function(){this==window||this==document?window.scrollTo(!i?val:jQuery(window).scrollLeft(),i?val:jQuery(window).scrollTop()):this[method]=val;}):this[0]==window||this[0]==document?self[i?'pageYOffset':'pageXOffset']||jQuery.boxModel&&document.documentElement[method]||document.body[method]:this[0][method];};});jQuery.each(["Height","Width"],function(i,name){var tl=i?"Left":"Top",br=i?"Right":"Bottom";jQuery.fn["inner"+name]=function(){return this[name.toLowerCase()]()+num(this,"padding"+tl)+num(this,"padding"+br);};jQuery.fn["outer"+name]=function(margin){return this["inner"+name]()+num(this,"border"+tl+"Width")+num(this,"border"+br+"Width")+(margin?num(this,"margin"+tl)+num(this,"margin"+br):0);};});})(); \ No newline at end of file
diff --git a/doc/_themes/pysidedocs/static/logo_indt.jpg b/doc/_themes/pysidedocs/static/logo_indt.jpg
new file mode 100644
index 0000000..2a1fbe7
--- /dev/null
+++ b/doc/_themes/pysidedocs/static/logo_indt.jpg
Binary files differ
diff --git a/doc/_themes/pysidedocs/static/logo_openbossa.png b/doc/_themes/pysidedocs/static/logo_openbossa.png
new file mode 100644
index 0000000..51e868d
--- /dev/null
+++ b/doc/_themes/pysidedocs/static/logo_openbossa.png
Binary files differ
diff --git a/doc/_themes/pysidedocs/static/logo_python.jpg b/doc/_themes/pysidedocs/static/logo_python.jpg
new file mode 100644
index 0000000..cd474ef
--- /dev/null
+++ b/doc/_themes/pysidedocs/static/logo_python.jpg
Binary files differ
diff --git a/doc/_themes/pysidedocs/static/logo_qt.png b/doc/_themes/pysidedocs/static/logo_qt.png
new file mode 100644
index 0000000..37800f4
--- /dev/null
+++ b/doc/_themes/pysidedocs/static/logo_qt.png
Binary files differ
diff --git a/doc/_themes/pysidedocs/static/pysidedocs.css b/doc/_themes/pysidedocs/static/pysidedocs.css
new file mode 100644
index 0000000..2d99138
--- /dev/null
+++ b/doc/_themes/pysidedocs/static/pysidedocs.css
@@ -0,0 +1,412 @@
+* {
+ font: 100% Verdana, Arial, Helvetica, sans-serif;
+ font-size:12px;
+}
+
+html {
+ height: 100%;
+}
+
+body {
+ margin: 0;
+ padding: 0;
+ background-color: #EBEBEB;
+ height: 100%;
+ color: #333;
+}
+
+strong {
+ font-weight:bold;
+}
+
+#body {
+ padding-bottom: 90px;
+}
+
+#container {
+ position: relative;
+ min-height: 100%;
+ background-image: url(fakebar.png);
+ background-repeat: repeat-y;
+ background-color: white;
+}
+
+#footer {
+ position:absolute;
+ bottom: 0px;
+ margin-top: 50px;
+ text-align:center;
+ background-color: white;
+ border-top: 2px solid #e0e0e0;
+ white-space: nowrap;
+ height: 90px;
+ width: 100%;
+}
+
+#footer img {
+ margin-left: 8px;
+ margin-right: 8px;
+}
+
+#sidebar {
+ float: left;
+ width: 250px;
+ padding: 0px 10px 0px 10px;
+ text-align: left;
+}
+
+#sidebar ul {
+ padding: 0px;
+ margin: 0px;
+ list-style-position: inside;
+}
+
+#sidebar > ul {
+ padding: 0px;
+ margin: 0px;
+}
+
+#sidebar ul li {
+ margin-left: 10px;
+ padding: 0px;
+}
+
+#sidebar h3, #sidebar h3 a {
+ font-weight: bold;
+ color: #333;
+}
+
+#body > div.section {
+ margin-left: 270px;
+ text-align: left;
+ background-color: #ffffff;
+ border-left: 1px solid #989898;
+ font-size:18px;
+ padding: 10px 50px 15px 50px;
+ height: 100%;
+}
+
+h1 {
+ font-size:18px;
+ padding-left: 50px;
+ padding-bottom: 15px;
+ padding-top: 15px;
+ border-bottom: 1px solid #c2c2c2;
+ text-transform:uppercase;
+ margin-right: -100px;
+ position: relative;
+ left: -50px;
+ top: -10px;
+}
+
+h2 {
+ font-size:12px;
+ font-weight:bold;
+ border-left-width: 1px;
+ border-right-width: 1px;
+ border-top-width: 1px;
+ border-bottom-width: 2px;
+ border-style: solid;
+ border-left-color: #b1b1b1;
+ border-right-color: #b1b1b1;
+ border-top-color: #b1b1b1;
+ border-bottom-color: #009491;
+ background-color: #e0e0e0;
+ padding:5px;
+ margin-top: 20px;
+ -moz-border-radius:5px;
+ -webkit-border-radius:5px;
+ -khtml-border-radius:5px;
+}
+
+h3, h4 {
+ font-weight: bolder;
+}
+
+pre {
+ border-top: 1px solid #e0e0e0;
+ border-bottom: 1px solid #e0e0e0;
+ background-color: #fafafa;
+ padding: 5px;
+ font: 100% monospace;
+ overflow: auto;
+}
+
+pre * {
+ font: 100% monospace;
+}
+
+.headerlink {
+ display: none;
+}
+
+a, a:visited {
+ color: #009491;
+ text-decoration: none;
+}
+
+a:hover {
+ text-decoration: underline;
+}
+
+/* -- admonitions ----------------------------------------------------------- */
+
+div.admonition {
+ margin-top: 10px;
+ margin-bottom: 10px;
+ padding: 7px;
+}
+
+div.admonition dt {
+ font-weight: bold;
+}
+
+div.admonition dl {
+ margin-bottom: 0;
+}
+
+p.admonition-title {
+ margin: 0px 10px 5px 0px;
+ font-weight: bold;
+}
+
+div.body p.centered {
+ text-align: center;
+ margin-top: 25px;
+}
+
+div.warning {
+ background-color: #ffe4e4;
+ border: 1px solid #f66;
+}
+
+div.seealso {
+ background-color: #ffffcc;
+ border: 1px solid #ffff66;
+}
+
+div.note {
+ border: 1px solid #e3e3e3;
+}
+
+table.docutils {
+ margin-left: auto;
+ margin-right: auto;
+ margin-bottom: 10px;
+ border: none;
+}
+
+table.docutils td {
+ border: none;
+}
+
+table.docutils th {
+ border: none;
+ font-weight: bold;
+ vertical-align: top;
+}
+
+h2 em {
+ float: right;
+ font-size: 10px;
+ position: relative;
+ top: -20px;
+}
+
+/* Table of pymaemo components */
+
+#development table.docutils td {
+ border-bottom: 1px solid #EBEBEB;
+}
+
+#development th {
+ background-color: #EBEBEB;
+ color: #FC7E00;
+ padding: 5px;
+}
+
+#development th:first-child {
+ -moz-border-radius: 20px 0px 0px 0px;
+ -webkit-border-radius: 20px 0px 0px 0px;
+ -khtml-border-radius: 20px 0px 0px 0px;
+ padding-left: 10px;
+}
+#development th:last-child {
+ -moz-border-radius: 0px 20px 0px 0px;
+ -webkit-border-radius: 0px 20px 0px 0px;
+ -khtml-border-radius: 0px 20px 0px 0px;
+ padding-right: 10px;
+ width: 100px;
+}
+
+hr {
+ border: none;
+ border-bottom: 1px dashed #EBEBEB;
+ width: 70%
+}
+
+.oldnews {
+ text-align: right;
+}
+
+/******************* TOPO *****************************/
+#header {
+ background-image: url(bg_topo.jpg);
+ background-repeat: repeat-x;
+ height: 147px;
+}
+
+#header_container {
+ background-image: url(bg_header.png);
+ background-repeat: no-repeat;
+ background-position: 100px 0px;
+}
+
+#logo {
+ background-image: url(pysidelogo.png);
+ background-repeat: no-repeat;
+/* background-position: 0px 4px; */
+ height: 112px;
+}
+
+#search_box {
+ border-top: 1px solid #989898;
+ padding-top: 10px;
+ margin-left: -10px;
+ margin-right: -10px;
+ padding-left: 10px;
+ padding-right: 10px;
+}
+
+#search_button {
+ border: 1px solid #3A393A;
+ background-color: #3A393A;
+ color: white;
+ cursor: pointer;
+ -moz-border-radius: 5px;
+ -webkit-border-radius: 5px;
+ -khtml-border-radius: 5px;
+
+}
+
+form {
+ margin: 0px;
+ padding: 0px;
+}
+
+/* search field */
+form #q {
+ width: 136px;
+/* height: 22px; */
+ border: none;
+ margin: 0px;
+ -moz-border-radius: 5px;
+ -webkit-border-radius: 5px;
+ -khtml-border-radius: 5px;
+ margin-top: 2px;
+ padding: 4px;
+ line-height: 22px
+}
+
+#search-results h2 {
+ display: none;
+}
+
+#search-results h2 {
+ display: none;
+}
+
+#search-results ul.search {
+ margin: 0px;
+ padding: 0px;
+}
+
+ul.search div.context {
+ padding-left: 40px;
+}
+
+#installation td {
+ text-align: center;
+ font-weight: bold;
+}
+
+em {
+ color: inherit;
+ font-style:italic;
+}
+
+/******** REL bar *********/
+
+#relbar {
+ padding: 0px 10px 0px 10px;
+ margin: 0px;
+ text-align: left;
+ background-image: url(relbar_bg.png);
+}
+
+#relbar li {
+ display: inline;
+ color: white;
+ font-weight: bold;
+}
+
+#relbar li a {
+ color: inherit;
+ line-height: 35px;
+ font-weight: bold;
+ vertical-align: middle;
+}
+
+#relbar li.right {
+ float: right;
+ margin-right: 5px;
+}
+
+.align-center {
+ text-align: center;
+}
+
+.contentstable {
+ width: 100%;
+}
+
+.contentstable td {
+ padding-left: 30px;
+ vertical-align: top;
+}
+
+p.biglink a {
+ font-size: 20px;
+}
+
+dt:target, .highlight {
+ background-color: #fbe54e;
+}
+
+img {
+ border: 0px;
+}
+
+.figure .caption {
+ font-style:italic;
+}
+
+table.footnote {
+ margin: 0px;
+}
+
+#synopsis table, table.field-list {
+ margin: 0px;
+}
+
+tt.descname {
+ font-weight: bold;
+}
+
+dl.method {
+ border-top: 1px solid #c2c2c2;
+ margin-right: -100px;
+ position: relative;
+ left: -50px;
+ padding: 10px 50px 0px 50px;
+}
diff --git a/doc/_themes/pysidedocs/static/pysidelogo.png b/doc/_themes/pysidedocs/static/pysidelogo.png
new file mode 100644
index 0000000..076c105
--- /dev/null
+++ b/doc/_themes/pysidedocs/static/pysidelogo.png
Binary files differ
diff --git a/doc/_themes/pysidedocs/static/relbar_bg.png b/doc/_themes/pysidedocs/static/relbar_bg.png
new file mode 100644
index 0000000..4036733
--- /dev/null
+++ b/doc/_themes/pysidedocs/static/relbar_bg.png
Binary files differ
diff --git a/doc/_themes/pysidedocs/static/searchtools.js b/doc/_themes/pysidedocs/static/searchtools.js
new file mode 100644
index 0000000..e022625
--- /dev/null
+++ b/doc/_themes/pysidedocs/static/searchtools.js
@@ -0,0 +1,467 @@
+/**
+ * helper function to return a node containing the
+ * search summary for a given text. keywords is a list
+ * of stemmed words, hlwords is the list of normal, unstemmed
+ * words. the first one is used to find the occurance, the
+ * latter for highlighting it.
+ */
+
+jQuery.makeSearchSummary = function(text, keywords, hlwords) {
+ var textLower = text.toLowerCase();
+ var start = 0;
+ $.each(keywords, function() {
+ var i = textLower.indexOf(this.toLowerCase());
+ if (i > -1)
+ start = i;
+ });
+ start = Math.max(start - 120, 0);
+ var excerpt = ((start > 0) ? '...' : '') +
+ $.trim(text.substr(start, 240)) +
+ ((start + 240 - text.length) ? '...' : '');
+ var rv = $('<div class="context"></div>').text(excerpt);
+ $.each(hlwords, function() {
+ rv = rv.highlightText(this, 'highlight');
+ });
+ return rv;
+}
+
+/**
+ * Porter Stemmer
+ */
+var PorterStemmer = function() {
+
+ var step2list = {
+ ational: 'ate',
+ tional: 'tion',
+ enci: 'ence',
+ anci: 'ance',
+ izer: 'ize',
+ bli: 'ble',
+ alli: 'al',
+ entli: 'ent',
+ eli: 'e',
+ ousli: 'ous',
+ ization: 'ize',
+ ation: 'ate',
+ ator: 'ate',
+ alism: 'al',
+ iveness: 'ive',
+ fulness: 'ful',
+ ousness: 'ous',
+ aliti: 'al',
+ iviti: 'ive',
+ biliti: 'ble',
+ logi: 'log'
+ };
+
+ var step3list = {
+ icate: 'ic',
+ ative: '',
+ alize: 'al',
+ iciti: 'ic',
+ ical: 'ic',
+ ful: '',
+ ness: ''
+ };
+
+ var c = "[^aeiou]"; // consonant
+ var v = "[aeiouy]"; // vowel
+ var C = c + "[^aeiouy]*"; // consonant sequence
+ var V = v + "[aeiou]*"; // vowel sequence
+
+ var mgr0 = "^(" + C + ")?" + V + C; // [C]VC... is m>0
+ var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1
+ var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1
+ var s_v = "^(" + C + ")?" + v; // vowel in stem
+
+ this.stemWord = function (w) {
+ var stem;
+ var suffix;
+ var firstch;
+ var origword = w;
+
+ if (w.length < 3)
+ return w;
+
+ var re;
+ var re2;
+ var re3;
+ var re4;
+
+ firstch = w.substr(0,1);
+ if (firstch == "y")
+ w = firstch.toUpperCase() + w.substr(1);
+
+ // Step 1a
+ re = /^(.+?)(ss|i)es$/;
+ re2 = /^(.+?)([^s])s$/;
+
+ if (re.test(w))
+ w = w.replace(re,"$1$2");
+ else if (re2.test(w))
+ w = w.replace(re2,"$1$2");
+
+ // Step 1b
+ re = /^(.+?)eed$/;
+ re2 = /^(.+?)(ed|ing)$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ re = new RegExp(mgr0);
+ if (re.test(fp[1])) {
+ re = /.$/;
+ w = w.replace(re,"");
+ }
+ }
+ else if (re2.test(w)) {
+ var fp = re2.exec(w);
+ stem = fp[1];
+ re2 = new RegExp(s_v);
+ if (re2.test(stem)) {
+ w = stem;
+ re2 = /(at|bl|iz)$/;
+ re3 = new RegExp("([^aeiouylsz])\\1$");
+ re4 = new RegExp("^" + C + v + "[^aeiouwxy]$");
+ if (re2.test(w))
+ w = w + "e";
+ else if (re3.test(w)) {
+ re = /.$/;
+ w = w.replace(re,"");
+ }
+ else if (re4.test(w))
+ w = w + "e";
+ }
+ }
+
+ // Step 1c
+ re = /^(.+?)y$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ re = new RegExp(s_v);
+ if (re.test(stem))
+ w = stem + "i";
+ }
+
+ // Step 2
+ re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ suffix = fp[2];
+ re = new RegExp(mgr0);
+ if (re.test(stem))
+ w = stem + step2list[suffix];
+ }
+
+ // Step 3
+ re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ suffix = fp[2];
+ re = new RegExp(mgr0);
+ if (re.test(stem))
+ w = stem + step3list[suffix];
+ }
+
+ // Step 4
+ re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/;
+ re2 = /^(.+?)(s|t)(ion)$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ re = new RegExp(mgr1);
+ if (re.test(stem))
+ w = stem;
+ }
+ else if (re2.test(w)) {
+ var fp = re2.exec(w);
+ stem = fp[1] + fp[2];
+ re2 = new RegExp(mgr1);
+ if (re2.test(stem))
+ w = stem;
+ }
+
+ // Step 5
+ re = /^(.+?)e$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ re = new RegExp(mgr1);
+ re2 = new RegExp(meq1);
+ re3 = new RegExp("^" + C + v + "[^aeiouwxy]$");
+ if (re.test(stem) || (re2.test(stem) && !(re3.test(stem))))
+ w = stem;
+ }
+ re = /ll$/;
+ re2 = new RegExp(mgr1);
+ if (re.test(w) && re2.test(w)) {
+ re = /.$/;
+ w = w.replace(re,"");
+ }
+
+ // and turn initial Y back to y
+ if (firstch == "y")
+ w = firstch.toLowerCase() + w.substr(1);
+ return w;
+ }
+}
+
+
+/**
+ * Search Module
+ */
+var Search = {
+
+ _index : null,
+ _queued_query : null,
+ _pulse_status : -1,
+
+ init : function() {
+ var params = $.getQueryParameters();
+ if (params.q) {
+ var query = params.q[0];
+ $('input[name="q"]')[0].value = query;
+ this.performSearch(query);
+ }
+ },
+
+ /**
+ * Sets the index
+ */
+ setIndex : function(index) {
+ var q;
+ this._index = index;
+ if ((q = this._queued_query) !== null) {
+ this._queued_query = null;
+ Search.query(q);
+ }
+ },
+
+ hasIndex : function() {
+ return this._index !== null;
+ },
+
+ deferQuery : function(query) {
+ this._queued_query = query;
+ },
+
+ stopPulse : function() {
+ this._pulse_status = 0;
+ },
+
+ startPulse : function() {
+ if (this._pulse_status >= 0)
+ return;
+ function pulse() {
+ Search._pulse_status = (Search._pulse_status + 1) % 4;
+ var dotString = '';
+ for (var i = 0; i < Search._pulse_status; i++)
+ dotString += '.';
+ Search.dots.text(dotString);
+ if (Search._pulse_status > -1)
+ window.setTimeout(pulse, 500);
+ };
+ pulse();
+ },
+
+ /**
+ * perform a search for something
+ */
+ performSearch : function(query) {
+ // create the required interface elements
+ this.out = $('#search-results');
+ this.title = $('<h2>' + _('Searching') + '</h2>').appendTo(this.out);
+ this.dots = $('<span></span>').appendTo(this.title);
+ this.status = $('<p style="display: none"></p>').appendTo(this.out);
+ this.output = $('<ul class="search"/>').appendTo(this.out);
+
+ $('#search-progress').text(_('Preparing search...'));
+ this.startPulse();
+
+ // index already loaded, the browser was quick!
+ if (this.hasIndex())
+ this.query(query);
+ else
+ this.deferQuery(query);
+ },
+
+ query : function(query) {
+ // stem the searchterms and add them to the
+ // correct list
+ var stemmer = new PorterStemmer();
+ var searchterms = [];
+ var excluded = [];
+ var hlterms = [];
+ var tmp = query.split(/\s+/);
+ var object = (tmp.length == 1) ? tmp[0].toLowerCase() : null;
+ for (var i = 0; i < tmp.length; i++) {
+ // stem the word
+ var word = stemmer.stemWord(tmp[i]).toLowerCase();
+ // select the correct list
+ if (word[0] == '-') {
+ var toAppend = excluded;
+ word = word.substr(1);
+ }
+ else {
+ var toAppend = searchterms;
+ hlterms.push(tmp[i].toLowerCase());
+ }
+ // only add if not already in the list
+ if (!$.contains(toAppend, word))
+ toAppend.push(word);
+ };
+ var highlightstring = '?highlight=' + $.urlencode(hlterms.join(" "));
+
+ console.debug('SEARCH: searching for:');
+ console.info('required: ', searchterms);
+ console.info('excluded: ', excluded);
+
+ // prepare search
+ var filenames = this._index.filenames;
+ var titles = this._index.titles;
+ var terms = this._index.terms;
+ var descrefs = this._index.descrefs;
+ var modules = this._index.modules;
+ var desctypes = this._index.desctypes;
+ var fileMap = {};
+ var files = null;
+ var objectResults = [];
+ var regularResults = [];
+ $('#search-progress').empty();
+
+ // lookup as object
+ if (object != null) {
+ for (var module in modules) {
+ if (module.indexOf(object) > -1) {
+ fn = modules[module];
+ descr = _('module, in ') + titles[fn];
+ objectResults.push([filenames[fn], module, '#module-'+module, descr]);
+ }
+ }
+ for (var prefix in descrefs) {
+ for (var name in descrefs[prefix]) {
+ var fullname = (prefix ? prefix + '.' : '') + name;
+ if (fullname.toLowerCase().indexOf(object) > -1) {
+ match = descrefs[prefix][name];
+ descr = desctypes[match[1]] + _(', in ') + titles[match[0]];
+ objectResults.push([filenames[match[0]], fullname, '#'+fullname, descr]);
+ }
+ }
+ }
+ }
+
+ // sort results descending
+ objectResults.sort(function(a, b) {
+ return (a[1] > b[1]) ? -1 : ((a[1] < b[1]) ? 1 : 0);
+ });
+
+
+ // perform the search on the required terms
+ for (var i = 0; i < searchterms.length; i++) {
+ var word = searchterms[i];
+ // no match but word was a required one
+ if ((files = terms[word]) == null)
+ break;
+ if (files.length == undefined) {
+ files = [files];
+ }
+ // create the mapping
+ for (var j = 0; j < files.length; j++) {
+ var file = files[j];
+ if (file in fileMap)
+ fileMap[file].push(word);
+ else
+ fileMap[file] = [word];
+ }
+ }
+
+ // now check if the files don't contain excluded terms
+ for (var file in fileMap) {
+ var valid = true;
+
+ // check if all requirements are matched
+ if (fileMap[file].length != searchterms.length)
+ continue;
+
+ // ensure that none of the excluded terms is in the
+ // search result.
+ for (var i = 0; i < excluded.length; i++) {
+ if (terms[excluded[i]] == file ||
+ $.contains(terms[excluded[i]] || [], file)) {
+ valid = false;
+ break;
+ }
+ }
+
+ // if we have still a valid result we can add it
+ // to the result list
+ if (valid)
+ regularResults.push([filenames[file], titles[file], '', null]);
+ }
+
+ // delete unused variables in order to not waste
+ // memory until list is retrieved completely
+ delete filenames, titles, terms;
+
+ // now sort the regular results descending by title
+ regularResults.sort(function(a, b) {
+ var left = a[1].toLowerCase();
+ var right = b[1].toLowerCase();
+ return (left > right) ? -1 : ((left < right) ? 1 : 0);
+ });
+
+ // combine both
+ var results = regularResults.concat(objectResults);
+
+ // print the results
+ var resultCount = results.length;
+ function displayNextItem() {
+ // results left, load the summary and display it
+ if (results.length) {
+ var item = results.pop();
+ var listItem = $('<li style="display:none"></li>');
+ listItem.append($('<a/>').attr(
+ 'href',
+ item[0] + DOCUMENTATION_OPTIONS.FILE_SUFFIX +
+ highlightstring + item[2]).html(item[1]));
+ if (item[3]) {
+ listItem.append($('<span> (' + item[3] + ')</span>'));
+ Search.output.append(listItem);
+ listItem.slideDown(5, function() {
+ displayNextItem();
+ });
+ } else if (DOCUMENTATION_OPTIONS.HAS_SOURCE) {
+ $.get('_sources/' + item[0] + '.txt', function(data) {
+ listItem.append($.makeSearchSummary(data, searchterms, hlterms));
+ Search.output.append(listItem);
+ listItem.slideDown(5, function() {
+ displayNextItem();
+ });
+ });
+ } else {
+ // no source available, just display title
+ Search.output.append(listItem);
+ listItem.slideDown(5, function() {
+ displayNextItem();
+ });
+ }
+ }
+ // search finished, update title and status message
+ else {
+ Search.stopPulse();
+ Search.title.text(_('Search Results'));
+ if (!resultCount)
+ Search.status.text(_('Your search did not match any documents. Please make sure that all words are spelled correctly and that you\'ve selected enough categories.'));
+ else
+ Search.status.text(_('Search finished, found %s page(s) matching the search query.').replace('%s', resultCount));
+ Search.status.fadeIn(500);
+ }
+ }
+ displayNextItem();
+ }
+}
+
+$(document).ready(function() {
+ Search.init();
+});
diff --git a/doc/_themes/pysidedocs/theme.conf b/doc/_themes/pysidedocs/theme.conf
new file mode 100644
index 0000000..d1fe6d1
--- /dev/null
+++ b/doc/_themes/pysidedocs/theme.conf
@@ -0,0 +1,7 @@
+[theme]
+inherit = none
+stylesheet = basic.css
+pygments_style = none
+
+[options]
+nosidebar = false
diff --git a/doc/codesnippets/doc/src/snippets/accessibilityfactorysnippet.cpp b/doc/codesnippets/doc/src/snippets/accessibilityfactorysnippet.cpp
new file mode 100644
index 0000000..1bdeb98
--- /dev/null
+++ b/doc/codesnippets/doc/src/snippets/accessibilityfactorysnippet.cpp
@@ -0,0 +1,68 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial Usage
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtGui>
+
+//! [0]
+QAccessibleInterface *sliderFactory(const QString &classname, QObject *object)
+{
+ QAccessibleInterface *interface = 0;
+
+ if (classname == "QSlider" && object && object->isWidgetType())
+ interface = new SliderInterface(classname,
+ static_cast<QWidget *>(object));
+
+ return interface;
+}
+
+int main(int argv, char **args)
+{
+ QApplication app(argv, args);
+ QAccessible::installFactory(sliderFactory);
+//! [0]
+
+ QMainWindow mainWindow;
+ mainWindow.show();
+
+ return app.exec();
+//! [1]
+}
+//! [1]
diff --git a/doc/codesnippets/doc/src/snippets/accessibilitypluginsnippet.cpp b/doc/codesnippets/doc/src/snippets/accessibilitypluginsnippet.cpp
new file mode 100644
index 0000000..f2f509d
--- /dev/null
+++ b/doc/codesnippets/doc/src/snippets/accessibilitypluginsnippet.cpp
@@ -0,0 +1,75 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial Usage
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtGui>
+
+class SliderPlugin : public QAccessiblePlugin
+{
+public:
+ SliderPlugin() {}
+
+ QStringList keys() const;
+ QAccessibleInterface *create(const QString &classname, QObject *object);
+};
+
+//! [0]
+QStringList SliderPlugin::keys() const
+{
+ return QStringList() << "QSlider";
+}
+//! [0]
+
+//! [1]
+QAccessibleInterface *SliderPlugin::create(const QString &classname, QObject *object)
+{
+ QAccessibleInterface *interface = 0;
+
+ if (classname == "QSlider" && object && object->isWidgetType())
+ interface = new AccessibleSlider(classname, static_cast<QWidget *>(object));
+
+ return interface;
+}
+//! [1]
+
+//! [2]
+Q_EXPORT_STATIC_PLUGIN(SliderPlugin)
+Q_EXPORT_PLUGIN2(acc_sliderplugin, SliderPlugin)
+//! [2]
diff --git a/doc/codesnippets/doc/src/snippets/accessibilityslidersnippet.cpp b/doc/codesnippets/doc/src/snippets/accessibilityslidersnippet.cpp
new file mode 100644
index 0000000..d14d40d
--- /dev/null
+++ b/doc/codesnippets/doc/src/snippets/accessibilityslidersnippet.cpp
@@ -0,0 +1,262 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial Usage
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+
+//! [0]
+QAccessibleSlider::QAccessibleSlider(QWidget *w)
+: QAccessibleAbstractSlider(w)
+{
+ Q_ASSERT(slider());
+ addControllingSignal(QLatin1String("valueChanged(int)"));
+}
+//! [0]
+
+QSlider *QAccessibleSlider::slider() const
+{
+ return qobject_cast<QSlider*>(object());
+}
+
+//! [1]
+QRect QAccessibleSlider::rect(int child) const
+{
+//! [1]
+ QRect rect;
+ if (!slider()->isVisible())
+ return rect;
+ const QStyleOptionSlider option = qt_qsliderStyleOption(slider());
+ QRect srect = slider()->style()->subControlRect(QStyle::CC_Slider, &option,
+ QStyle::SC_SliderHandle, slider());
+
+//! [2]
+ switch (child) {
+ case PageLeft:
+ if (slider()->orientation() == Qt::Vertical)
+ rect = QRect(0, 0, slider()->width(), srect.y());
+ else
+ rect = QRect(0, 0, srect.x(), slider()->height());
+ break;
+ case Position:
+ rect = srect;
+ break;
+ case PageRight:
+ if (slider()->orientation() == Qt::Vertical)
+ rect = QRect(0, srect.y() + srect.height(), slider()->width(), slider()->height()- srect.y() - srect.height());
+ else
+ rect = QRect(srect.x() + srect.width(), 0, slider()->width() - srect.x() - srect.width(), slider()->height());
+ break;
+ default:
+ return QAccessibleAbstractSlider::rect(child);
+ }
+//! [2] //! [3]
+
+ QPoint tp = slider()->mapToGlobal(QPoint(0,0));
+ return QRect(tp.x() + rect.x(), tp.y() + rect.y(), rect.width(), rect.height());
+}
+//! [3]
+
+int QAccessibleSlider::childCount() const
+{
+ if (!slider()->isVisible())
+ return 0;
+ return PageRight;
+}
+
+//! [4]
+QString QAccessibleSlider::text(Text t, int child) const
+{
+ if (!slider()->isVisible())
+ return QString();
+ switch (t) {
+ case Value:
+ if (!child || child == 2)
+ return QString::number(slider()->value());
+ return QString();
+ case Name:
+ switch (child) {
+ case PageLeft:
+ return slider()->orientation() == Qt::Horizontal ?
+ QSlider::tr("Page left") : QSlider::tr("Page up");
+ case Position:
+ return QSlider::tr("Position");
+ case PageRight:
+ return slider()->orientation() == Qt::Horizontal ?
+ QSlider::tr("Page right") : QSlider::tr("Page down");
+ }
+ break;
+ default:
+ break;
+ }
+ return QAccessibleAbstractSlider::text(t, child);
+}
+//! [4]
+
+//! [5]
+QAccessible::Role QAccessibleSlider::role(int child) const
+{
+ switch (child) {
+ case PageLeft:
+ case PageRight:
+ return PushButton;
+ case Position:
+ return Indicator;
+ default:
+ return Slider;
+ }
+}
+//! [5]
+
+//! [6]
+QAccessible::State QAccessibleSlider::state(int child) const
+{
+ const State parentState = QAccessibleAbstractSlider::state(0);
+//! [6]
+
+ if (child == 0)
+ return parentState;
+
+ // Inherit the Invisible state from parent.
+ State state = parentState & QAccessible::Invisible;
+
+ // Disable left/right if we are at the minimum/maximum.
+ const QSlider * const slider = QAccessibleSlider::slider();
+//! [7]
+ switch (child) {
+ case PageLeft:
+ if (slider->value() <= slider->minimum())
+ state |= Unavailable;
+ break;
+ case PageRight:
+ if (slider->value() >= slider->maximum())
+ state |= Unavailable;
+ break;
+ case Position:
+ default:
+ break;
+ }
+
+ return state;
+}
+//! [7]
+
+int QAccessibleSlider::defaultAction(int child) const
+{
+ switch (child) {
+ case SliderSelf:
+ return SetFocus;
+ case PageLeft:
+ return Press;
+ case PageRight:
+ return Press;
+ }
+
+ return 0;
+}
+
+// Name, Description, Value, Help, Accelerator
+static const char * const actionTexts[][5] =
+{
+ {"Press", "Decreases the value of the slider", "", "", "Ctrl+L"},
+ {"Press", "Increaces the value of the slider", "", "", "Ctrl+R"}
+};
+
+QString QAccessibleSlider::actionText(int action, Text text, int child) const
+{
+ if (action != Press || child < 1 || child > 2)
+ return QAccessibleAbstractSlider::actionText(action, text, child);
+
+ return actionTexts[child - 1][t];
+}
+
+bool QAccessibleSlider::doAction(int action, int child)
+{
+ if (action != Press || child < 1 || child > 2)
+ return false;
+
+ if (child == PageLeft)
+ slider()->setValue(slider()->value() - slider()->pageStep());
+ else
+ slider()->setValue(slider()->value() + slider()->pageStep());
+}
+
+QAccessibleAbstractSlider::QAccessibleAbstractSlider(QWidget *w, Role r)
+ : QAccessibleWidgetEx(w, r)
+{
+ Q_ASSERT(qobject_cast<QAbstractSlider *>(w));
+}
+
+QVariant QAccessibleAbstractSlider::invokeMethodEx(Method method, int child, const QVariantList &params)
+{
+ switch (method) {
+ case ListSupportedMethods: {
+ QSet<QAccessible::Method> set;
+ set << ListSupportedMethods;
+ return qVariantFromValue(set | qvariant_cast<QSet<QAccessible::Method> >(
+ QAccessibleWidgetEx::invokeMethodEx(method, child, params)));
+ }
+ default:
+ return QAccessibleWidgetEx::invokeMethodEx(method, child, params);
+ }
+}
+
+QVariant QAccessibleAbstractSlider::currentValue()
+{
+ return abstractSlider()->value();
+}
+
+void QAccessibleAbstractSlider::setCurrentValue(const QVariant &value)
+{
+ abstractSlider()->setValue(value.toInt());
+}
+
+QVariant QAccessibleAbstractSlider::maximumValue()
+{
+ return abstractSlider()->maximum();
+}
+
+QVariant QAccessibleAbstractSlider::minimumValue()
+{
+ return abstractSlider()->minimum();
+}
+
+QAbstractSlider *QAccessibleAbstractSlider::abstractSlider() const
+{
+ return static_cast<QAbstractSlider *>(object());
+}
diff --git a/doc/codesnippets/doc/src/snippets/alphachannel.cpp b/doc/codesnippets/doc/src/snippets/alphachannel.cpp
new file mode 100644
index 0000000..c414684
--- /dev/null
+++ b/doc/codesnippets/doc/src/snippets/alphachannel.cpp
@@ -0,0 +1,55 @@
+############################################################################
+##
+## Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+## Contact: Nokia Corporation (qt-info@nokia.com)
+##
+## This file is part of the documentation of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL$
+## Commercial Usage
+## Licensees holding valid Qt Commercial licenses may use self file in
+## accordance with the Qt Commercial License Agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and Nokia.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, self file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 as published by the Free Software
+## Foundation and appearing in the file LICENSE.LGPL included in the
+## packaging of self file. Please review the following information to
+## ensure the GNU Lesser General Public License version 2.1 requirements
+## will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## In addition, as a special exception, Nokia gives you certain
+## additional rights. These rights are described in the Nokia Qt LGPL
+## Exception version 1.0, included in the file LGPL_EXCEPTION.txt in self
+## package.
+##
+## GNU General Public License Usage
+## Alternatively, self file may be used under the terms of the GNU
+## General Public License version 3.0 as published by the Free Software
+## Foundation and appearing in the file LICENSE.GPL included in the
+## packaging of self file. Please review the following information to
+## ensure the GNU General Public License version 3.0 requirements will be
+## met: http://www.gnu.org/copyleft/gpl.html.
+##
+## If you are unsure which license is appropriate for your use, please
+## contact the sales department at http://www.qtsoftware.com/contact.
+## $QT_END_LICENSE$
+##
+############################################################################
+
+//! [0]
+ pixmap = QPixmap(100, 100)
+ pixmap.fill(Qt.transparent)
+
+ gradient = QRadialGradient(50, 50, 50, 50, 50)
+ gradient.setColorAt(0, QColor.fromRgbF(1, 0, 0, 1))
+ gradient.setColorAt(1, QColor.fromRgbF(0, 0, 0, 0))
+ painter = QPainter(pixmap)
+ painter.fillRect(0, 0, 100, 100, gradient)
+
+ channelImage = pixmap.alphaChannel()
+ update()
+//! [0]
+
diff --git a/doc/codesnippets/doc/src/snippets/audioeffects.cpp b/doc/codesnippets/doc/src/snippets/audioeffects.cpp
new file mode 100644
index 0000000..febf349
--- /dev/null
+++ b/doc/codesnippets/doc/src/snippets/audioeffects.cpp
@@ -0,0 +1,42 @@
+#include <QtGui>
+
+#include <phonon/audiooutput.h>
+#include <phonon/mediaobject.h>
+#include <phonon/backendcapabilities.h>
+#include <phonon/effect.h>
+#include <phonon/effectwidget.h>
+
+
+int main(int argv, char **args)
+{
+ QApplication app(argv, args);
+ app.setApplicationName("Audio effect tester");
+
+ Phonon::MediaObject *mediaObject = new Phonon::MediaObject;
+ mediaObject->setCurrentSource(QString("/home/gvatteka/Music/Lumme-Badloop.ogg"));
+
+ Phonon::AudioOutput *audioOutput =
+ new Phonon::AudioOutput(Phonon::MusicCategory);
+
+//! [0]
+ QList<Phonon::EffectDescription> effectDescriptions =
+ Phonon::BackendCapabilities::availableAudioEffects();
+ Phonon::EffectDescription effectDescription = effectDescriptions.at(4);
+
+ Phonon::Path path = Phonon::createPath(mediaObject, audioOutput);
+
+//! [1]
+ Phonon::Effect *effect = new Phonon::Effect(effectDescription);
+ path.insertEffect(effect);
+//! [0]
+
+ Phonon::EffectWidget *effectWidget = new Phonon::EffectWidget(effect);
+ effectWidget->show();
+//! [1]
+
+ mediaObject->play();
+
+ effectWidget->setWindowTitle("Effect Name: " + effectDescription.name());
+
+ app.exec();
+}
diff --git a/doc/codesnippets/doc/src/snippets/brush/brush.cpp b/doc/codesnippets/doc/src/snippets/brush/brush.cpp
new file mode 100644
index 0000000..e891af2
--- /dev/null
+++ b/doc/codesnippets/doc/src/snippets/brush/brush.cpp
@@ -0,0 +1,87 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial Usage
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtGui>
+
+int main()
+{
+ QWidget anyPaintDevice;
+ {
+ // PEN SNIPPET
+ QPainter painter;
+ QPen pen(Qt::red, 2); // red solid line, 2 pixels wide
+ painter.begin(&anyPaintDevice); // paint something
+ painter.setPen(pen); // set the red, wide pen
+ painter.drawRect(40,30, 200,100); // draw a rectangle
+ painter.setPen(Qt::blue); // set blue pen, 0 pixel width
+ painter.drawLine(40,30, 240,130); // draw a diagonal in rectangle
+ painter.end(); // painting done
+ }
+
+ {
+ // BRUSH SNIPPET
+ QPainter painter;
+ QBrush brush(Qt::yellow); // yellow solid pattern
+ painter.begin(&anyPaintDevice); // paint something
+ painter.setBrush(brush); // set the yellow brush
+ painter.setPen(Qt::NoPen); // do not draw outline
+ painter.drawRect(40,30, 200,100); // draw filled rectangle
+ painter.setBrush(Qt::NoBrush); // do not fill
+ painter.setPen(Qt::black); // set black pen, 0 pixel width
+ painter.drawRect(10,10, 30,20); // draw rectangle outline
+ painter.end(); // painting done
+ }
+
+ // LINEAR
+//! [0]
+ linearGrad = QLinearGradient(QPointF(100, 100), QPointF(200, 200))
+ linearGrad.setColorAt(0, Qt.black)
+ linearGrad.setColorAt(1, Qt.white)
+//! [0]
+
+ // RADIAL
+//! [1]
+ radialGrad = QRadialGradient(QPointF(100, 100), 100)
+ radialGrad.setColorAt(0, Qt.red)
+ radialGrad.setColorAt(0.5, Qt.blue)
+ radialGrad.setColorAt(1, Qt.green)
+//! [1]
+}
diff --git a/doc/codesnippets/doc/src/snippets/brush/brush.pro b/doc/codesnippets/doc/src/snippets/brush/brush.pro
new file mode 100644
index 0000000..6a5f0da
--- /dev/null
+++ b/doc/codesnippets/doc/src/snippets/brush/brush.pro
@@ -0,0 +1 @@
+SOURCES += brush.cpp
diff --git a/doc/codesnippets/doc/src/snippets/brush/gradientcreationsnippet.cpp b/doc/codesnippets/doc/src/snippets/brush/gradientcreationsnippet.cpp
new file mode 100644
index 0000000..8726a01
--- /dev/null
+++ b/doc/codesnippets/doc/src/snippets/brush/gradientcreationsnippet.cpp
@@ -0,0 +1,63 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial Usage
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtGui>
+
+int main(int argv, char **args)
+{
+ QApplication app(argv, args);
+
+//! [0]
+ gradient = QRadialGradient gradient(50, 50, 50, 50, 50)
+ gradient.setColorAt(0, QColor.fromRgbF(0, 1, 0, 1))
+ gradient.setColorAt(1, QColor.fromRgbF(0, 0, 0, 0))
+
+ brush = QBrush(gradient)
+//! [0]
+
+ QWidget widget;
+ QPalette palette;
+ palette.setBrush(widget.backgroundRole(), brush);
+ widget.setPalette(palette);
+ widget.show();
+
+ return app.exec();
+}
diff --git a/doc/codesnippets/doc/src/snippets/brushstyles/brushstyles.pro b/doc/codesnippets/doc/src/snippets/brushstyles/brushstyles.pro
new file mode 100644
index 0000000..80de531
--- /dev/null
+++ b/doc/codesnippets/doc/src/snippets/brushstyles/brushstyles.pro
@@ -0,0 +1,12 @@
+######################################################################
+# Automatically generated by qmake (2.00a) Wed Dec 14 11:46:57 2005
+######################################################################
+
+TEMPLATE = app
+TARGET +=
+DEPENDPATH += .
+INCLUDEPATH += .
+
+# Input
+HEADERS += renderarea.h stylewidget.h
+SOURCES += main.cpp renderarea.cpp stylewidget.cpp
diff --git a/doc/codesnippets/doc/src/snippets/brushstyles/main.cpp b/doc/codesnippets/doc/src/snippets/brushstyles/main.cpp
new file mode 100644
index 0000000..021c7ad
--- /dev/null
+++ b/doc/codesnippets/doc/src/snippets/brushstyles/main.cpp
@@ -0,0 +1,52 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial Usage
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QApplication>
+
+#include "stylewidget.h"
+
+int main(int argc, char *argv[])
+{
+ QApplication app(argc, argv);
+ StyleWidget widget;
+ widget.show();
+ return app.exec();
+}
diff --git a/doc/codesnippets/doc/src/snippets/brushstyles/qt-logo.png b/doc/codesnippets/doc/src/snippets/brushstyles/qt-logo.png
new file mode 100644
index 0000000..2dc6716
--- /dev/null
+++ b/doc/codesnippets/doc/src/snippets/brushstyles/qt-logo.png
Binary files differ
diff --git a/doc/codesnippets/doc/src/snippets/brushstyles/renderarea.cpp b/doc/codesnippets/doc/src/snippets/brushstyles/renderarea.cpp
new file mode 100644
index 0000000..408b091
--- /dev/null
+++ b/doc/codesnippets/doc/src/snippets/brushstyles/renderarea.cpp
@@ -0,0 +1,79 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial Usage
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtGui>
+
+#include "renderarea.h"
+
+RenderArea::RenderArea(QBrush *brush, QWidget *parent)
+ : QWidget(parent)
+{
+ currentBrush = brush;
+}
+
+QSize RenderArea::minimumSizeHint() const
+{
+ return QSize(120, 60);
+}
+
+void RenderArea::paintEvent(QPaintEvent *)
+{
+ QPainter painter(this);
+ painter.setPen(Qt::NoPen);
+ painter.setRenderHint(QPainter::Antialiasing);
+
+
+ if(currentBrush->style() == Qt::LinearGradientPattern) {
+ currentBrush = new QBrush(QLinearGradient(0, 0, width(), 60));
+ } else if(currentBrush->style() == Qt::RadialGradientPattern) {
+ QRadialGradient radial(width() / 2, 30, width() / 2, width() / 2, 30);
+ radial.setColorAt(0, Qt::white);
+ radial.setColorAt(1, Qt::black);
+ currentBrush = new QBrush(radial);
+ } else if(currentBrush->style() == Qt::ConicalGradientPattern) {
+ currentBrush = new QBrush(QConicalGradient(width() / 2, 30, 90));
+ }
+ painter.setBrush(*currentBrush);
+
+ QPainterPath path;
+ path.addRect(0, 0, parentWidget()->width(), 60);
+ painter.drawPath(path);
+}
diff --git a/doc/codesnippets/doc/src/snippets/brushstyles/renderarea.h b/doc/codesnippets/doc/src/snippets/brushstyles/renderarea.h
new file mode 100644
index 0000000..4e25413
--- /dev/null
+++ b/doc/codesnippets/doc/src/snippets/brushstyles/renderarea.h
@@ -0,0 +1,62 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial Usage
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef RENDERAREA_H
+#define RENDERAREA_H
+
+#include <QWidget>
+
+class RenderArea : public QWidget
+{
+ Q_OBJECT
+
+public:
+ RenderArea(QBrush *brush, QWidget *parent = 0);
+ QSize minimumSizeHint() const;
+
+protected:
+ void paintEvent(QPaintEvent *event);
+
+private:
+ QBrush *currentBrush;
+};
+
+#endif
diff --git a/doc/codesnippets/doc/src/snippets/brushstyles/stylewidget.cpp b/doc/codesnippets/doc/src/snippets/brushstyles/stylewidget.cpp
new file mode 100644
index 0000000..54ed8c5
--- /dev/null
+++ b/doc/codesnippets/doc/src/snippets/brushstyles/stylewidget.cpp
@@ -0,0 +1,145 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial Usage
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtGui>
+
+#include "stylewidget.h"
+
+StyleWidget::StyleWidget(QWidget *parent)
+ : QWidget(parent)
+{
+ solid = new RenderArea(new QBrush(Qt::SolidPattern));
+ dense1 = new RenderArea(new QBrush(Qt::Dense1Pattern));
+ dense2 = new RenderArea(new QBrush(Qt::Dense2Pattern));
+ dense3 = new RenderArea(new QBrush(Qt::Dense3Pattern));
+ dense4 = new RenderArea(new QBrush(Qt::Dense4Pattern));
+ dense5 = new RenderArea(new QBrush(Qt::Dense5Pattern));
+ dense6 = new RenderArea(new QBrush(Qt::Dense6Pattern));
+ dense7 = new RenderArea(new QBrush(Qt::Dense7Pattern));
+ no = new RenderArea(new QBrush(Qt::NoBrush));
+ hor = new RenderArea(new QBrush(Qt::HorPattern));
+ ver = new RenderArea(new QBrush(Qt::VerPattern));
+ cross = new RenderArea(new QBrush(Qt::CrossPattern));
+ bdiag = new RenderArea(new QBrush(Qt::BDiagPattern));
+ fdiag = new RenderArea(new QBrush(Qt::FDiagPattern));
+ diagCross = new RenderArea(new QBrush(Qt::DiagCrossPattern));
+ linear = new RenderArea(new QBrush(QLinearGradient()));
+ radial = new RenderArea(new QBrush(QRadialGradient()));
+ conical = new RenderArea(new QBrush(QConicalGradient()));
+ texture = new RenderArea(new QBrush(QPixmap("qt-logo.png")));
+
+ solidLabel = new QLabel("Qt::SolidPattern");
+ dense1Label = new QLabel("Qt::Dense1Pattern");
+ dense2Label = new QLabel("Qt::Dense2Pattern");
+ dense3Label = new QLabel("Qt::Dense3Pattern");
+ dense4Label = new QLabel("Qt::Dense4Pattern");
+ dense5Label = new QLabel("Qt::Dense5Pattern");
+ dense6Label = new QLabel("Qt::Dense6Pattern");
+ dense7Label = new QLabel("Qt::Dense7Pattern");
+ noLabel = new QLabel("Qt::NoPattern");
+ horLabel = new QLabel("Qt::HorPattern");
+ verLabel = new QLabel("Qt::VerPattern");
+ crossLabel = new QLabel("Qt::CrossPattern");
+ bdiagLabel = new QLabel("Qt::BDiagPattern");
+ fdiagLabel = new QLabel("Qt::FDiagPattern");
+ diagCrossLabel = new QLabel("Qt::DiagCrossPattern");
+ linearLabel = new QLabel("Qt::LinearGradientPattern");
+ radialLabel = new QLabel("Qt::RadialGradientPattern");
+ conicalLabel = new QLabel("Qt::ConicalGradientPattern");
+ textureLabel = new QLabel("Qt::TexturePattern");
+
+ QGridLayout *layout = new QGridLayout;
+ layout->addWidget(solid, 0, 0);
+ layout->addWidget(dense1, 0, 1);
+ layout->addWidget(dense2, 0, 2);
+ layout->addWidget(solidLabel, 1, 0);
+ layout->addWidget(dense1Label, 1, 1);
+ layout->addWidget(dense2Label, 1, 2);
+
+ layout->addWidget(dense3, 2, 0 );
+ layout->addWidget(dense4, 2, 1);
+ layout->addWidget(dense5, 2, 2);
+ layout->addWidget(dense3Label, 3, 0);
+ layout->addWidget(dense4Label, 3, 1);
+ layout->addWidget(dense5Label, 3, 2);
+
+ layout->addWidget(dense6, 4, 0);
+ layout->addWidget(dense7, 4, 1);
+ layout->addWidget(no, 4, 2);
+ layout->addWidget(dense6Label, 5, 0);
+ layout->addWidget(dense7Label, 5, 1);
+ layout->addWidget(noLabel, 5, 2);
+
+ layout->addWidget(hor, 6, 0);
+ layout->addWidget(ver, 6, 1);
+ layout->addWidget(cross, 6, 2);
+ layout->addWidget(horLabel, 7, 0);
+ layout->addWidget(verLabel, 7, 1);
+ layout->addWidget(crossLabel, 7, 2);
+
+ layout->addWidget(bdiag, 8, 0);
+ layout->addWidget(fdiag, 8, 1);
+ layout->addWidget(diagCross, 8, 2);
+ layout->addWidget(bdiagLabel, 9, 0);
+ layout->addWidget(fdiagLabel, 9, 1);
+ layout->addWidget(diagCrossLabel, 9, 2);
+
+ layout->addWidget(linear, 10, 0);
+ layout->addWidget(radial, 10, 1);
+ layout->addWidget(conical, 10, 2);
+ layout->addWidget(linearLabel, 11, 0);
+ layout->addWidget(radialLabel, 11, 1);
+ layout->addWidget(conicalLabel, 11, 2);
+
+ layout->addWidget(texture, 12, 0, 1, 3);
+ layout->addWidget(textureLabel, 13, 0, 1, 3);
+
+ setLayout(layout);
+
+ QPalette newPalette = palette();
+ newPalette.setColor(QPalette::Window, Qt::white);
+ setPalette(newPalette);
+
+ setWindowTitle(tr("Brush Styles"));
+ resize(430, 605);
+}
+
+
diff --git a/doc/codesnippets/doc/src/snippets/brushstyles/stylewidget.h b/doc/codesnippets/doc/src/snippets/brushstyles/stylewidget.h
new file mode 100644
index 0000000..18aa6dd
--- /dev/null
+++ b/doc/codesnippets/doc/src/snippets/brushstyles/stylewidget.h
@@ -0,0 +1,99 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial Usage
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef STYLEWIDGET_H
+#define STYLEWIDGET_H
+
+#include <QWidget>
+#include <QPainterPath>
+#include "renderarea.h"
+
+class QLabel;
+
+class StyleWidget : public QWidget
+{
+ Q_OBJECT
+
+public:
+ StyleWidget(QWidget *parent = 0);
+
+private:
+ RenderArea *solid;
+ RenderArea *dense1;
+ RenderArea *dense2;
+ RenderArea *dense3;
+ RenderArea *dense4;
+ RenderArea *dense5;
+ RenderArea *dense6;
+ RenderArea *dense7;
+ RenderArea *no;
+ RenderArea *hor;
+ RenderArea *ver;
+ RenderArea *cross;
+ RenderArea *bdiag;
+ RenderArea *fdiag;
+ RenderArea *diagCross;
+ RenderArea *linear;
+ RenderArea *radial;
+ RenderArea *conical;
+ RenderArea *texture;
+
+ QLabel *solidLabel;
+ QLabel *dense1Label;
+ QLabel *dense2Label;
+ QLabel *dense3Label;
+ QLabel *dense4Label;
+ QLabel *dense5Label;
+ QLabel *dense6Label;
+ QLabel *dense7Label;
+ QLabel *noLabel;
+ QLabel *horLabel;
+ QLabel *verLabel;
+ QLabel *crossLabel;
+ QLabel *bdiagLabel;
+ QLabel *fdiagLabel;
+ QLabel *diagCrossLabel;
+ QLabel *linearLabel;
+ QLabel *radialLabel;
+ QLabel *conicalLabel;
+ QLabel *textureLabel;
+};
+#endif
diff --git a/doc/codesnippets/doc/src/snippets/buffer/buffer.cpp b/doc/codesnippets/doc/src/snippets/buffer/buffer.cpp
new file mode 100644
index 0000000..dc3a0d5
--- /dev/null
+++ b/doc/codesnippets/doc/src/snippets/buffer/buffer.cpp
@@ -0,0 +1,124 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial Usage
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QApplication>
+#include <QBuffer>
+#include <QPalette>
+
+static void main_snippet()
+{
+//! [0]
+ buffer = QBuffer()
+
+ buffer.open(QBuffer.ReadWrite)
+ buffer.write("Qt rocks!")
+ buffer.seek(0)
+ ch = buffer.getChar() # ch == 'Q'
+ ch = buffer.getChar() # ch == 't'
+ ch = buffer.getChar() # ch == ' '
+ ch = buffer.getChar() # ch == 'r'
+//! [0]
+}
+
+static void write_datastream_snippets()
+{
+//! [1]
+ byteArray = QByteArray()
+ buffer = QBuffer(byteArray)
+ buffer.open(QIODevice.WriteOnly)
+
+ out = QDataStream(buffer)
+ out << QApplication.palette()
+//! [1]
+}
+
+static void read_datastream_snippets()
+{
+ QByteArray byteArray;
+
+//! [2]
+ palette = QPalette()
+ buffer = QBuffer(byteArray)
+ buffer.open(QIODevice.ReadOnly)
+
+ in = QDataStream(buffer)
+ in >> palette
+//! [2]
+}
+
+static void bytearray_ptr_ctor_snippet()
+{
+//! [3]
+ byteArray = QByteArray("abc")
+ buffer = QBuffer(byteArray)
+ buffer.open(QIODevice.WriteOnly)
+ buffer.seek(3)
+ buffer.write("def")
+ buffer.close()
+ # byteArray == "abcdef"
+//! [3]
+}
+
+static void setBuffer_snippet()
+{
+//! [4]
+ byteArray = QByteArray("abc")
+ buffer = QBuffer()
+ buffer.setBuffer(byteArray)
+ buffer.open(QIODevice.WriteOnly)
+ buffer.seek(3)
+ buffer.write("def")
+ buffer.close()
+ # byteArray == "abcdef"
+//! [4]
+}
+
+int main(int argc, char *argv[])
+{
+ QApplication app(argc, argv);
+
+ main_snippet();
+ bytearray_ptr_ctor_snippet();
+ write_datastream_snippets();
+ read_datastream_snippets();
+ setBuffer_snippet();
+ return 0;
+}
diff --git a/doc/codesnippets/doc/src/snippets/buffer/buffer.pro b/doc/codesnippets/doc/src/snippets/buffer/buffer.pro
new file mode 100644
index 0000000..87eab9f
--- /dev/null
+++ b/doc/codesnippets/doc/src/snippets/buffer/buffer.pro
@@ -0,0 +1,14 @@
+######################################################################
+# Automatically generated by qmake (1.08a) Tue Jan 4 13:19:41 2005
+######################################################################
+
+TEMPLATE = app
+CONFIG -= moc
+DEPENDPATH += .
+INCLUDEPATH += .
+
+# Input
+SOURCES += buffer.cpp
+CONFIG += qt warn_on debug create_prl link_prl
+OBJECTS_DIR=.obj/debug-shared
+MOC_DIR=.moc/debug-shared
diff --git a/doc/codesnippets/doc/src/snippets/clipboard/clipboard.pro b/doc/codesnippets/doc/src/snippets/clipboard/clipboard.pro
new file mode 100644
index 0000000..a26fea6
--- /dev/null
+++ b/doc/codesnippets/doc/src/snippets/clipboard/clipboard.pro
@@ -0,0 +1,3 @@
+HEADERS = clipwindow.h
+SOURCES = clipwindow.cpp \
+ main.cpp
diff --git a/doc/codesnippets/doc/src/snippets/clipboard/clipwindow.cpp b/doc/codesnippets/doc/src/snippets/clipboard/clipwindow.cpp
new file mode 100644
index 0000000..5331818
--- /dev/null
+++ b/doc/codesnippets/doc/src/snippets/clipboard/clipwindow.cpp
@@ -0,0 +1,97 @@
+############################################################################
+##
+## Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+## Contact: Nokia Corporation (qt-info@nokia.com)
+##
+## This file is part of the documentation of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL$
+## Commercial Usage
+## Licensees holding valid Qt Commercial licenses may use self file in
+## accordance with the Qt Commercial License Agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and Nokia.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, self file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 as published by the Free Software
+## Foundation and appearing in the file LICENSE.LGPL included in the
+## packaging of self file. Please review the following information to
+## ensure the GNU Lesser General Public License version 2.1 requirements
+## will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## In addition, as a special exception, Nokia gives you certain
+## additional rights. These rights are described in the Nokia Qt LGPL
+## Exception version 1.0, included in the file LGPL_EXCEPTION.txt in self
+## package.
+##
+## GNU General Public License Usage
+## Alternatively, self file may be used under the terms of the GNU
+## General Public License version 3.0 as published by the Free Software
+## Foundation and appearing in the file LICENSE.GPL included in the
+## packaging of self file. Please review the following information to
+## ensure the GNU General Public License version 3.0 requirements will be
+## met: http://www.gnu.org/copyleft/gpl.html.
+##
+## If you are unsure which license is appropriate for your use, please
+## contact the sales department at http://www.qtsoftware.com/contact.
+## $QT_END_LICENSE$
+##
+############################################################################
+
+form PySide.QtGui import *
+
+
+def __init__(self, parent):
+ QMainWindow.__init__(self, parent)
+ clipboard = QApplication.clipboard()
+
+ centralWidget = QWidget(self)
+ currentItem = QWidget(centralWidget)
+ mimeTypeLabel = QLabel(tr("MIME types:"), currentItem)
+ mimeTypeCombo = QComboBox(currentItem)
+ dataLabel = QLabel(tr("Data:"), currentItem)
+ dataInfoLabel = QLabel("", currentItem)
+
+ previousItems = QListWidget(centralWidget)
+
+//! [0]
+ connect(clipboard, SIGNAL("dataChanged()"), self, SLOT("updateClipboard()"))
+//! [0]
+ connect(mimeTypeCombo, SIGNAL("activated(const QString &)"),
+ self, SLOT("updateData(const QString &))")
+
+ currentLayout = QVBoxLayout(currentItem)
+ currentLayout.addWidget(mimeTypeLabel)
+ currentLayout.addWidget(mimeTypeCombo)
+ currentLayout.addWidget(dataLabel)
+ currentLayout.addWidget(dataInfoLabel)
+ currentLayout.addStretch(1)
+
+ mainLayout = QHBoxLayout(centralWidget)
+ mainLayout.addWidget(currentItem, 1)
+ mainLayout.addWidget(previousItems)
+
+ setCentralWidget(centralWidget)
+ setWindowTitle(tr("Clipboard"))
+
+//! [1]
+def updateClipboard(self):
+ formats = clipboard.mimeData().formats()
+ data = clipboard.mimeData().data(format)
+//! [1]
+
+ mimeTypeCombo.clear()
+ mimeTypeCombo.insertStringList(formats)
+
+ size = clipboard.mimeData().data(formats[0]).size()
+ Item = QListWidgetItem(previousItems)
+ Item.setText(tr("%1 (%2 bytes)").arg(formats[0]).arg(size))
+
+ updateData(formats[0])
+//! [2]
+//! [2]
+
+def updateData(self, format)
+ data = clipboard.mimeData().data(format)
+ dataInfoLabel.setText(tr("%1 bytes").arg(data.size()))
diff --git a/doc/codesnippets/doc/src/snippets/clipboard/clipwindow.h b/doc/codesnippets/doc/src/snippets/clipboard/clipwindow.h
new file mode 100644
index 0000000..82de301
--- /dev/null
+++ b/doc/codesnippets/doc/src/snippets/clipboard/clipwindow.h
@@ -0,0 +1,73 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial Usage
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef CLIPWINDOW_H
+#define CLIPWINDOW_H
+
+#include <QMainWindow>
+
+class QClipboard;
+class QComboBox;
+class QLabel;
+class QListWidget;
+class QMimeData;
+class QWidget;
+
+class ClipWindow : public QMainWindow
+{
+ Q_OBJECT
+
+public:
+ ClipWindow(QWidget *parent = 0);
+
+public slots:
+ void updateClipboard();
+ void updateData(const QString &format);
+
+private:
+ int currentItem;
+ QClipboard *clipboard;
+ QComboBox *mimeTypeCombo;
+ QLabel *dataInfoLabel;
+ QListWidget *previousItems;
+};
+
+#endif
diff --git a/doc/codesnippets/doc/src/snippets/clipboard/main.cpp b/doc/codesnippets/doc/src/snippets/clipboard/main.cpp
new file mode 100644
index 0000000..1139e79
--- /dev/null
+++ b/doc/codesnippets/doc/src/snippets/clipboard/main.cpp
@@ -0,0 +1,53 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial Usage
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QApplication>
+
+#include "clipwindow.h"
+
+int main(int argc, char *argv[])
+{
+ QApplication app(argc, argv);
+ ClipWindow *window = new ClipWindow;
+ window->resize(640, 480);
+ window->show();
+ return app.exec();
+}
diff --git a/doc/codesnippets/doc/src/snippets/code/doc.src.qtscripttools.qdoc b/doc/codesnippets/doc/src/snippets/code/doc.src.qtscripttools.qdoc
new file mode 100644
index 0000000..c691f17
--- /dev/null
+++ b/doc/codesnippets/doc/src/snippets/code/doc.src.qtscripttools.qdoc
@@ -0,0 +1,8 @@
+//! [0]
+ #include <QtScriptTools>
+//! [0]
+
+
+//! [1]
+ QT += scripttools
+//! [1]
diff --git a/doc/codesnippets/doc/src/snippets/code/doc_src_activeqt-dumpcpp.qdoc b/doc/codesnippets/doc/src/snippets/code/doc_src_activeqt-dumpcpp.qdoc
new file mode 100644
index 0000000..df1d542
--- /dev/null
+++ b/doc/codesnippets/doc/src/snippets/code/doc_src_activeqt-dumpcpp.qdoc
@@ -0,0 +1,25 @@
+//! [0]
+Outlook::Application *outlook = new Outlook::Application;
+//! [0]
+
+
+//! [1]
+Outlook::_NameSpace *session = outlook->Session();
+//! [1]
+
+
+//! [2]
+Outlook::NameSpace *session = outlook->Session();
+//! [2]
+
+
+//! [3]
+Outlook::_NameSpace *tmp = outlook->Session();
+Outlook::NameSpace *session = new Outlook::NameSpace(tmp);
+delete tmp; // or any other use of tmp: segfault
+//! [3]
+
+
+//! [4]
+Outlook::NameSpace *session = new Outlook::NameSpace(outlook->Session());
+//! [4]
diff --git a/doc/codesnippets/doc/src/snippets/code/doc_src_appicon.qdoc b/doc/codesnippets/doc/src/snippets/code/doc_src_appicon.qdoc
new file mode 100644
index 0000000..c8883fe
--- /dev/null
+++ b/doc/codesnippets/doc/src/snippets/code/doc_src_appicon.qdoc
@@ -0,0 +1,23 @@
+//! [0]
+IDI_ICON1 ICON DISCARDABLE "myappico.ico"
+//! [0]
+
+
+//! [1]
+RC_FILE = myapp.rc
+//! [1]
+
+
+//! [2]
+ICON = myapp.icns
+//! [2]
+
+
+//! [3]
+kde-config --path icon
+//! [3]
+
+
+//! [4]
+gnome-config --datadir
+//! [4]
diff --git a/doc/codesnippets/doc/src/snippets/code/doc_src_assistant-manual.qdoc b/doc/codesnippets/doc/src/snippets/code/doc_src_assistant-manual.qdoc
new file mode 100644
index 0000000..383bd61
--- /dev/null
+++ b/doc/codesnippets/doc/src/snippets/code/doc_src_assistant-manual.qdoc
@@ -0,0 +1,110 @@
+//! [0]
+assistant -collectionFile file
+//! [0]
+
+
+//! [1]
+<?xml version="1.0" encoding="utf-8" ?>
+<QHelpCollectionProject version="1.0">
+ <assistant>
+ <title>My Application Help</title>
+ <startPage>qthelp://com.mycompany.1_0_0/doc/index.html</startPage>
+ <currentFilter>myfilter</currentFilter>
+ <applicationIcon>application.png</applicationIcon>
+ <enableFilterFunctionality>false</enableFilterFunctionality>
+ <enableDocumentationManager>false</enableDocumentationManager>
+ <enableAddressBar visible="true">true</enableAddressBar>
+ <cacheDirectory>mycompany/myapplication</cacheDirectory>
+ <aboutMenuText>
+ <text>About My Application</text>
+ <text language="de">Über meine Applikation...</text>
+ </aboutMenuText>
+ <aboutDialog>
+ <file>about.txt</file>
+ <file language="de">ueber.txt</file>
+ <icon>about.png</icon>
+ </aboutDialog>
+ </assistant>
+ <docFiles>
+ <generate>
+ <file>
+ <input>myapplication-manual.qhp</input>
+ <output>myapplication-manual.qch</output>
+