aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2019-04-03 10:34:54 +0200
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2019-04-03 10:48:30 +0000
commit1d7af0b25ac241a95e33bd46561033d0b33b9013 (patch)
tree665f22d84b263dac40d22bdf8fa58536d7a46c85
parent66f466b6c80dc3bc016c7e8f98898805ab2d149e (diff)
shiboken: Move the Api extractor documentation into shiboken
It does not really make sense to have it separately and the reference documentation is currently not accessible from the TOC. Move it over and append it to the TOC. Merge the chapters on ownership chapters (for starters, by simply concatenating). The Api extractor overview chapter is dropped as it is outdated anyways. Partially reverts 0d12d71920067be499d9237b4ad04f7f11047759. Task-number: PYSIDE-363 Change-Id: I02f6b0a4bb91fc54267fa03cefd2ac7d4049f07b Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
-rw-r--r--sources/shiboken2/ApiExtractor/CMakeLists.txt1
-rw-r--r--sources/shiboken2/ApiExtractor/doc/CMakeLists.txt10
-rw-r--r--sources/shiboken2/ApiExtractor/doc/_templates/index.html27
-rw-r--r--sources/shiboken2/ApiExtractor/doc/_templates/layout.html39
-rw-r--r--sources/shiboken2/ApiExtractor/doc/_themes/pysidedocs/searchbox.html12
-rw-r--r--sources/shiboken2/ApiExtractor/doc/_themes/pysidedocs/static/bg_header.pngbin36012 -> 0 bytes
-rw-r--r--sources/shiboken2/ApiExtractor/doc/_themes/pysidedocs/static/bg_topo.jpgbin14237 -> 0 bytes
-rw-r--r--sources/shiboken2/ApiExtractor/doc/_themes/pysidedocs/static/fakebar.pngbin101 -> 0 bytes
-rw-r--r--sources/shiboken2/ApiExtractor/doc/_themes/pysidedocs/static/logo_openbossa.pngbin4702 -> 0 bytes
-rw-r--r--sources/shiboken2/ApiExtractor/doc/_themes/pysidedocs/static/logo_python.jpgbin2660 -> 0 bytes
-rw-r--r--sources/shiboken2/ApiExtractor/doc/_themes/pysidedocs/static/logo_qt.pngbin4618 -> 0 bytes
-rw-r--r--sources/shiboken2/ApiExtractor/doc/_themes/pysidedocs/static/pysidedocs.css409
-rw-r--r--sources/shiboken2/ApiExtractor/doc/_themes/pysidedocs/static/pysidelogo.pngbin4936 -> 0 bytes
-rw-r--r--sources/shiboken2/ApiExtractor/doc/_themes/pysidedocs/static/relbar_bg.pngbin130 -> 0 bytes
-rw-r--r--sources/shiboken2/ApiExtractor/doc/_themes/pysidedocs/theme.conf7
-rw-r--r--sources/shiboken2/ApiExtractor/doc/conf.py.in158
-rw-r--r--sources/shiboken2/ApiExtractor/doc/contents.rst9
-rw-r--r--sources/shiboken2/ApiExtractor/doc/dependency-apiextractor.svg360
-rw-r--r--sources/shiboken2/ApiExtractor/doc/overview.rst15
-rw-r--r--sources/shiboken2/ApiExtractor/doc/ownership.rst85
-rw-r--r--sources/shiboken2/doc/CMakeLists.txt1
-rw-r--r--sources/shiboken2/doc/codeinjectionsemantics.rst4
-rw-r--r--sources/shiboken2/doc/conf.py.in4
-rw-r--r--sources/shiboken2/doc/contents.rst1
-rw-r--r--sources/shiboken2/doc/faq.rst2
-rw-r--r--sources/shiboken2/doc/ownership.rst74
-rw-r--r--sources/shiboken2/doc/typeconverters.rst14
-rw-r--r--sources/shiboken2/doc/typesystem.rst (renamed from sources/shiboken2/ApiExtractor/doc/typesystem.rst)4
-rw-r--r--sources/shiboken2/doc/typesystem_arguments.rst (renamed from sources/shiboken2/ApiExtractor/doc/typesystem_arguments.rst)0
-rw-r--r--sources/shiboken2/doc/typesystem_conversionrule.rst (renamed from sources/shiboken2/ApiExtractor/doc/typesystem_conversionrule.rst)0
-rw-r--r--sources/shiboken2/doc/typesystem_documentation.rst (renamed from sources/shiboken2/ApiExtractor/doc/typesystem_documentation.rst)0
-rw-r--r--sources/shiboken2/doc/typesystem_manipulating_objects.rst (renamed from sources/shiboken2/ApiExtractor/doc/typesystem_manipulating_objects.rst)0
-rw-r--r--sources/shiboken2/doc/typesystem_modify_function.rst (renamed from sources/shiboken2/ApiExtractor/doc/typesystem_modify_function.rst)0
-rw-r--r--sources/shiboken2/doc/typesystem_solving_compilation.rst (renamed from sources/shiboken2/ApiExtractor/doc/typesystem_solving_compilation.rst)0
-rw-r--r--sources/shiboken2/doc/typesystem_specifying_types.rst (renamed from sources/shiboken2/ApiExtractor/doc/typesystem_specifying_types.rst)0
-rw-r--r--sources/shiboken2/doc/typesystem_templates.rst (renamed from sources/shiboken2/ApiExtractor/doc/typesystem_templates.rst)0
-rw-r--r--sources/shiboken2/doc/typesystemvariables.rst4
37 files changed, 90 insertions, 1150 deletions
diff --git a/sources/shiboken2/ApiExtractor/CMakeLists.txt b/sources/shiboken2/ApiExtractor/CMakeLists.txt
index add5221c9..4c0ac7b30 100644
--- a/sources/shiboken2/ApiExtractor/CMakeLists.txt
+++ b/sources/shiboken2/ApiExtractor/CMakeLists.txt
@@ -81,7 +81,6 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR}
${Qt5Xml_INCLUDE_DIRS}
)
-add_subdirectory(doc)
add_library(apiextractor STATIC ${apiextractor_SRC} ${apiextractor_RCCS_SRC})
target_link_libraries(apiextractor
${Qt5Xml_LIBRARIES}
diff --git a/sources/shiboken2/ApiExtractor/doc/CMakeLists.txt b/sources/shiboken2/ApiExtractor/doc/CMakeLists.txt
deleted file mode 100644
index a1995e96f..000000000
--- a/sources/shiboken2/ApiExtractor/doc/CMakeLists.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-message("Building ApiExtractor documentation")
-find_program(SPHINX sphinx-build DOC "Path to sphinx-build binary.")
-
-if (SPHINX)
- message(STATUS "sphinx-build - found")
- configure_file(conf.py.in conf.py @ONLY)
- add_custom_target(doc_apiextractor ${SPHINX} -b html -c . ${CMAKE_CURRENT_SOURCE_DIR} html )
-else()
- message(STATUS "sphinx-build - not found! doc_apiextractor target disabled")
-endif()
diff --git a/sources/shiboken2/ApiExtractor/doc/_templates/index.html b/sources/shiboken2/ApiExtractor/doc/_templates/index.html
deleted file mode 100644
index 4aa14ede5..000000000
--- a/sources/shiboken2/ApiExtractor/doc/_templates/index.html
+++ /dev/null
@@ -1,27 +0,0 @@
-{% extends "layout.html" %}
-{% set title = 'Overview' %}
-{% block body %}
-<div class="section">
- <h1>API Extractor {{ version }}</h1>
-
- <p>API Extractor is a tool that eases the development of bindings of Qt-based libraries for high
- level languages by automating most of the process.
-
- <p>API Extractor is based on the
- <a href="http://labs.trolltech.com/page/Projects/QtScript/Generator">QtScriptGenerator</a> project.</p>
-
- <h2>Documentation</h2>
- <table class="contentstable"><tr>
- <td width="50%">
- <p class="biglink"><a href="{{ pathto("overview") }}">Overview</a><br/>
- <span class="linkdescr">how API Extractor works</span></p>
- <p class="biglink"><a href="{{ pathto("typesystem") }}">Typesystem reference</a><br/>
- <span class="linkdescr">reference for all typesystem tags</span></p>
- </td>
- <td width="50%">
- <p class="biglink"><a href="{{ pathto("contents") }}">Contents</a><br/>
- <span class="linkdescr">for a complete overview</span></p>
- </td></tr>
- </table>
-</div>
-{% endblock %}
diff --git a/sources/shiboken2/ApiExtractor/doc/_templates/layout.html b/sources/shiboken2/ApiExtractor/doc/_templates/layout.html
deleted file mode 100644
index d99d3f0cf..000000000
--- a/sources/shiboken2/ApiExtractor/doc/_templates/layout.html
+++ /dev/null
@@ -1,39 +0,0 @@
-{% extends "!layout.html" %}
-
-# Invert sidebars
-{%- block sidebar1 %}{{ sidebar() }}{%- endblock %}
-{%- block sidebar2 %}{%- endblock %}
-
-{%- block header %}
-<div id="container">
-<div class="header">
- <div class="header_container">
- <div class="logo"><a href="http://www.pyside.org"><img alt="Qt for Python (PySide2)" src="{{ pathto('_static/pysidelogo.png', 1) }}" width="199" height="102" /></a></div>
- <div class="related">
- <ul>
- {%- block rootrellink %}
- <li><a href="{{ pathto( 'index' ) }}">{{ shorttitle|e }}</a></li>
- {%- endblock %}
- {%- for parent in parents %}
- <li>{{ reldelim1 }} <a href="{{ parent.link|e }}" {% if loop.last %}{{ accesskey("U") }}{% endif %}>{{ parent.title }}</a></li>
- {%- endfor %}
- {%- block relbaritems %} {% endblock %}
- </ul>
- </div>
- </div>
-</div>
-{%- endblock -%}
-
-{%- block footer %}
- <div class="footer">
- <a href="https://qt.io/"><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>
-</div>
-{%- endblock %}
-
-# No top relbar.
-{%- block relbar1 %}{%- endblock %}
-
-# No bottom relbar.
-{%- block relbar2 %}{%- endblock %}
diff --git a/sources/shiboken2/ApiExtractor/doc/_themes/pysidedocs/searchbox.html b/sources/shiboken2/ApiExtractor/doc/_themes/pysidedocs/searchbox.html
deleted file mode 100644
index 55a972156..000000000
--- a/sources/shiboken2/ApiExtractor/doc/_themes/pysidedocs/searchbox.html
+++ /dev/null
@@ -1,12 +0,0 @@
-{%- if pagename != "search" %}
-<div id="searchbox" style="display: none">
- <h3>{{ _('Quick search') }}</h3>
- <form class="search" action="{{ pathto('search') }}" method="get">
- <input type="text" name="q" id="q" size="18" />
- <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>
-<script type="text/javascript">$('#searchbox').show(0);</script>
-{%- endif %}
diff --git a/sources/shiboken2/ApiExtractor/doc/_themes/pysidedocs/static/bg_header.png b/sources/shiboken2/ApiExtractor/doc/_themes/pysidedocs/static/bg_header.png
deleted file mode 100644
index 843e7e2c5..000000000
--- a/sources/shiboken2/ApiExtractor/doc/_themes/pysidedocs/static/bg_header.png
+++ /dev/null
Binary files differ
diff --git a/sources/shiboken2/ApiExtractor/doc/_themes/pysidedocs/static/bg_topo.jpg b/sources/shiboken2/ApiExtractor/doc/_themes/pysidedocs/static/bg_topo.jpg
deleted file mode 100644
index 4229ae8db..000000000
--- a/sources/shiboken2/ApiExtractor/doc/_themes/pysidedocs/static/bg_topo.jpg
+++ /dev/null
Binary files differ
diff --git a/sources/shiboken2/ApiExtractor/doc/_themes/pysidedocs/static/fakebar.png b/sources/shiboken2/ApiExtractor/doc/_themes/pysidedocs/static/fakebar.png
deleted file mode 100644
index b45830e00..000000000
--- a/sources/shiboken2/ApiExtractor/doc/_themes/pysidedocs/static/fakebar.png
+++ /dev/null
Binary files differ
diff --git a/sources/shiboken2/ApiExtractor/doc/_themes/pysidedocs/static/logo_openbossa.png b/sources/shiboken2/ApiExtractor/doc/_themes/pysidedocs/static/logo_openbossa.png
deleted file mode 100644
index 51e868d6e..000000000
--- a/sources/shiboken2/ApiExtractor/doc/_themes/pysidedocs/static/logo_openbossa.png
+++ /dev/null
Binary files differ
diff --git a/sources/shiboken2/ApiExtractor/doc/_themes/pysidedocs/static/logo_python.jpg b/sources/shiboken2/ApiExtractor/doc/_themes/pysidedocs/static/logo_python.jpg
deleted file mode 100644
index cd474efba..000000000
--- a/sources/shiboken2/ApiExtractor/doc/_themes/pysidedocs/static/logo_python.jpg
+++ /dev/null
Binary files differ
diff --git a/sources/shiboken2/ApiExtractor/doc/_themes/pysidedocs/static/logo_qt.png b/sources/shiboken2/ApiExtractor/doc/_themes/pysidedocs/static/logo_qt.png
deleted file mode 100644
index 37800f454..000000000
--- a/sources/shiboken2/ApiExtractor/doc/_themes/pysidedocs/static/logo_qt.png
+++ /dev/null
Binary files differ
diff --git a/sources/shiboken2/ApiExtractor/doc/_themes/pysidedocs/static/pysidedocs.css b/sources/shiboken2/ApiExtractor/doc/_themes/pysidedocs/static/pysidedocs.css
deleted file mode 100644
index fd81f4379..000000000
--- a/sources/shiboken2/ApiExtractor/doc/_themes/pysidedocs/static/pysidedocs.css
+++ /dev/null
@@ -1,409 +0,0 @@
-* {
- font: 100% Verdana, Arial, Helvetica, sans-serif;
- font-size:12px;
-}
-
-html {
- height: 100%;
-}
-
-body {
- margin: 0;
- padding: 0;
- text-align: center;
- background-color: #EBEBEB;
- height: 100%;
- color: #333;
-}
-
-strong {
- font-weight:bold;
-}
-
-.document {
- 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;
-}
-
-.sphinxsidebar {
- float: left;
- width: 250px;
- padding: 0px 10px 0px 10px;
- text-align: left;
-}
-
-.sphinxsidebar ul {
- padding: 0px;
- margin: 0px;
- list-style-position: inside;
-}
-
-.sphinxsidebar > ul {
- padding: 0px;
- margin: 0px;
-}
-
-.sphinxsidebar ul li {
- margin-left: 10px;
- padding: 0px;
-}
-
-.sphinxsidebar h3, .sphinxsidebar h3 a {
- font-weight: bold;
- color: #333;
-}
-
-.documentwrapper {
- 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 {
- font-size: 100%;
- color: inherit;
- float: right;
- visibility: Hidden;
-}
-
-h1 .headerlink {
- padding-right: 50px;
-}
-
-h1:hover .headerlink, h2:hover .headerlink, h3:hover .headerlink {
- visibility: Visible;
-}
-
-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.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 {
- text-align: left;
- margin-bottom: 10px;
-}
-
-#searchbox {
- 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 *********/
-
-.related {
- display: inline;
-}
-
-.related ul {
- padding: 0px 0px 0px 10px;
- margin: 0px;
- text-align: left;
- background-image: url(relbar_bg.png);
-}
-
-.related li {
- display: inline;
- color: white;
- font-weight: bold;
-}
-
-.related li a {
- color: inherit;
- line-height: 35px;
- font-weight: bold;
- vertical-align: middle;
-}
-
-.related li.right {
- float: right;
- margin-right: 5px;
-}
-
-.related h3 {
- display: none;
-}
-
-.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;
-}
diff --git a/sources/shiboken2/ApiExtractor/doc/_themes/pysidedocs/static/pysidelogo.png b/sources/shiboken2/ApiExtractor/doc/_themes/pysidedocs/static/pysidelogo.png
deleted file mode 100644
index 3a2f2bd17..000000000
--- a/sources/shiboken2/ApiExtractor/doc/_themes/pysidedocs/static/pysidelogo.png
+++ /dev/null
Binary files differ
diff --git a/sources/shiboken2/ApiExtractor/doc/_themes/pysidedocs/static/relbar_bg.png b/sources/shiboken2/ApiExtractor/doc/_themes/pysidedocs/static/relbar_bg.png
deleted file mode 100644
index 4036733a7..000000000
--- a/sources/shiboken2/ApiExtractor/doc/_themes/pysidedocs/static/relbar_bg.png
+++ /dev/null
Binary files differ
diff --git a/sources/shiboken2/ApiExtractor/doc/_themes/pysidedocs/theme.conf b/sources/shiboken2/ApiExtractor/doc/_themes/pysidedocs/theme.conf
deleted file mode 100644
index e0a652a5d..000000000
--- a/sources/shiboken2/ApiExtractor/doc/_themes/pysidedocs/theme.conf
+++ /dev/null
@@ -1,7 +0,0 @@
-[theme]
-inherit = default
-stylesheet = pysidedocs.css
-pygments_style = none
-
-[options]
-nosidebar = false
diff --git a/sources/shiboken2/ApiExtractor/doc/conf.py.in b/sources/shiboken2/ApiExtractor/doc/conf.py.in
deleted file mode 100644
index 185709590..000000000
--- a/sources/shiboken2/ApiExtractor/doc/conf.py.in
+++ /dev/null
@@ -1,158 +0,0 @@
-# -*- coding: utf-8 -*-
-#
-# ApiExtractor documentation build configuration file, created by
-# sphinx-quickstart on Wed Apr 22 15:04:20 2009.
-#
-# This file is execfile()d with the current directory set to its containing dir.
-#
-# Note that not all possible configuration values are present in this
-# autogenerated file.
-#
-# All configuration values have a default; values that are commented out
-# serve to show the default.
-
-import sys, os
-
-# If extensions (or modules to document with autodoc) are in another directory,
-# add these directories to sys.path here. If the directory is relative to the
-# documentation root, use os.path.abspath to make it absolute, like shown here.
-#sys.path.append(os.path.abspath('.'))
-
-# -- General configuration -----------------------------------------------------
-
-# Add any Sphinx extension module names here, as strings. They can be extensions
-# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
-extensions = ['sphinx.ext.autodoc', 'sphinx.ext.doctest',
- 'sphinx.ext.ifconfig', 'sphinx.ext.coverage']
-
-rst_epilog = """
-.. |project| replace:: API Extractor
-"""
-
-# Add any paths that contain templates here, relative to this directory.
-templates_path = ['@CMAKE_CURRENT_SOURCE_DIR@/_templates']
-
-# The suffix of source filenames.
-source_suffix = '.rst'
-
-# The encoding of source files.
-source_encoding = 'utf-8'
-
-# The master toctree document.
-#master_doc = 'contents'
-
-# General information about the project.
-project = u'API Extractor'
-copyright = u'© 2018 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the <a href="http://www.gnu.org/license/fdl.html">GNU Free Documentation License version 1.3</a> as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.'
-
-# The version info for the project you're documenting, acts as replacement for
-# |version| and |release|, also used in various other places throughout the
-# built documents.
-#
-# The short X.Y version.
-version = '@apiextractor_MAJOR_VERSION@.@apiextractor_MINOR_VERSION@'
-# The full version, including alpha/beta/rc tags.
-release = '@apiextractor_VERSION@'
-
-# The language for content autogenerated by Sphinx. Refer to documentation
-# for a list of supported languages.
-#language = None
-
-# There are two options for replacing |today|: either, you set today to some
-# non-false value, then it is used:
-#today = ''
-# Else, today_fmt is used as the format for a strftime call.
-#today_fmt = '%B %d, %Y'
-
-# List of documents that shouldn't be included in the build.
-#unused_docs = []
-
-# List of directories, relative to source directory, that shouldn't be searched
-# for source files.
-exclude_trees = ['_build']
-
-# The reST default role (used for this markup: `text`) to use for all documents.
-#default_role = None
-
-# If true, '()' will be appended to :func: etc. cross-reference text.
-add_function_parentheses = True
-
-# If true, the current module name will be prepended to all description
-# unit titles (such as .. function::).
-#add_module_names = True
-
-# If true, sectionauthor and moduleauthor directives will be shown in the
-# output. They are ignored by default.
-#show_authors = False
-
-# The name of the Pygments (syntax highlighting) style to use.
-pygments_style = 'sphinx'
-
-# A list of ignored prefixes for module index sorting.
-#modindex_common_prefix = []
-
-
-# -- Options for HTML output ---------------------------------------------------
-
-# The theme to use for HTML and HTML Help pages. Major themes that come with
-# Sphinx are currently 'default' and 'sphinxdoc'.
-html_theme = 'pysidedocs'
-
-# Theme options are theme-specific and customize the look and feel of a theme
-# further. For a list of options available for each theme, see the
-# documentation.
-#html_theme_options = {
-#}
-
-# Add any paths that contain custom themes here, relative to this directory.
-html_theme_path = ['@CMAKE_CURRENT_SOURCE_DIR@/_themes']
-
-# The name for this set of Sphinx documents. If None, it defaults to
-# "<project> v<release> documentation".
-#html_title = None
-
-# A shorter title for the navigation bar. Default is the same as html_title.
-#html_short_title = None
-
-# The name of an image file (relative to this directory) to place at the top
-# of the sidebar.
-#html_logo = None
-
-# The name of an image file (within the static path) to use as favicon of the
-# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
-# pixels large.
-#html_favicon = None
-
-# Add any paths that contain custom static files (such as style sheets) here,
-# relative to this directory. They are copied after the builtin static files,
-# so a file named "default.css" will overwrite the builtin "default.css".
-#html_static_path = ['@CMAKE_CURRENT_SOURCE_DIR@/_static']
-
-# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
-# using the given strftime format.
-#html_last_updated_fmt = '%b %d, %Y'
-
-# Custom sidebar templates, maps document names to template names.
-#html_sidebars = { '' : ''}
-
-# Additional templates that should be rendered to pages, maps page names to
-# template names.
-html_additional_pages = { 'index' : 'index.html'}
-
-# If false, no index is generated.
-html_use_index = False
-
-# If true, the index is split into individual pages for each letter.
-html_split_index = False
-
-# If true, links to the reST sources are added to the pages.
-html_show_sourcelink = False
-
-# If true, an OpenSearch description file will be output, and all pages will
-# contain a <link> tag referring to it. The value of this option must be the
-# base URL from which the finished HTML is served.
-#html_use_opensearch = ''
-
-# If nonempty, this is the file name suffix for HTML files (e.g. ".xhtml").
-#html_file_suffix = ''
-
diff --git a/sources/shiboken2/ApiExtractor/doc/contents.rst b/sources/shiboken2/ApiExtractor/doc/contents.rst
deleted file mode 100644
index 83a4889fe..000000000
--- a/sources/shiboken2/ApiExtractor/doc/contents.rst
+++ /dev/null
@@ -1,9 +0,0 @@
-Table of contents
-*****************
-.. toctree::
- :numbered:
- :maxdepth: 3
-
- overview.rst
- ownership.rst
- typesystem.rst
diff --git a/sources/shiboken2/ApiExtractor/doc/dependency-apiextractor.svg b/sources/shiboken2/ApiExtractor/doc/dependency-apiextractor.svg
deleted file mode 100644
index 6bec8b5a8..000000000
--- a/sources/shiboken2/ApiExtractor/doc/dependency-apiextractor.svg
+++ /dev/null
@@ -1,360 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="750"
- height="230"
- id="svg2"
- sodipodi:version="0.32"
- inkscape:version="0.46"
- version="1.0"
- sodipodi:docname="dependency-apiextractor.svg"
- inkscape:output_extension="org.inkscape.output.svg.inkscape"
- inkscape:export-filename="/tmp/dependency-pyside.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
- <defs
- id="defs4">
- <marker
- inkscape:stockid="Arrow1Lstart"
- orient="auto"
- refY="0"
- refX="0"
- id="Arrow1Lstart"
- style="overflow:visible">
- <path
- id="path3270"
- d="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z"
- style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
- transform="matrix(0.8,0,0,0.8,10,0)" />
- </marker>
- <marker
- inkscape:stockid="Arrow1Lend"
- orient="auto"
- refY="0"
- refX="0"
- id="Arrow1Lend"
- style="overflow:visible">
- <path
- id="path3679"
- d="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z"
- style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
- transform="matrix(-0.8,0,0,-0.8,-10,0)" />
- </marker>
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 526.18109 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="744.09448 : 526.18109 : 1"
- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
- id="perspective10" />
- </defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- gridtolerance="10000"
- guidetolerance="10"
- objecttolerance="10"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="1.6315754"
- inkscape:cx="375"
- inkscape:cy="115"
- inkscape:document-units="px"
- inkscape:current-layer="svg2"
- showgrid="false"
- showguides="true"
- inkscape:guide-bbox="true"
- inkscape:window-width="1278"
- inkscape:window-height="949"
- inkscape:window-x="1330"
- inkscape:window-y="25">
- <sodipodi:guide
- orientation="1,0"
- position="384.28571,590"
- id="guide2601" />
- <sodipodi:guide
- orientation="1,0"
- position="678.57143,491.42857"
- id="guide2603" />
- <sodipodi:guide
- orientation="1,0"
- position="78.571429,257.14286"
- id="guide2605" />
- <sodipodi:guide
- orientation="1,0"
- position="93.571429,280.71429"
- id="guide7565" />
- <sodipodi:guide
- orientation="1,0"
- position="148.57143,216.42857"
- id="guide7567" />
- </sodipodi:namedview>
- <metadata
- id="metadata7">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:label="Layer 1"
- inkscape:groupmode="layer"
- id="layer1"
- transform="translate(-250.44576,-308.53365)" />
- <g
- id="g2664"
- transform="translate(-162.03535,-115.53321)">
- <path
- inkscape:connector-type="polyline"
- id="path2869"
- d="M 439.27375,270.21407 L 594.99083,193.03351"
- style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-start:url(#Arrow1Lstart);marker-end:none;stroke-opacity:1" />
- <g
- transform="translate(166.24286,-190.07976)"
- id="g2606">
- <rect
- style="fill:#e3e2db;stroke:#000000;stroke-opacity:1"
- id="rect7541"
- width="211.42857"
- height="124.28571"
- x="6.6142678"
- y="308.16089"
- ry="17.142857" />
- <text
- xml:space="preserve"
- style="font-size:20.61732101px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
- x="76.614265"
- y="339.74512"
- id="text7543"><tspan
- sodipodi:role="line"
- id="tspan7545"
- x="76.614265"
- y="339.74512">Boost</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:20.61732101px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
- x="76.614265"
- y="372.67505"
- id="text7547"><tspan
- sodipodi:role="line"
- id="tspan7549"
- x="76.614265"
- y="372.67505">Qt Software</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:20.61732101px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
- x="76.614265"
- y="408.38055"
- id="text7551"><tspan
- sodipodi:role="line"
- id="tspan7553"
- x="76.614265"
- y="408.38055">INdT/Nokia</tspan></text>
- <rect
- style="fill:#aaeeff;fill-opacity:1;stroke:#000000;stroke-width:0.64285713;stroke-opacity:1"
- id="rect7555"
- width="43.163269"
- height="22.5"
- x="21.614267"
- y="321.55374"
- ry="6.4285707" />
- <rect
- style="fill:#b3ff80;fill-opacity:1;stroke:#000000;stroke-width:0.64285713;stroke-opacity:1"
- id="rect7561"
- width="43.163269"
- height="22.5"
- x="21.614267"
- y="355.4823"
- ry="6.4285707" />
- <rect
- style="fill:#e9ddaf;fill-opacity:1;stroke:#000000;stroke-width:0.64285713;stroke-opacity:1"
- id="rect7563"
- width="43.163269"
- height="22.5"
- x="21.614267"
- y="390.4823"
- ry="6.4285707" />
- </g>
- <path
- inkscape:connector-type="polyline"
- id="path2604"
- d="M 782.79015,270.0418 L 627.07307,192.86124"
- style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-start:url(#Arrow1Lstart);marker-end:none;stroke-opacity:1" />
- <g
- transform="translate(234.84929,-73.143707)"
- id="g5193">
- <rect
- ry="9.2689295"
- style="fill:#b3ff80;fill-rule:evenodd;stroke:#2a7800;stroke-width:0.96558368px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- id="rect2417"
- width="274.18781"
- height="73.282379"
- x="78.571426"
- y="342.86383"
- rx="8.3239012" />
- <text
- xml:space="preserve"
- style="font-size:16.27989578px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
- x="88.822823"
- y="359.67014"
- id="text2419"><tspan
- sodipodi:role="line"
- id="tspan2421"
- x="88.822823"
- y="359.67014">Qt 4.5</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:8.40044498px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
- x="88.822823"
- y="375.33484"
- id="text2423"><tspan
- sodipodi:role="line"
- id="tspan2425"
- x="88.822823"
- y="375.33484">4.5</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:9.33067703px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
- x="88.822823"
- y="390.87479"
- id="text2427"><tspan
- sodipodi:role="line"
- id="tspan2429"
- x="88.822823"
- y="390.87479">headers and libraries - compile-time and run-time</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:8.26250458px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
- x="88.822823"
- y="400.84058"
- id="text2431"><tspan
- sodipodi:role="line"
- id="tspan2433"
- x="88.822823"
- y="400.84058">GNU General Public License v3 /</tspan><tspan
- id="tspan2472"
- sodipodi:role="line"
- x="88.822823"
- y="411.1687">GNU Lesser General Public Licence v2.1</tspan></text>
- </g>
- <g
- transform="translate(101.41581,-378.37135)"
- id="g5120">
- <rect
- rx="10.404889"
- ry="13.104635"
- style="fill:#e9ddaf;fill-rule:evenodd;stroke:#5f5019;stroke-width:0.96620417px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- id="rect2441"
- width="274.54263"
- height="73.281754"
- x="384.28571"
- y="496.43558" />
- <text
- xml:space="preserve"
- style="font-size:16.27989578px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
- x="389.17969"
- y="513.59869"
- id="text2443"><tspan
- sodipodi:role="line"
- id="tspan2445"
- x="389.17969"
- y="513.59869">libapiextractor</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:8.40044498px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
- x="389.17969"
- y="529.26337"
- id="text2447"><tspan
- sodipodi:role="line"
- id="tspan2449"
- x="389.17969"
- y="529.26337">0.2</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:9.33067703px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
- x="389.17969"
- y="544.80334"
- id="text2451"><tspan
- sodipodi:role="line"
- x="389.17969"
- y="544.80334"
- id="tspan2453">headers and libraries - compile-time and run-time</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:8.26250458px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
- x="389.17969"
- y="560.12628"
- id="text2455"><tspan
- sodipodi:role="line"
- id="tspan2457"
- x="389.17969"
- y="560.12628">LGPL version 2.1</tspan></text>
- </g>
- <g
- transform="translate(242.40213,-378.858)"
- id="g5182">
- <rect
- ry="11.287985"
- style="fill:#aaeeff;fill-rule:evenodd;stroke:#006078;stroke-width:0.96620417px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- id="rect2563"
- width="274.54263"
- height="73.281754"
- x="384.28571"
- y="648.57843"
- rx="10.404877" />
- <text
- xml:space="preserve"
- style="font-size:16.27989578px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
- x="389.17969"
- y="665.74158"
- id="text2565"><tspan
- sodipodi:role="line"
- id="tspan2567"
- x="389.17969"
- y="665.74158">boost::graph</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:8.40044498px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
- x="389.17969"
- y="681.40625"
- id="text2569"><tspan
- sodipodi:role="line"
- id="tspan2571"
- x="389.17969"
- y="681.40625">1.38.0</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:9.33067703px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
- x="389.17969"
- y="696.94623"
- id="text2573"><tspan
- sodipodi:role="line"
- x="389.17969"
- y="696.94623"
- id="tspan2575">headers and libraries - compile-time and run-time</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:8.26250458px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
- x="389.17969"
- y="712.26917"
- id="text2577"><tspan
- sodipodi:role="line"
- id="tspan2579"
- x="389.17969"
- y="712.26917">Boost Software License 1.0</tspan></text>
- </g>
- </g>
-</svg>
diff --git a/sources/shiboken2/ApiExtractor/doc/overview.rst b/sources/shiboken2/ApiExtractor/doc/overview.rst
deleted file mode 100644
index 89c0d2c00..000000000
--- a/sources/shiboken2/ApiExtractor/doc/overview.rst
+++ /dev/null
@@ -1,15 +0,0 @@
-.. _gen-overview:
-
-**********************
-API Extractor Overview
-**********************
-
-The **API Extractor** library is used by the binding generator to parse headers
-of a given library and merge this data with information provided by
-typesystem (XML) files, resulting in a representation of how the API should be
-exported to the chosen target language. The generation of source code for the
-bindings is performed by specific generators using the API Extractor library.
-
-The API Extractor is based on QtScriptGenerator_ codebase.
-
-.. _QtScriptGenerator: http://code.qt.io/cgit/qt-labs/qtscriptgenerator.git/
diff --git a/sources/shiboken2/ApiExtractor/doc/ownership.rst b/sources/shiboken2/ApiExtractor/doc/ownership.rst
deleted file mode 100644
index 4e28f1427..000000000
--- a/sources/shiboken2/ApiExtractor/doc/ownership.rst
+++ /dev/null
@@ -1,85 +0,0 @@
-Ownership Management
-********************
-
-Among the various types of instances interactions, sometimes an object
-may be *owned* by another object, so that the owner is responsible for
-destroying the owned object, like in Qt's object system [#]_.
-This kind of relationship has a big role on interfacing with the target language, like
-with Python's reference counting.
-
-
-Ownership transfers
--------------------
-
-From C++ to target
-^^^^^^^^^^^^^^^^^^
-
- When an object currently owned by C++ has its ownership transferred
- back to the target language, the binding can know for sure when the object will be deleted and
- tie the C++ instance existence to the wrapper, calling the C++ destructor normally when the
- wrapper is deleted.
-
- .. code-block:: xml
-
- <modify-argument index="1">
- <define-ownership class="target" owner="target" />
- </modify-argument>
-
-
-From target to C++
-^^^^^^^^^^^^^^^^^^
-
- In the opposite direction, when an object ownership is transferred from the target language
- to C++, the native code takes full control of the object life and you don't
- know when that object will be deleted, rendering the wrapper object invalid,
- unless you're wrapping an object with a virtual destructor,
- so you can override it and be notified of its destruction.
-
- By default it's safer to just render the wrapper
- object invalid and raise some error if the user tries to access
- one of this objects members or pass it as argument to some function, to avoid unpleasant segfaults.
- Also you should avoid calling the C++ destructor when deleting the wrapper.
-
- .. code-block:: xml
-
- <modify-argument index="1">
- <define-ownership class="target" owner="c++" />
- </modify-argument>
-
-
-Parent-child relationship
--------------------------
-
-One special type of relationship is the parent-child. When an object is called
-the parent of another object (the child), the former is in charge of deleting its
-child when deleted and the target language can trust that the child will be alive
-as long as the parent is, unless some other method can take the C++ ownership away from the parent.
-
-One of the main uses of this scheme is Qt's object system, with ownership among QObject-derived
-classes, creating "trees" of instances.
-
- .. code-block:: xml
-
- <modify-argument index="this">
- <parent index="1" action="add">
- </modify-argument>
-
-In this example, the instance with the method that is being invoked (indicated by 'index="this"' on
-modify-argument) will be marked as a child
-of the first argument using the `parent` tag. To remove ownership, just use "remove" in the action attribute. **Removing
-parentship also transfers the ownership back to python.**
-
-Invalidation after use
-----------------------
-
-Sometimes an object is created as a virtual method call argument and destroyed after the
-call returned. In this case, you should use the ``invalidate-after-use`` attribute in the
-``modify-argument`` tag to mark the wrapper as invalid right after the virtual method returns.
-
- .. code-block:: xml
-
- <modify-argument index="2" invalidate-after-use="yes"/>
-
-In this example the second argument will be invalidated after this method call.
-
-.. [#] See *Object Trees and Object Ownership* http://doc.qt.io/qt-5/objecttrees.html
diff --git a/sources/shiboken2/doc/CMakeLists.txt b/sources/shiboken2/doc/CMakeLists.txt
index bb5ad8607..5903e9dfc 100644
--- a/sources/shiboken2/doc/CMakeLists.txt
+++ b/sources/shiboken2/doc/CMakeLists.txt
@@ -4,7 +4,6 @@ if (SPHINX)
message("-- sphinx-build - found")
configure_file(conf.py.in conf.py @ONLY)
add_custom_target(doc ${SPHINX} -b html -c . ${CMAKE_CURRENT_SOURCE_DIR} html )
- add_dependencies(doc doc_apiextractor)
else()
message("-- sphinx-build - not found! doc target disabled")
if (WIN32)
diff --git a/sources/shiboken2/doc/codeinjectionsemantics.rst b/sources/shiboken2/doc/codeinjectionsemantics.rst
index 0051c63df..beb2997a3 100644
--- a/sources/shiboken2/doc/codeinjectionsemantics.rst
+++ b/sources/shiboken2/doc/codeinjectionsemantics.rst
@@ -2,8 +2,8 @@
Code Injection Semantics
************************
-:std:doc:`API Extractor <apiextractor:overview>` provides the
-:ref:`inject-code <apiextractor:inject-code>` tag
+:std:doc:`API Extractor <overview>` provides the
+:ref:`inject-code <inject-code>` tag
allowing the user to put custom written code to on specific locations of the generated code.
Yet this is only part of what is needed to generate proper binding code, where the custom code
should be written to depends upon the technology used on the generated binding code.
diff --git a/sources/shiboken2/doc/conf.py.in b/sources/shiboken2/doc/conf.py.in
index d3aa95c0b..e158abbbe 100644
--- a/sources/shiboken2/doc/conf.py.in
+++ b/sources/shiboken2/doc/conf.py.in
@@ -23,7 +23,7 @@ import sys, os
# Add any Sphinx extension module names here, as strings. They can be extensions
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
extensions = ['sphinx.ext.autodoc', 'sphinx.ext.doctest', 'sphinx.ext.ifconfig',
-'sphinx.ext.coverage', 'sphinx.ext.intersphinx']
+'sphinx.ext.coverage']
rst_epilog = """
.. |project| replace:: Shiboken
@@ -158,5 +158,3 @@ html_show_sourcelink = False
# If nonempty, this is the file name suffix for HTML files (e.g. ".xhtml").
#html_file_suffix = ''
-
-intersphinx_mapping = {'apiextractor': ('ApiExtractor','@CMAKE_BINARY_DIR@/ApiExtractor/doc/html/objects.inv')}
diff --git a/sources/shiboken2/doc/contents.rst b/sources/shiboken2/doc/contents.rst
index a0b40effb..7cdc0063e 100644
--- a/sources/shiboken2/doc/contents.rst
+++ b/sources/shiboken2/doc/contents.rst
@@ -15,3 +15,4 @@ Table of contents
wordsofadvice.rst
shibokenmodule.rst
faq.rst
+ typesystem.rst
diff --git a/sources/shiboken2/doc/faq.rst b/sources/shiboken2/doc/faq.rst
index 3653b8654..eb77e5822 100644
--- a/sources/shiboken2/doc/faq.rst
+++ b/sources/shiboken2/doc/faq.rst
@@ -45,7 +45,7 @@ What do I have to do to create my bindings?
-------------------------------------------
Most of the work is already done by the API Extractor.
-The developer creates a :std:doc:`typesystem <apiextractor:typesystem>`
+The developer creates a :std:doc:`typesystem <typesystem>`
file with any customization wanted in
the generated code, like removing classes or changing method signatures.
The generator will output the *.h* and *.cpp* files with the CPython code that
diff --git a/sources/shiboken2/doc/ownership.rst b/sources/shiboken2/doc/ownership.rst
index f3744a537..59fdb9d66 100644
--- a/sources/shiboken2/doc/ownership.rst
+++ b/sources/shiboken2/doc/ownership.rst
@@ -151,3 +151,77 @@ Not saving unowned objects references
renderer.render()
+Ownership Management in the Typesystem
+=======================================
+
+Ownership transfer from C++ to target
+-------------------------------------
+
+ When an object currently owned by C++ has its ownership transferred
+ back to the target language, the binding can know for sure when the object will be deleted and
+ tie the C++ instance existence to the wrapper, calling the C++ destructor normally when the
+ wrapper is deleted.
+
+ .. code-block:: xml
+
+ <modify-argument index="1">
+ <define-ownership class="target" owner="target" />
+ </modify-argument>
+
+Ownership transfer from target to C++
+-------------------------------------
+
+ In the opposite direction, when an object ownership is transferred from the target language
+ to C++, the native code takes full control of the object life and you don't
+ know when that object will be deleted, rendering the wrapper object invalid,
+ unless you're wrapping an object with a virtual destructor,
+ so you can override it and be notified of its destruction.
+
+ By default it's safer to just render the wrapper
+ object invalid and raise some error if the user tries to access
+ one of this objects members or pass it as argument to some function, to avoid unpleasant segfaults.
+ Also you should avoid calling the C++ destructor when deleting the wrapper.
+
+ .. code-block:: xml
+
+ <modify-argument index="1">
+ <define-ownership class="target" owner="c++" />
+ </modify-argument>
+
+
+Parent-child relationship
+-------------------------
+
+One special type of relationship is the parent-child. When an object is called
+the parent of another object (the child), the former is in charge of deleting its
+child when deleted and the target language can trust that the child will be alive
+as long as the parent is, unless some other method can take the C++ ownership away from the parent.
+
+One of the main uses of this scheme is Qt's object system, with ownership among QObject-derived
+classes, creating "trees" of instances.
+
+ .. code-block:: xml
+
+ <modify-argument index="this">
+ <parent index="1" action="add">
+ </modify-argument>
+
+In this example, the instance with the method that is being invoked (indicated by 'index="this"' on
+modify-argument) will be marked as a child
+of the first argument using the `parent` tag. To remove ownership, just use "remove" in the action attribute. **Removing
+parentship also transfers the ownership back to python.**
+
+Invalidation after use
+----------------------
+
+Sometimes an object is created as a virtual method call argument and destroyed after the
+call returned. In this case, you should use the ``invalidate-after-use`` attribute in the
+``modify-argument`` tag to mark the wrapper as invalid right after the virtual method returns.
+
+ .. code-block:: xml
+
+ <modify-argument index="2" invalidate-after-use="yes"/>
+
+In this example the second argument will be invalidated after this method call.
+
+.. [#] See *Object Trees and Object Ownership* http://doc.qt.io/qt-5/objecttrees.html
diff --git a/sources/shiboken2/doc/typeconverters.rst b/sources/shiboken2/doc/typeconverters.rst
index 6b29bdb4f..872daa187 100644
--- a/sources/shiboken2/doc/typeconverters.rst
+++ b/sources/shiboken2/doc/typeconverters.rst
@@ -58,22 +58,22 @@ the "<conversion-rule>" tag must be used.
The details will be given later, but the gist of it are the tags
-:ref:`native-to-target <apiextractor:native-to-target>`, which has only one conversion from C++ to Python, and
-:ref:`native-to-native <apiextractor:target-to-native>`, that may define the conversion of multiple Python types
+:ref:`native-to-target <native-to-target>`, which has only one conversion from C++ to Python, and
+:ref:`native-to-native <target-to-native>`, that may define the conversion of multiple Python types
to C++'s "Complex" type.
.. image:: images/converter.png
:height: 240px
:align: center
-|project| expects the code for :ref:`native-to-target <apiextractor:native-to-target>`, to directly return the
+|project| expects the code for :ref:`native-to-target <native-to-target>`, to directly return the
Python result of the conversion, and the added conversions inside the
-:ref:`target-to-native <apiextractor:target-to-native>` must attribute the Python to C++ conversion result to
+:ref:`target-to-native <target-to-native>` must attribute the Python to C++ conversion result to
the :ref:`%out <out>` variable.
Expanding on the last example, if the binding developer want a Python 2-tuple
of numbers to be accepted by wrapped C++ functions with "Complex" arguments,
-an :ref:`add-conversion <apiextractor:add-conversion>` tag and a custom check must be added.
+an :ref:`add-conversion <add-conversion>` tag and a custom check must be added.
Here's how to do it:
.. code-block:: xml
@@ -130,7 +130,7 @@ Here's how to do it:
Container Conversions
=====================
-Converters for :ref:`container-type <apiextractor:container-type>` are pretty much the same as for other type,
+Converters for :ref:`container-type <container-type>` are pretty much the same as for other type,
except that they make use of the type system variables
:ref:`%INTYPE_# <intype_n>` and :ref:`%OUTTYPE_# <outtype_n>`.
|project| combines the conversion code for containers with the conversion
@@ -286,6 +286,6 @@ In this case, the parts of the implementation that will be used in the new
conversion-rule are the ones in the two last method
``static inline PyObject* toPython(const Complex& cpx)`` and
``static inline Complex toCpp(PyObject* pyobj)``. The ``isConvertible`` method
-is gone, and the ``checkType`` is now an attribute of the :ref:`add-conversion <apiextractor:add-conversion>`
+is gone, and the ``checkType`` is now an attribute of the :ref:`add-conversion <add-conversion>`
tag. Refer back to the first example in this page and you will be able to
correlate the above template with the new scheme of conversion rule definition.
diff --git a/sources/shiboken2/ApiExtractor/doc/typesystem.rst b/sources/shiboken2/doc/typesystem.rst
index b56d21164..7674129cd 100644
--- a/sources/shiboken2/ApiExtractor/doc/typesystem.rst
+++ b/sources/shiboken2/doc/typesystem.rst
@@ -1,5 +1,5 @@
-The API Extractor Type System
-*****************************
+Type System Reference
+*********************
The typesystem is used by a binding generator or any other software using the APIExtractor library
to map a C++ library API onto a higher level language.
diff --git a/sources/shiboken2/ApiExtractor/doc/typesystem_arguments.rst b/sources/shiboken2/doc/typesystem_arguments.rst
index 28a5c80bc..28a5c80bc 100644
--- a/sources/shiboken2/ApiExtractor/doc/typesystem_arguments.rst
+++ b/sources/shiboken2/doc/typesystem_arguments.rst
diff --git a/sources/shiboken2/ApiExtractor/doc/typesystem_conversionrule.rst b/sources/shiboken2/doc/typesystem_conversionrule.rst
index 27e7a72de..27e7a72de 100644
--- a/sources/shiboken2/ApiExtractor/doc/typesystem_conversionrule.rst
+++ b/sources/shiboken2/doc/typesystem_conversionrule.rst
diff --git a/sources/shiboken2/ApiExtractor/doc/typesystem_documentation.rst b/sources/shiboken2/doc/typesystem_documentation.rst
index d73e43cb1..d73e43cb1 100644
--- a/sources/shiboken2/ApiExtractor/doc/typesystem_documentation.rst
+++ b/sources/shiboken2/doc/typesystem_documentation.rst
diff --git a/sources/shiboken2/ApiExtractor/doc/typesystem_manipulating_objects.rst b/sources/shiboken2/doc/typesystem_manipulating_objects.rst
index 12b866ad7..12b866ad7 100644
--- a/sources/shiboken2/ApiExtractor/doc/typesystem_manipulating_objects.rst
+++ b/sources/shiboken2/doc/typesystem_manipulating_objects.rst
diff --git a/sources/shiboken2/ApiExtractor/doc/typesystem_modify_function.rst b/sources/shiboken2/doc/typesystem_modify_function.rst
index 071cea4f5..071cea4f5 100644
--- a/sources/shiboken2/ApiExtractor/doc/typesystem_modify_function.rst
+++ b/sources/shiboken2/doc/typesystem_modify_function.rst
diff --git a/sources/shiboken2/ApiExtractor/doc/typesystem_solving_compilation.rst b/sources/shiboken2/doc/typesystem_solving_compilation.rst
index 23ab9012d..23ab9012d 100644
--- a/sources/shiboken2/ApiExtractor/doc/typesystem_solving_compilation.rst
+++ b/sources/shiboken2/doc/typesystem_solving_compilation.rst
diff --git a/sources/shiboken2/ApiExtractor/doc/typesystem_specifying_types.rst b/sources/shiboken2/doc/typesystem_specifying_types.rst
index f4016bc2c..f4016bc2c 100644
--- a/sources/shiboken2/ApiExtractor/doc/typesystem_specifying_types.rst
+++ b/sources/shiboken2/doc/typesystem_specifying_types.rst
diff --git a/sources/shiboken2/ApiExtractor/doc/typesystem_templates.rst b/sources/shiboken2/doc/typesystem_templates.rst
index 31b155c5a..31b155c5a 100644
--- a/sources/shiboken2/ApiExtractor/doc/typesystem_templates.rst
+++ b/sources/shiboken2/doc/typesystem_templates.rst
diff --git a/sources/shiboken2/doc/typesystemvariables.rst b/sources/shiboken2/doc/typesystemvariables.rst
index e595f7ddc..a07ba0d8c 100644
--- a/sources/shiboken2/doc/typesystemvariables.rst
+++ b/sources/shiboken2/doc/typesystemvariables.rst
@@ -3,7 +3,7 @@ Type System Variables
*********************
User written code can be placed in arbitrary places using the
-:ref:`inject-code <apiextractor:inject-code>` tag. To ease the binding developer
+:ref:`inject-code <inject-code>` tag. To ease the binding developer
work, the injected code can make use of special variables that will be replaced
by the correct values. This also shields the developer from some |project|
implementation specifics.
@@ -59,7 +59,7 @@ Variables
system), this value will be inserted in the argument list. If you want to remove
the argument so completely that it doesn't appear in any form on the
``%ARGUMENT_NAMES`` replacement, don't forget to remove also its default value
- with the :ref:`remove-default-expression <apiextractor:remove-default-expression>` type system tag.
+ with the :ref:`remove-default-expression <remove-default-expression>` type system tag.
Take the following method and related type system description as an example: