diff options
author | Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> | 2018-04-10 10:13:40 +0200 |
---|---|---|
committer | Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> | 2018-04-19 18:44:47 +0000 |
commit | c18e1958334aa2e1c40e87097dade6f103e4ddf1 (patch) | |
tree | 87adcde501a04e9c3d1c10437b267b83ca5c8563 /sources/shiboken2 | |
parent | b5debb687463f77053344f1e4cd7754275e487b2 (diff) |
Upgrade shiboken diagrams and documentation
Applied Qt-style to the diagrams: shapes, and colors.
Removed references to Boost.
Move the .rst links to the bottom of the files for better
maintainability.
Removed unused images and wrapped a few long lines.
Aspell on the rst files.
The links needs to be updated once we have the URL for
the official documentation, since there are references
to external documentation source directories.
Task-number: PYSIDE-622
Change-Id: I2d553a29693ca4457e73a4ce5d78a2150501841d
Reviewed-by: Christian Tismer <tismer@stackless.com>
Diffstat (limited to 'sources/shiboken2')
20 files changed, 892 insertions, 1154 deletions
diff --git a/sources/shiboken2/doc/README.md b/sources/shiboken2/doc/README.md new file mode 100644 index 000000000..2575eafd2 --- /dev/null +++ b/sources/shiboken2/doc/README.md @@ -0,0 +1,12 @@ +# Shiboken Documentation + +The documentation was written and needs to be generated +with [python-sphinx](http://www.sphinx-doc.org/en/master/) + +### Images + +The SVG diagrams use the Qt color scheme. +The font also follows Qt styling, and it is called `Titillium`. +It can be download from: +* https://fonts.google.com/specimen/Titillium+Web +* https://www.fontsquirrel.com/fonts/Titillium diff --git a/sources/shiboken2/doc/codeinjectionsemantics.rst b/sources/shiboken2/doc/codeinjectionsemantics.rst index d748a3aae..bf3ddbe5e 100644 --- a/sources/shiboken2/doc/codeinjectionsemantics.rst +++ b/sources/shiboken2/doc/codeinjectionsemantics.rst @@ -2,11 +2,12 @@ Code Injection Semantics ************************ -API Extractor provides the `inject-code -<http://www.pyside.org/docs/apiextractor/typesystem_manipulating_objects.html#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. +API Extractor provides the `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. + This is the ``inject-code`` tag options that matters to |project|. @@ -16,6 +17,7 @@ This is the ``inject-code`` tag options that matters to |project|. // custom code </inject-code> + Conventions =========== @@ -86,7 +88,7 @@ The following table describes the semantics of ``inject-code`` tag as used on | | | |signature. | | +------+---------+--------------------------------------------------------------+ | |shell |beginning|Used only for virtual functions. The code is injected when the| - | | | |function does not has a pyhton implementation, then the code | + | | | |function does not has a Python implementation, then the code | | | | |is inserted before c++ call | | | +---------+--------------------------------------------------------------+ | | |end |Same as above, but the code is inserted after c++ call | @@ -158,7 +160,7 @@ If the argument is removed and no default value is provided, the generator will not write any call to the method and expect the ``modify-function - target/beginning`` code injection to call the original C++ method on its own terms. If even this custom code is not provided the generator will put an ``#error`` clause to -prevent compilation of erroneus binding code. +prevent compilation of erroneous binding code. Calling the method with your own hands always! ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -352,7 +354,7 @@ Code injections to the class Python initialization function. Code Injection for Modules ========================== -The C++ libraries are wapped as Python modules, a collection of classes, +The C++ libraries are wrapped as Python modules, a collection of classes, functions, enums and namespaces. |project| creates wrapper files for all of them and also one extra ``MODULENAME_module_wrapper.cpp`` to register the whole module. Code injection xml tags who have the ``typesystem`` tag as parent will @@ -395,3 +397,5 @@ to prevent bad custom code to pass unnoticed. // Start of ``MODULENAME_module_wrapper.cpp`` + +.. _`inject-code`: http://www.pyside.org/docs/apiextractor/typesystem_manipulating_objects.html#inject-code diff --git a/sources/shiboken2/doc/dependency-pyqtb.svg b/sources/shiboken2/doc/dependency-pyqtb.svg deleted file mode 100644 index a458bf6fb..000000000 --- a/sources/shiboken2/doc/dependency-pyqtb.svg +++ /dev/null @@ -1,600 +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="800" - height="340" - id="svg2" - sodipodi:version="0.32" - inkscape:version="0.46" - version="1.0" - sodipodi:docname="dependency-pyqtb.svg" - inkscape:output_extension="org.inkscape.output.svg.inkscape" - inkscape:export-filename="/var/www/lauro/dependency-pyqtb.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" /> - <inkscape:perspective - id="perspective3480" - inkscape:persp3d-origin="372.04724 : 350.78739 : 1" - inkscape:vp_z="744.09448 : 526.18109 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_x="0 : 526.18109 : 1" - sodipodi:type="inkscape:persp3d" /> - <inkscape:perspective - id="perspective3498" - inkscape:persp3d-origin="372.04724 : 350.78739 : 1" - inkscape:vp_z="744.09448 : 526.18109 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_x="0 : 526.18109 : 1" - sodipodi:type="inkscape:persp3d" /> - <inkscape:perspective - id="perspective3541" - inkscape:persp3d-origin="372.04724 : 350.78739 : 1" - inkscape:vp_z="744.09448 : 526.18109 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_x="0 : 526.18109 : 1" - sodipodi:type="inkscape:persp3d" /> - </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.0425" - inkscape:cx="400" - inkscape:cy="170" - inkscape:document-units="px" - inkscape:current-layer="g3995" - showgrid="false" - showguides="true" - inkscape:guide-bbox="true" - inkscape:window-width="1280" - inkscape:window-height="951" - inkscape:window-x="0" - inkscape:window-y="25" /> - <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(-94.976306,-355.09425)" /> - <g - id="g4087" - transform="translate(2.4157429e-6,1.9999951)"> - <g - id="g3995" - transform="translate(6,-3.2661035e-8)"> - <path - style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.66823119px;stroke-linecap:butt;stroke-linejoin:miter;marker-start:url(#Arrow1Lstart);marker-end:none;stroke-opacity:1" - d="M 281.95594,47.06539 L 314.12853,47.06538" - id="path2877" - inkscape:connector-type="polyline" /> - <g - id="g3801" - transform="translate(-9.3125054,-154.20033)"> - <rect - y="286.49988" - x="322.2547" - height="73.367416" - width="194.85175" - id="rect3595" - style="fill:#9ac5ff;fill-opacity:1;fill-rule:evenodd;stroke:#003378;stroke-width:0.8142156;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - ry="10.318988" - rx="8.598484" /> - <g - transform="translate(1.7229236,-30.915768)" - id="g3599"> - <text - xml:space="preserve" - style="font-size:16.27989578px;font-style:normal;font-weight:normal;fill:#00183c;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - x="329.46826" - y="336.95081" - id="text2443"><tspan - sodipodi:role="line" - id="tspan2445" - x="329.46826" - y="336.95081">API Extractor</tspan></text> - <text - xml:space="preserve" - style="font-size:8.40044498px;font-style:normal;font-weight:normal;fill:#00183c;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - x="329.46826" - y="352.61548" - id="text2447"><tspan - sodipodi:role="line" - id="tspan2449" - x="329.46826" - y="352.61548">0.2</tspan></text> - <text - xml:space="preserve" - style="font-size:9.33067703px;font-style:normal;font-weight:normal;fill:#00183c;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - x="329.46826" - y="368.15546" - id="text2451"><tspan - sodipodi:role="line" - x="329.46826" - y="368.15546" - id="tspan2453">Headers and libraries - compile-time</tspan></text> - <text - xml:space="preserve" - style="font-size:8.26250458px;font-style:normal;font-weight:normal;fill:#00183c;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - x="329.46826" - y="383.47839" - id="text2455"><tspan - sodipodi:role="line" - id="tspan2457" - x="329.46826" - y="383.47839">LGPL version 2.1</tspan></text> - </g> - </g> - <g - id="g3729" - transform="translate(-9.3125054,-153.6367)"> - <rect - y="164.01837" - x="322.2547" - height="73.367416" - width="194.85175" - id="rect2459" - style="fill:#9ac5ff;fill-opacity:1;fill-rule:evenodd;stroke:#003378;stroke-width:0.8142156;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - ry="10.318988" - rx="8.598484" /> - <g - transform="translate(3.673984,2.3276517)" - id="g3585"> - <text - xml:space="preserve" - style="font-size:16.27989578px;font-style:normal;font-weight:normal;fill:#00183c;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - x="329.46826" - y="181.23659" - id="text2461"><tspan - sodipodi:role="line" - id="tspan2463" - x="329.46826" - y="181.23659">Shiboken (generator)</tspan></text> - <text - xml:space="preserve" - style="font-size:8.40044498px;font-style:normal;font-weight:normal;fill:#00183c;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - x="329.46826" - y="196.90126" - id="text2465"><tspan - sodipodi:role="line" - id="tspan2467" - x="329.46826" - y="196.90126">0.1</tspan></text> - <text - xml:space="preserve" - style="font-size:9.33067703px;font-style:normal;font-weight:normal;fill:#00183c;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - x="329.46826" - y="212.44124" - id="text2469"><tspan - sodipodi:role="line" - x="329.46826" - y="212.44124" - id="tspan2471">Binary executable - compile-time</tspan></text> - <text - xml:space="preserve" - style="font-size:8.26250458px;font-style:normal;font-weight:normal;fill:#00183c;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - x="329.46826" - y="227.76418" - id="text2473"><tspan - sodipodi:role="line" - id="tspan2475" - x="329.46826" - y="227.76418">GPL version 2</tspan></text> - </g> - </g> - <g - id="g3789" - transform="translate(-9.3125054,-154.20033)"> - <rect - y="406.48441" - x="322.2547" - height="73.367416" - width="194.85175" - id="rect3597" - style="fill:#f3a6a6;fill-opacity:1;fill-rule:evenodd;stroke:#6a0e0e;stroke-width:0.8142156;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - ry="10.318988" - rx="8.598484" /> - <g - transform="translate(-0.7447933,-64)" - id="g3633"> - <text - xml:space="preserve" - style="font-size:16.27989578px;font-style:normal;font-weight:normal;fill:#350707;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - x="329.46826" - y="489.09369" - id="text2565"><tspan - sodipodi:role="line" - id="tspan2567" - x="329.46826" - y="489.09369">boost::graph</tspan></text> - <text - xml:space="preserve" - style="font-size:8.40044498px;font-style:normal;font-weight:normal;fill:#350707;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - x="329.46826" - y="504.75836" - id="text2569"><tspan - sodipodi:role="line" - id="tspan2571" - x="329.46826" - y="504.75836">1.38.0</tspan></text> - <text - xml:space="preserve" - style="font-size:9.33067703px;font-style:normal;font-weight:normal;fill:#350707;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - x="329.46826" - y="520.29834" - id="text2573"><tspan - sodipodi:role="line" - x="329.46826" - y="520.29834" - id="tspan2575">headers and libraries - compile-time</tspan></text> - <text - xml:space="preserve" - style="font-size:8.26250458px;font-style:normal;font-weight:normal;fill:#350707;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - x="329.46826" - y="535.62128" - id="text2577"><tspan - sodipodi:role="line" - id="tspan2579" - x="329.46826" - y="535.62128">Boost Software License 1.0</tspan></text> - </g> - </g> - <path - style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.77180147px;stroke-linecap:butt;stroke-linejoin:miter;marker-start:url(#Arrow1Lstart);marker-end:none;stroke-opacity:1" - d="M 410.36806,130.70564 L 410.36806,83.52386" - id="path2879" - inkscape:connector-type="polyline" /> - <path - style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.77360356px;stroke-linecap:butt;stroke-linejoin:miter;marker-start:url(#Arrow1Lstart);marker-mid:none;marker-end:none;stroke-opacity:1" - d="M 410.36806,252.57322 L 410.36806,207.23899" - id="path2881" - inkscape:connector-type="polyline" /> - <g - id="g3565" - transform="translate(1.4608973,-106.88798)"> - <rect - ry="22.567146" - y="268.8403" - x="6.7667637" - height="163.45378" - width="273.78238" - id="rect7541" - style="fill:#e3e2db;stroke:#000000;stroke-width:1.30499184;stroke-opacity:1" - rx="22.567146" /> - <g - transform="translate(0.2849671,3.2991583)" - id="g3547"> - <g - id="g3516" - transform="translate(0,63.999998)"> - <text - id="text7543" - y="339.74512" - x="76.614265" - style="font-size:20.61732101px;font-style:normal;font-weight:normal;fill:#350707;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - xml:space="preserve"><tspan - y="339.74512" - x="76.614265" - id="tspan7545" - sodipodi:role="line">Boost</tspan></text> - <rect - ry="6.4285707" - y="321.55374" - x="21.614267" - height="22.5" - width="43.163269" - id="rect7555" - style="fill:#f3a6a6;fill-opacity:1;stroke:#6a0e0e;stroke-width:0.64285713;stroke-opacity:1" - rx="6.4285707" /> - </g> - <g - id="g3521" - transform="translate(0,-2.9523642)"> - <text - id="text7547" - y="372.67505" - x="76.614265" - style="font-size:20.61732101px;font-style:normal;font-weight:normal;fill:#1c2d0f;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - xml:space="preserve"><tspan - y="372.67505" - x="76.614265" - id="tspan7549" - sodipodi:role="line">Qt Software</tspan></text> - <rect - ry="6.4285707" - y="355.4823" - x="21.614267" - height="22.5" - width="43.163269" - id="rect7561" - style="fill:#97ce6c;fill-opacity:1;stroke:#385a1e;stroke-width:0.64285713;stroke-opacity:1" - rx="6.4285707" /> - </g> - <g - id="g3486" - transform="translate(0,2.8342009e-5)"> - <text - id="text7551" - y="304.38055" - x="76.614265" - style="font-size:20.61732101px;font-style:normal;font-weight:normal;fill:#00193c;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - xml:space="preserve"><tspan - y="304.38055" - x="76.614265" - id="tspan7553" - sodipodi:role="line">INdT/Nokia</tspan></text> - <rect - ry="6.4285707" - y="286.4823" - x="21.614267" - height="22.5" - width="43.163269" - id="rect7563" - style="fill:#9ac5ff;fill-opacity:1;stroke:#003378;stroke-width:0.64285713;stroke-opacity:1" - rx="6.4285707" /> - </g> - <g - id="g3526" - transform="translate(-1.3182277,-35.976168)" - style="fill:#ffe052;fill-opacity:1"> - <text - id="text3528" - y="372.67505" - x="76.614265" - style="font-size:20.61732101px;font-style:normal;font-weight:normal;fill:#3c3100;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - xml:space="preserve"><tspan - y="372.67505" - x="76.614265" - id="tspan3530" - sodipodi:role="line">Python Foundation</tspan></text> - <rect - ry="6.4285707" - y="355.4823" - x="21.614267" - height="22.5" - width="43.163269" - id="rect3532" - style="fill:#ffe052;fill-opacity:1;stroke:#786200;stroke-width:0.64285713;stroke-opacity:1" - rx="6.4285707" /> - </g> - </g> - </g> - <g - id="g3717" - transform="translate(232.28126,-66.767457)"> - <rect - y="77.149132" - x="322.2547" - height="73.367416" - width="194.85175" - id="rect3657" - style="fill:#9ac5ff;fill-opacity:1;fill-rule:evenodd;stroke:#003378;stroke-width:0.8142156;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - ry="10.318988" - rx="8.598484" /> - <g - transform="translate(4.8773009,-84.541588)" - id="g3659"> - <text - xml:space="preserve" - style="font-size:16.27989578px;font-style:normal;font-weight:normal;fill:#00183c;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - x="329.46826" - y="181.23659" - id="text3661"><tspan - sodipodi:role="line" - id="tspan3663" - x="329.46826" - y="181.23659">libshiboken</tspan></text> - <text - xml:space="preserve" - style="font-size:8.40044498px;font-style:normal;font-weight:normal;fill:#00183c;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - x="329.46826" - y="196.90126" - id="text3665"><tspan - sodipodi:role="line" - id="tspan3667" - x="329.46826" - y="196.90126">0.1</tspan></text> - <text - xml:space="preserve" - style="font-size:9.33067703px;font-style:normal;font-weight:normal;fill:#00183c;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - x="329.46826" - y="212.44124" - id="text3669"><tspan - sodipodi:role="line" - x="329.46826" - y="212.44124" - id="tspan3671">Headers and libraries - compile-time</tspan></text> - <text - xml:space="preserve" - style="font-size:8.26250458px;font-style:normal;font-weight:normal;fill:#00183c;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - x="329.46826" - y="227.76418" - id="text3673"><tspan - sodipodi:role="line" - id="tspan3675" - x="329.46826" - y="227.76418">LGPL version 2.1</tspan></text> - </g> - </g> - <g - id="g3752" - transform="translate(-10.802055,-155.79173)"> - <rect - rx="8.3239012" - y="166.21593" - x="18.860012" - height="73.282379" - width="274.18781" - id="rect2417" - style="fill:#97ce6c;fill-opacity:1;fill-rule:evenodd;stroke:#385a1e;stroke-width:0.96558368px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - ry="9.2689295" /> - <g - id="g3741"> - <text - xml:space="preserve" - style="font-size:16.27989578px;font-style:normal;font-weight:normal;fill:#1c2d0f;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - x="29.111408" - y="183.02223" - id="text2419"><tspan - sodipodi:role="line" - id="tspan2421" - x="29.111408" - y="183.02223">Qt 4.5</tspan></text> - <text - xml:space="preserve" - style="font-size:8.40044498px;font-style:normal;font-weight:normal;fill:#1c2d0f;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - x="29.111408" - y="198.68694" - id="text2423"><tspan - sodipodi:role="line" - id="tspan2425" - x="29.111408" - y="198.68694">4.5</tspan></text> - <text - xml:space="preserve" - style="font-size:9.33067703px;font-style:normal;font-weight:normal;fill:#1c2d0f;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - x="29.111408" - y="214.22688" - id="text2427"><tspan - sodipodi:role="line" - id="tspan2429" - x="29.111408" - y="214.22688">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:#1c2d0f;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - x="29.111408" - y="224.19267" - id="text2431"><tspan - sodipodi:role="line" - id="tspan2433" - x="29.111408" - y="224.19267">GNU General Public License v3 /</tspan><tspan - id="tspan2472" - sodipodi:role="line" - x="29.111408" - y="234.5208">GNU Lesser General Public Licence v2.1</tspan></text> - </g> - </g> - <g - id="g3765" - transform="translate(201.65125,55.15042)"> - <rect - y="77.208275" - x="322.31384" - height="73.24913" - width="255.99348" - id="rect3767" - style="fill:#ffe052;fill-opacity:1;fill-rule:evenodd;stroke:#786200;stroke-width:0.93250537;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - ry="10.318988" - rx="8.598484" /> - <g - transform="translate(4.8773009,-84.541588)" - id="g3769"> - <text - xml:space="preserve" - style="font-size:16.27989578px;font-style:normal;font-weight:normal;fill:#3c3100;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - x="329.46826" - y="181.23659" - id="text3771"><tspan - sodipodi:role="line" - id="tspan3773" - x="329.46826" - y="181.23659">Python</tspan></text> - <text - xml:space="preserve" - style="font-size:8.40044498px;font-style:normal;font-weight:normal;fill:#3c3100;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - x="329.46826" - y="196.90126" - id="text3775"><tspan - sodipodi:role="line" - id="tspan3777" - x="329.46826" - y="196.90126">2.6</tspan></text> - <text - xml:space="preserve" - style="font-size:9.33067703px;font-style:normal;font-weight:normal;fill:#3c3100;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - x="329.46826" - y="212.44124" - id="text3779"><tspan - sodipodi:role="line" - x="329.46826" - y="212.44124" - id="tspan3781">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:#3c3100;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - x="329.46826" - y="227.76418" - id="text3783"><tspan - sodipodi:role="line" - id="tspan3785" - x="329.46826" - y="227.76418">Python license</tspan></text> - </g> - </g> - <path - style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.77180147px;stroke-linecap:butt;stroke-linejoin:miter;marker-start:url(#Arrow1Lstart);marker-end:none;stroke-opacity:1" - d="M 651.96184,131.80908 L 651.96184,84.6273" - id="path3787" - inkscape:connector-type="polyline" /> - </g> - </g> -</svg> diff --git a/sources/shiboken2/doc/faq.rst b/sources/shiboken2/doc/faq.rst index 77e0fbdfc..4b2bf9eea 100644 --- a/sources/shiboken2/doc/faq.rst +++ b/sources/shiboken2/doc/faq.rst @@ -2,8 +2,8 @@ Frequently Asked Questions ************************** -This is a list of Frequently Asked Questions about |project|. Feel free to -suggest new entries! +This is a list of Frequently Asked Questions about |project|. +Feel free to suggest new entries using our `Mailing list`_ or our IRC channel! General ======= @@ -11,17 +11,20 @@ General What is Shiboken? ----------------- -Shiboken is a `GeneratorRunner <http://www.pyside.org/home-binding/binding-generator>`_ -plugin that outputs C++ code for CPython extensions. The first version of PySide -had source code based on Boost templates. It was easier to produce code but a -paradigm change was needed, as the next question explains. +Shiboken is a `GeneratorRunner`_ that outputs C++ code for CPython +extensions. +The first version of PySide had source code based on Boost templates. +It was easier to produce code but a paradigm change was needed, as the next +question explains. + Why did you switch from Boost.Python to Shiboken? ------------------------------------------------- -The main reason was the size reduction. Boost.Python makes excessive use of templates -resulting in a significant increase of the binaries size. On the other hand, as Shiboken -generates CPython code, the resulting binaries are smaller. +The main reason was the size reduction. Boost.Python makes excessive use of +templates resulting in a significant increase of the binaries size. +On the other hand, as Shiboken generates CPython code, the resulting binaries +are smaller. Creating bindings ================= @@ -41,13 +44,12 @@ and the C++ library that is being wrapped. What do I have to do to create my bindings? ------------------------------------------- -.. todo: put link to typesystem documentation +Most of the work is already done by the API Extractor. +The developer creates a `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 +will wrap the target library for python. -Most of the work is already done by the API Extractor. The developer creates -a `typesystem <http://www.pyside.org/docs/apiextractor/typesystem.html>`_ 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 will wrap the target library for python. Is there any recommended build system? -------------------------------------- @@ -63,5 +65,8 @@ What is 'inject code'? ---------------------- That's how we call customized code that will be *injected* into the -generated at specific locations. They are specified inside the typesytem. +generated at specific locations. They are specified inside the typesystem. +.. _`Mailing list`: http://lists.qt-project.org/mailman/listinfo/pyside +.. _`GeneratorRunner`: http://www.pyside.org/home-binding/binding-generator +.. _`typesystem`: http://www.pyside.org/docs/apiextractor/typesystem.html diff --git a/sources/shiboken2/doc/images/bindinggen-development.png b/sources/shiboken2/doc/images/bindinggen-development.png Binary files differindex 2dd64ba1d..5931b126a 100644 --- a/sources/shiboken2/doc/images/bindinggen-development.png +++ b/sources/shiboken2/doc/images/bindinggen-development.png diff --git a/sources/shiboken2/doc/images/bindinggen-development.svg b/sources/shiboken2/doc/images/bindinggen-development.svg index 3b6b3a26e..591e1f2d1 100644 --- a/sources/shiboken2/doc/images/bindinggen-development.svg +++ b/sources/shiboken2/doc/images/bindinggen-development.svg @@ -1,5 +1,6 @@ <?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#" @@ -12,9 +13,9 @@ height="200" id="svg2" sodipodi:version="0.32" - inkscape:version="0.46" + inkscape:version="0.92.2 2405546, 2018-03-11" version="1.0" - sodipodi:docname="bindgen-development.svg" + sodipodi:docname="bindinggen-development.svg" inkscape:output_extension="org.inkscape.output.svg.inkscape" inkscape:export-filename="bindinggen-development.png" inkscape:export-xdpi="90" @@ -140,22 +141,24 @@ objecttolerance="10" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="1.0859375" - inkscape:cx="320" - inkscape:cy="136.17463" + inkscape:zoom="0.76787377" + inkscape:cx="286.61779" + inkscape:cy="101.18182" inkscape:document-units="px" - inkscape:current-layer="g5658" + inkscape:current-layer="g5440" showgrid="false" - inkscape:window-width="1156" - inkscape:window-height="883" - inkscape:window-x="1396" - inkscape:window-y="35" + inkscape:window-width="1116" + inkscape:window-height="1042" + inkscape:window-x="10" + inkscape:window-y="28" showguides="true" - inkscape:guide-bbox="true"> + inkscape:guide-bbox="true" + inkscape:window-maximized="0"> <sodipodi:guide orientation="1,0" position="-557.55608,678.10875" - id="guide7299" /> + id="guide7299" + inkscape:locked="false" /> </sodipodi:namedview> <metadata id="metadata7"> @@ -176,7 +179,7 @@ <flowRoot xml:space="preserve" id="flowRoot3229" - style="font-size:40px;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" + style="font-style:normal;font-weight:normal;line-height:0.01%;font-family:'Bitstream Vera Sans';fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" transform="translate(4.1137413,-2.3429609)"><flowRegion id="flowRegion3231"><rect id="rect3233" @@ -184,166 +187,269 @@ height="40.5849" x="388.45547" y="279.5423" /></flowRegion><flowPara - id="flowPara3235" /></flowRoot> <g + id="flowPara3235" + style="font-size:40px;line-height:1.25">Â </flowPara></flowRoot> <g id="g5658" transform="translate(6.5767925,7.0112479)"> <g - id="g5634"> + transform="matrix(0,-1,1,0,697.50638,3244.256)" + id="g5624" + style=""> + <g + id="g5626" + transform="matrix(0,-1,1,0,-294.81158,2953.0504)" + style=""> + <path + sodipodi:nodetypes="cc" + inkscape:connector-type="polyline" + id="path5628" + d="m 1586.5317,1348.2858 0.091,41.5266" + style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-start:none" + inkscape:connector-curvature="0" /> + <path + style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-start:none" + d="m 1586.7489,1389.4756 7.9979,-9.1068" + id="path5630" + inkscape:connector-type="polyline" + sodipodi:nodetypes="cc" + inkscape:connector-curvature="0" /> + <path + style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-start:none" + d="m 1586.6031,1389.5063 -7.9979,-9.1069" + id="path5632" + inkscape:connector-type="polyline" + sodipodi:nodetypes="cc" + inkscape:connector-curvature="0" /> + </g> + </g> + <g + transform="matrix(0,-1,1,0,908.50929,3242.9612)" + id="g5648" + style=""> + <g + id="g5650" + transform="matrix(0,-1,1,0,-294.81158,2953.0504)" + style=""> + <path + sodipodi:nodetypes="cc" + inkscape:connector-type="polyline" + id="path5652" + d="m 1586.5317,1348.2858 0.091,41.5266" + style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-start:none" + inkscape:connector-curvature="0" /> + <path + style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-start:none" + d="m 1586.7489,1389.4756 7.9979,-9.1068" + id="path5654" + inkscape:connector-type="polyline" + sodipodi:nodetypes="cc" + inkscape:connector-curvature="0" /> + <path + style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-start:none" + d="m 1586.6031,1389.5063 -7.9979,-9.1069" + id="path5656" + inkscape:connector-type="polyline" + sodipodi:nodetypes="cc" + inkscape:connector-curvature="0" /> + </g> + </g> + <g + id="g5634" + style=""> <g id="g6271" - transform="translate(1086.3689,746.93837)"> + transform="translate(1086.3689,746.93837)" + style=""> <g transform="matrix(0,-1,1,0,-294.81158,2953.0504)" - id="g6252"> + id="g6252" + style=""> <path - style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline" - d="M 1586.5317,1300.2858 L 1586.6222,1389.8124" + style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-start:none" + d="m 1586.5317,1300.2858 0.091,89.5266" id="path11089" inkscape:connector-type="polyline" - sodipodi:nodetypes="cc" /> + sodipodi:nodetypes="cc" + inkscape:connector-curvature="0" /> <path sodipodi:nodetypes="cc" inkscape:connector-type="polyline" id="path2758" - d="M 1586.7489,1389.4756 L 1594.7468,1380.3688" - style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline" /> + d="m 1586.7489,1389.4756 7.9979,-9.1068" + style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-start:none" + inkscape:connector-curvature="0" /> <path sodipodi:nodetypes="cc" inkscape:connector-type="polyline" id="path2760" - d="M 1586.6031,1389.5063 L 1578.6052,1380.3994" - style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline" /> + d="m 1586.6031,1389.5063 -7.9979,-9.1069" + style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-start:none" + inkscape:connector-curvature="0" /> </g> </g> </g> <g - transform="translate(134.35978,44.472131)" - id="g2777"> - <rect - style="fill:#addc52;fill-opacity:1;stroke:#6ca400;stroke-width:0.82399696;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="rect5172" - width="185.49777" - height="75.08918" - x="2047.775" - y="2029.4594" - ry="3.0323718" - rx="2.6724329" /> - <text - xml:space="preserve" - style="font-size:40px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#035800;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - x="2140.5562" - y="2062.9375" - id="text5174"><tspan - sodipodi:role="line" - x="2140.5562" - y="2062.9375" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;text-anchor:middle;fill:#050800;fill-opacity:1;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans Bold" - id="tspan5176">Qt bindings</tspan><tspan - id="tspan6109" - sodipodi:role="line" - x="2140.5562" - y="2084.457" - style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#050800;fill-opacity:1;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans">(generated code)</tspan></text> - </g> - <g - transform="translate(141.86951,-31.391207)" - id="g3216"> - <rect - style="fill:#bff3bc;fill-opacity:1;stroke:#0af400;stroke-width:0.64492828;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="rect3625" - width="185.67708" - height="75.268074" - x="1829.1727" - y="2105.2332" - ry="2.3353095" - rx="2.1257713" /> - <text - xml:space="preserve" - style="font-size:38.71272278px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#035800;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - x="1921.9705" - y="2136.9409" - id="text3627" - transform="scale(1.0000266,0.9999734)"><tspan - id="tspan3697" - sodipodi:role="line" - x="1921.9705" - y="2136.9409" - style="font-size:21.29199791px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;text-anchor:middle;fill:#035800;fill-opacity:1;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans Bold">generator</tspan><tspan - sodipodi:role="line" - x="1921.9705" - y="2163.5559" - style="font-size:21.29199791px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;text-anchor:middle;fill:#035800;fill-opacity:1;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans Bold" - id="tspan2464">front-end</tspan></text> - </g> - <g - id="g5641"> + id="g5641" + style=""> <g id="g5465" - transform="translate(874.42628,746.93837)"> + transform="translate(874.42628,746.93837)" + style=""> <g transform="matrix(0,-1,1,0,-294.81158,2953.0504)" - id="g5467"> + id="g5467" + style=""> <path - style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline" - d="M 1586.5317,1300.2858 L 1586.6222,1389.8124" + style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-start:none" + d="m 1586.5317,1300.2858 0.091,89.5266" id="path5469" inkscape:connector-type="polyline" - sodipodi:nodetypes="cc" /> + sodipodi:nodetypes="cc" + inkscape:connector-curvature="0" /> <path sodipodi:nodetypes="cc" inkscape:connector-type="polyline" id="path5471" - d="M 1586.7489,1389.4756 L 1594.7468,1380.3688" - style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline" /> + d="m 1586.7489,1389.4756 7.9979,-9.1068" + style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-start:none" + inkscape:connector-curvature="0" /> <path sodipodi:nodetypes="cc" inkscape:connector-type="polyline" id="path5473" - d="M 1586.6031,1389.5063 L 1578.6052,1380.3994" - style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline" /> + d="m 1586.6031,1389.5063 -7.9979,-9.1069" + style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-start:none" + inkscape:connector-curvature="0" /> </g> </g> </g> <g transform="translate(-194.79968,-212.08495)" id="g5440"> - <rect - rx="1.2158648" - ry="2.9911308" - y="2285.8806" - x="1953.809" - height="75.360634" - width="185.76964" - id="rect3166" - style="fill:#dfe994;fill-opacity:1;stroke:#d5f400;stroke-width:0.55236381;stroke-opacity:1" /> + <path + style="fill:#41cd52;fill-opacity:1;stroke:none;stroke-width:2.18747473;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 2378.6251,2292.247 v 66.9548 h 171.1068 l 14.8788,-14.8788 v -66.9549 h -171.1068 z" + id="path3715-5-6-7-9-8-7" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccccc" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24px;line-height:0%;font-family:Titillium;-inkscape-font-specification:'Titillium, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.29069424px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;" + x="2471.614" + y="2309.093" + id="text5174"><tspan + sodipodi:role="line" + x="2471.614" + y="2309.093" + style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:24px;line-height:1.25;font-family:Titillium;-inkscape-font-specification:'Titillium, Semi-Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke-width:1.29069424px;" + id="tspan953">Qt for Python</tspan><tspan + id="tspan6109" + sodipodi:role="line" + x="2471.614" + y="2339.093" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24px;line-height:1.25;font-family:Titillium;-inkscape-font-specification:'Titillium, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke-width:1.29069424px;">(generated code)</tspan></text> + <path + style="fill:#6b7080;fill-opacity:1;stroke:none;stroke-width:2.18747473;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 2166.5963,2292.247 v 66.9548 h 171.1068 l 14.8788,-14.8788 v -66.9549 h -171.1068 z" + id="path3715-5-6-7-9-8-7-9-94" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccccc" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24px;line-height:0%;font-family:Titillium;-inkscape-font-specification:'Titillium, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.50930572px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;" + x="2259.1294" + y="2311.0505" + id="text3627" + transform="scale(1.0000266,0.9999734)"><tspan + id="tspan3697" + sodipodi:role="line" + x="2259.1294" + y="2311.0505" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24px;line-height:1.25;font-family:Titillium;-inkscape-font-specification:'Titillium, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke-width:1.50930572px;">generator</tspan><tspan + sodipodi:role="line" + x="2259.1294" + y="2341.0505" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24px;line-height:1.25;font-family:Titillium;-inkscape-font-specification:'Titillium, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke-width:1.50930572px;" + id="tspan2464">front-end</tspan></text> + <path + style="fill:#6b7080;fill-opacity:1;stroke:none;stroke-width:2.18747473;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 1959.8625,2292.2469 v 66.9548 h 171.1068 l 14.8788,-14.8788 v -66.9549 h -171.1068 z" + id="path3715-5-6-7-9-8-7-9-1" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccccc" /> <text id="text3168" - y="2328.8809" - x="2046.646" - style="font-size:27.94354057px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#4c5800;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" + y="2326.4568" + x="2052.7678" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24px;line-height:0%;font-family:Titillium;-inkscape-font-specification:'Titillium, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.65129721px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;" xml:space="preserve"><tspan - style="font-size:19.56047821px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;text-anchor:middle;fill:#4c5800;fill-opacity:1;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans" - y="2328.8809" - x="2046.646" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24px;line-height:1.25;font-family:Titillium;-inkscape-font-specification:'Titillium, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke-width:1.65129721px;" + y="2326.4568" + x="2052.7678" sodipodi:role="line" id="tspan5424">API Extractor</tspan></text> + <path + style="fill:#9d9faa;fill-opacity:1;stroke:none;stroke-width:2.18747473;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 2378.6251,2393.0867 v 66.9548 h 171.1068 l 14.8788,-14.8788 v -66.9549 h -171.1068 z" + id="path3715-5-6-7-9-8-7-9-9" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccccc" /> + <text + id="text3487" + y="2410.3647" + x="2471.614" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24px;line-height:0%;font-family:Titillium;-inkscape-font-specification:'Titillium, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.44197154px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;" + xml:space="preserve"><tspan + id="tspan2509" + style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:24px;line-height:1.25;font-family:Titillium;-inkscape-font-specification:'Titillium, Semi-Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke-width:1.44197154px;" + y="2410.3647" + x="2471.614" + sodipodi:role="line">typesystem</tspan><tspan + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24px;line-height:1.25;font-family:Titillium;-inkscape-font-specification:'Titillium, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke-width:1.44197154px;" + y="2440.3647" + x="2471.614" + sodipodi:role="line" + id="tspan5432">(handwritten)</tspan></text> + <path + style="fill:#9d9faa;fill-opacity:1;stroke:none;stroke-width:2.18747473;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 2166.5963,2394.0075 v 66.9548 h 171.1068 l 14.8788,-14.8788 v -66.9549 h -171.1068 z" + id="path3715-5-6-7-9-8-7-9" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccccc" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24px;line-height:0%;font-family:Titillium;-inkscape-font-specification:'Titillium, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.58586931px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;" + x="2259.5852" + y="2412.0415" + id="text2735"><tspan + sodipodi:role="line" + x="2259.5852" + y="2412.0415" + style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:24px;line-height:1.25;font-family:Titillium;-inkscape-font-specification:'Titillium, Semi-Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke-width:1.58586931px;" + id="tspan2737">injected code</tspan><tspan + id="tspan2743" + sodipodi:role="line" + x="2259.5852" + y="2442.0415" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24px;line-height:1.25;font-family:Titillium;-inkscape-font-specification:'Titillium, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke-width:1.58586931px;">(handwritten)</tspan></text> </g> <g transform="translate(-102.30216,-279.71223)" - id="g5541"> + id="g5541" + style="stroke:none"> <path sodipodi:type="arc" - style="fill:#f28888;fill-opacity:1;stroke:#d5f400;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + style="fill:#f28888;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" id="path5535" sodipodi:cx="255.10791" sodipodi:cy="326.69064" sodipodi:rx="38.848923" sodipodi:ry="38.848923" - d="M 293.95683,326.69064 A 38.848923,38.848923 0 1 1 216.25899,326.69064 A 38.848923,38.848923 0 1 1 293.95683,326.69064 z" + d="m 293.95683,326.69064 a 38.848923,38.848923 0 0 1 -38.84892,38.84893 38.848923,38.848923 0 0 1 -38.84892,-38.84893 38.848923,38.848923 0 0 1 38.84892,-38.84892 38.848923,38.848923 0 0 1 38.84892,38.84892 z" transform="matrix(0.4405339,0,0,0.4405339,1842.2283,2282.9708)" /> <text xml:space="preserve" - style="font-size:27.62000275px;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" + style="font-style:normal;font-weight:normal;line-height:0%;font-family:Titillium;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;-inkscape-font-specification:'Titillium, Normal';font-stretch:normal;font-variant:normal;font-size:26.66666667px;text-anchor:start;text-align:start;writing-mode:lr;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal" x="1946.3259" y="2435.7" id="text5537"><tspan @@ -351,24 +457,25 @@ id="tspan5539" x="1946.3259" y="2435.7" - style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:FreeMono;-inkscape-font-specification:FreeMono Bold">1</tspan></text> + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:26.66666667px;line-height:1.25;font-family:Titillium;-inkscape-font-specification:'Titillium, Normal';text-anchor:start;text-align:start;writing-mode:lr;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;stroke:none">1</tspan></text> </g> <g transform="translate(52.589867,-352.69787)" - id="g5546"> + id="g5546" + style="stroke:none"> <path sodipodi:type="arc" - style="fill:#f28888;fill-opacity:1;stroke:#d5f400;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + style="fill:#f28888;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" id="path5548" sodipodi:cx="255.10791" sodipodi:cy="326.69064" sodipodi:rx="38.848923" sodipodi:ry="38.848923" - d="M 293.95683,326.69064 A 38.848923,38.848923 0 1 1 216.25899,326.69064 A 38.848923,38.848923 0 1 1 293.95683,326.69064 z" + d="m 293.95683,326.69064 a 38.848923,38.848923 0 0 1 -38.84892,38.84893 38.848923,38.848923 0 0 1 -38.84892,-38.84893 38.848923,38.848923 0 0 1 38.84892,-38.84892 38.848923,38.848923 0 0 1 38.84892,38.84892 z" transform="matrix(0.4405339,0,0,0.4405339,1842.2283,2282.9708)" /> <text xml:space="preserve" - style="font-size:27.62000275px;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" + style="font-style:normal;font-weight:normal;line-height:0%;font-family:Titillium;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;-inkscape-font-specification:'Titillium, Normal';font-stretch:normal;font-variant:normal;font-size:26.66666667px;text-anchor:start;text-align:start;writing-mode:lr;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal" x="1946.3259" y="2435.7" id="text5550"><tspan @@ -376,134 +483,25 @@ id="tspan5552" x="1946.3259" y="2435.7" - style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:FreeMono;-inkscape-font-specification:FreeMono Bold">2</tspan></text> - </g> - <g - transform="matrix(0,-1,1,0,697.50638,3244.256)" - id="g5624"> - <g - id="g5626" - transform="matrix(0,-1,1,0,-294.81158,2953.0504)"> - <path - sodipodi:nodetypes="cc" - inkscape:connector-type="polyline" - id="path5628" - d="M 1586.5317,1348.2858 L 1586.6222,1389.8124" - style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline" /> - <path - style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline" - d="M 1586.7489,1389.4756 L 1594.7468,1380.3688" - id="path5630" - inkscape:connector-type="polyline" - sodipodi:nodetypes="cc" /> - <path - style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline" - d="M 1586.6031,1389.5063 L 1578.6052,1380.3994" - id="path5632" - inkscape:connector-type="polyline" - sodipodi:nodetypes="cc" /> - </g> - </g> - <g - transform="translate(5.3442137,15.993306)" - id="g5459"> - <rect - rx="2.4652832" - ry="2.9818845" - y="2151.3206" - x="1965.7682" - height="75.127686" - width="185.53668" - id="rect3485" - style="fill:#b2e994;fill-opacity:1;stroke:#56f400;stroke-width:0.78531456;stroke-opacity:1" /> - <text - id="text3487" - y="2184.2461" - x="2059.1909" - style="font-size:27.94354057px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#1f5800;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - xml:space="preserve"><tspan - id="tspan2509" - style="font-size:19.56047821px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;text-anchor:middle;fill:#1f5800;fill-opacity:1;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans" - y="2184.2461" - x="2059.1909" - sodipodi:role="line">typesystem</tspan><tspan - style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#1f5800;fill-opacity:1;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans" - y="2205.1477" - x="2059.1909" - sodipodi:role="line" - id="tspan5432">(handwritten)</tspan></text> - </g> - <g - transform="matrix(0,-1,1,0,908.50929,3242.9612)" - id="g5648"> - <g - id="g5650" - transform="matrix(0,-1,1,0,-294.81158,2953.0504)"> - <path - sodipodi:nodetypes="cc" - inkscape:connector-type="polyline" - id="path5652" - d="M 1586.5317,1348.2858 L 1586.6222,1389.8124" - style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline" /> - <path - style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline" - d="M 1586.7489,1389.4756 L 1594.7468,1380.3688" - id="path5654" - inkscape:connector-type="polyline" - sodipodi:nodetypes="cc" /> - <path - style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline" - d="M 1586.6031,1389.5063 L 1578.6052,1380.3994" - id="path5656" - inkscape:connector-type="polyline" - sodipodi:nodetypes="cc" /> - </g> - </g> - <g - transform="translate(299.78191,21.148391)" - id="g2771"> - <rect - style="fill:#cce994;fill-opacity:1;stroke:#a1f400;stroke-width:0.62429351;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - id="rect2733" - width="185.69771" - height="75.288704" - x="1882.2529" - y="2146.085" - ry="2.2607138" - rx="2.0576432" /> - <text - xml:space="preserve" - style="font-size:40px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#3a5800;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - x="1975.134" - y="2180.2722" - id="text2735"><tspan - sodipodi:role="line" - x="1975.134" - y="2180.2722" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;text-anchor:middle;fill:#3a5800;fill-opacity:1;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans Bold" - id="tspan2737">injected code</tspan><tspan - id="tspan2743" - sodipodi:role="line" - x="1975.134" - y="2201.7917" - style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#3a5800;fill-opacity:1;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans">(handwritten)</tspan></text> + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:26.66666667px;line-height:1.25;font-family:Titillium;-inkscape-font-specification:'Titillium, Normal';text-anchor:start;text-align:start;writing-mode:lr;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;stroke:none">2</tspan></text> </g> <g transform="translate(200.4676,-222.96766)" - id="g5554"> + id="g5554" + style="stroke:none"> <path sodipodi:type="arc" - style="fill:#f28888;fill-opacity:1;stroke:#d5f400;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + style="fill:#f28888;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" id="path5556" sodipodi:cx="255.10791" sodipodi:cy="326.69064" sodipodi:rx="38.848923" sodipodi:ry="38.848923" - d="M 293.95683,326.69064 A 38.848923,38.848923 0 1 1 216.25899,326.69064 A 38.848923,38.848923 0 1 1 293.95683,326.69064 z" + d="m 293.95683,326.69064 a 38.848923,38.848923 0 0 1 -38.84892,38.84893 38.848923,38.848923 0 0 1 -38.84892,-38.84893 38.848923,38.848923 0 0 1 38.84892,-38.84892 38.848923,38.848923 0 0 1 38.84892,38.84892 z" transform="matrix(0.4405339,0,0,0.4405339,1842.2283,2282.9708)" /> <text xml:space="preserve" - style="font-size:27.62000275px;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" + style="font-style:normal;font-weight:normal;line-height:0%;font-family:Titillium;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;-inkscape-font-specification:'Titillium, Normal';font-stretch:normal;font-variant:normal;font-size:26.66666667px;text-anchor:start;text-align:start;writing-mode:lr;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal" x="1946.3259" y="2435.7" id="text5558"><tspan @@ -511,24 +509,25 @@ id="tspan5560" x="1946.3259" y="2435.7" - style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:FreeMono;-inkscape-font-specification:FreeMono Bold">3</tspan></text> + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:26.66666667px;line-height:1.25;font-family:Titillium;-inkscape-font-specification:'Titillium, Normal';text-anchor:start;text-align:start;writing-mode:lr;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;stroke:none">3</tspan></text> </g> <g transform="translate(413.633,-206.84535)" - id="g5562"> + id="g5562" + style="stroke:none"> <path sodipodi:type="arc" - style="fill:#f28888;fill-opacity:1;stroke:#d5f400;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" + style="fill:#f28888;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" id="path5564" sodipodi:cx="255.10791" sodipodi:cy="326.69064" sodipodi:rx="38.848923" sodipodi:ry="38.848923" - d="M 293.95683,326.69064 A 38.848923,38.848923 0 1 1 216.25899,326.69064 A 38.848923,38.848923 0 1 1 293.95683,326.69064 z" + d="m 293.95683,326.69064 a 38.848923,38.848923 0 0 1 -38.84892,38.84893 38.848923,38.848923 0 0 1 -38.84892,-38.84893 38.848923,38.848923 0 0 1 38.84892,-38.84892 38.848923,38.848923 0 0 1 38.84892,38.84892 z" transform="matrix(0.4405339,0,0,0.4405339,1842.2283,2282.9708)" /> <text xml:space="preserve" - style="font-size:27.62000275px;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" + style="font-style:normal;font-weight:normal;line-height:0%;font-family:Titillium;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;-inkscape-font-specification:'Titillium, Normal';font-stretch:normal;font-variant:normal;font-size:26.66666667px;text-anchor:start;text-align:start;writing-mode:lr;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal" x="1946.3259" y="2435.7" id="text5566"><tspan @@ -536,7 +535,7 @@ id="tspan5568" x="1946.3259" y="2435.7" - style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:FreeMono;-inkscape-font-specification:FreeMono Bold">4</tspan></text> + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:26.66666667px;line-height:1.25;font-family:Titillium;-inkscape-font-specification:'Titillium, Normal';text-anchor:start;text-align:start;writing-mode:lr;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;stroke:none">4</tspan></text> </g> </g> </g> diff --git a/sources/shiboken2/doc/images/boostqtarch.png b/sources/shiboken2/doc/images/boostqtarch.png Binary files differdeleted file mode 100644 index f1b145e9c..000000000 --- a/sources/shiboken2/doc/images/boostqtarch.png +++ /dev/null diff --git a/sources/shiboken2/doc/images/boostqtarch.svg b/sources/shiboken2/doc/images/boostqtarch.svg deleted file mode 100644 index 9fbb38271..000000000 --- a/sources/shiboken2/doc/images/boostqtarch.svg +++ /dev/null @@ -1,226 +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="350" - height="220" - id="svg2" - sodipodi:version="0.32" - inkscape:version="0.46" - version="1.0" - sodipodi:docname="boostqtarch.svg" - inkscape:output_extension="org.inkscape.output.svg.inkscape" - inkscape:export-filename="boostqtarch.png" - inkscape:export-xdpi="90" - inkscape:export-ydpi="90"> - <defs - id="defs4"> - <marker - inkscape:stockid="Arrow2Lend" - orient="auto" - refY="0" - refX="0" - id="Arrow2Lend" - style="overflow:visible"> - <path - id="path3636" - style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" - d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.97309,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z" - transform="matrix(-1.1,0,0,-1.1,-1.1,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.4812981" - inkscape:cx="145.70936" - inkscape:cy="94.089827" - inkscape:document-units="px" - inkscape:current-layer="layer1" - showgrid="false" - inkscape:window-width="1278" - inkscape:window-height="951" - inkscape:window-x="1592" - inkscape:window-y="29" - showguides="true" - inkscape:guide-bbox="true" /> - <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(-61.076804,-301.50489)"> - <flowRoot - xml:space="preserve" - id="flowRoot3229" - style="font-size:40px;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" - transform="translate(2.0918751e-6,-6.0000008)"><flowRegion - id="flowRegion3231"><rect - id="rect3233" - width="125.74072" - height="40.5849" - x="388.45547" - y="279.5423" /></flowRegion><flowPara - id="flowPara3235" /></flowRoot> <g - id="g3010" - transform="matrix(0.9508755,0,0,0.9508755,11.317746,20.273572)"> - <g - transform="translate(0,-9.7919846e-6)" - id="g2952"> - <rect - style="fill:#dfe994;fill-opacity:1;stroke:#d5f400;stroke-width:0.7162478;stroke-opacity:1" - id="rect3166" - width="349.23203" - height="67.403336" - x="61.417336" - y="377.74161" - ry="2.6752985" - rx="2.285728" /> - <text - xml:space="preserve" - style="font-size:29.38717079px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#4c5800;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - x="236.08904" - y="397.98755" - id="text3168"><tspan - sodipodi:role="line" - x="236.08904" - y="397.98755" - style="font-size:20.57102013px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;text-anchor:middle;fill:#4c5800;fill-opacity:1;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans" - id="tspan3176">Boost::Python</tspan><tspan - sodipodi:role="line" - x="236.08904" - y="418.35535" - style="font-size:15.20761585px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#4c5800;fill-opacity:1;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans" - id="tspan2880">helper library to interface with CPython API</tspan><tspan - id="tspan2922" - sodipodi:role="line" - x="236.08904" - y="437.36487" - style="font-size:15.20761585px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#4c5800;fill-opacity:1;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans">and expose C++ entities to Python</tspan></text> - </g> - <g - transform="translate(0,-9.7025776e-6)" - id="g2959"> - <rect - style="fill:#addc52;fill-opacity:1;stroke:#6ca400;stroke-width:0.71624762;stroke-opacity:1" - id="rect3542" - width="349.23203" - height="67.403351" - x="61.417336" - y="301.84543" - ry="2.675298" - rx="2.285728" /> - <text - xml:space="preserve" - style="font-size:29.38717079px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#050800;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - x="236.5123" - y="322.09137" - id="text3544"><tspan - id="tspan3596" - sodipodi:role="line" - x="236.5123" - y="322.09137" - style="font-size:20.57102013px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;text-anchor:middle;fill:#050800;fill-opacity:1;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans">Qt-Python Bindings</tspan><tspan - sodipodi:role="line" - x="236.5123" - y="342.45917" - style="font-size:15.20761585px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#050800;fill-opacity:1;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans" - id="tspan12937">Qt classes and functions</tspan><tspan - sodipodi:role="line" - x="236.5123" - y="361.46869" - style="font-size:15.20761585px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;fill:#050800;fill-opacity:1;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans" - id="tspan2411">exported to Python</tspan></text> - </g> - <g - id="g2998"> - <g - id="g2986"> - <rect - rx="2.285728" - ry="2.675298" - y="453.63776" - x="61.417336" - height="67.403336" - width="172.02341" - id="rect3485" - style="fill:#b2e994;fill-opacity:1;stroke:#56f400;stroke-width:0.71624762;stroke-opacity:1" /> - <text - id="text3487" - y="482.29712" - x="147.73038" - style="font-size:29.38717079px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#1f5800;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - xml:space="preserve"><tspan - style="font-size:20.57102013px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;text-anchor:middle;fill:#1f5800;fill-opacity:1;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans" - y="482.29712" - x="147.73038" - sodipodi:role="line" - id="tspan3499">CPython</tspan><tspan - id="tspan2509" - style="font-size:20.57102013px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;text-anchor:middle;fill:#1f5800;fill-opacity:1;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans" - y="508.01089" - x="147.73038" - sodipodi:role="line">API</tspan></text> - </g> - <g - id="g2992"> - <rect - rx="2.285728" - ry="2.675298" - y="453.63776" - x="239.30101" - height="67.403351" - width="172.02295" - id="rect2459" - style="fill:#cce994;fill-opacity:1;stroke:#a1f400;stroke-width:0.71624762;stroke-opacity:1" /> - <text - id="text2461" - y="481.97067" - x="324.86047" - style="font-size:29.38717079px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#3a5800;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" - xml:space="preserve"><tspan - style="font-size:20.57102013px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;text-anchor:middle;fill:#3a5800;fill-opacity:1;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans" - y="481.97067" - x="324.86047" - sodipodi:role="line" - id="tspan2467">Qt4</tspan><tspan - id="tspan2490" - style="font-size:20.57102013px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;text-anchor:middle;fill:#3a5800;fill-opacity:1;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans" - y="507.68445" - x="324.86047" - sodipodi:role="line">Libraries</tspan></text> - </g> - </g> - </g> - </g> -</svg> diff --git a/sources/shiboken2/doc/images/converter.dot b/sources/shiboken2/doc/images/converter.dot deleted file mode 100644 index 412341df9..000000000 --- a/sources/shiboken2/doc/images/converter.dot +++ /dev/null @@ -1,14 +0,0 @@ -digraph Conversions { - rankdir=LR - CppType1 [ label="C++\nType" ] - Converter1 [ label="Converter\nPython -> C++", shape=hexagon ] - PythonType1 -> Converter1 - PythonType2 -> Converter1 - PythonType3 -> Converter1 - Converter1 -> CppType1 - - CppType2 [ label="C++\nType" ] - PythonType4 [ label="PythonType" ] - Converter2 [ label="Converter\nPython -> C++", shape=hexagon ] - CppType2 -> Converter2 -> PythonType4 -}
\ No newline at end of file diff --git a/sources/shiboken2/doc/images/converter.png b/sources/shiboken2/doc/images/converter.png Binary files differindex 51cd2af71..cd52e2769 100644 --- a/sources/shiboken2/doc/images/converter.png +++ b/sources/shiboken2/doc/images/converter.png diff --git a/sources/shiboken2/doc/images/converter.svg b/sources/shiboken2/doc/images/converter.svg new file mode 100644 index 000000000..4305eb720 --- /dev/null +++ b/sources/shiboken2/doc/images/converter.svg @@ -0,0 +1,349 @@ +<?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="206.375mm" + height="100.54167mm" + viewBox="0 0 206.375 100.54167" + version="1.1" + id="svg8" + inkscape:version="0.92.2 2405546, 2018-03-11" + sodipodi:docname="converter.svg"> + <defs + id="defs2"> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="marker1623" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Lend"> + <path + transform="matrix(-0.8,0,0,-0.8,-10,0)" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + id="path1621" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Lend" + orient="auto" + refY="0" + refX="0" + id="marker1569" + style="overflow:visible" + inkscape:isstock="true" + inkscape:collect="always"> + <path + id="path1567" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(-0.8,0,0,-0.8,-10,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="marker1521" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Lend" + inkscape:collect="always"> + <path + transform="matrix(-0.8,0,0,-0.8,-10,0)" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + id="path1519" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Lend" + orient="auto" + refY="0" + refX="0" + id="marker1479" + style="overflow:visible" + inkscape:isstock="true" + inkscape:collect="always"> + <path + id="path1477" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(-0.8,0,0,-0.8,-10,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="marker1443" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Lend" + inkscape:collect="always"> + <path + transform="matrix(-0.8,0,0,-0.8,-10,0)" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + id="path1441" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Lend" + orient="auto" + refY="0" + refX="0" + id="Arrow1Lend" + style="overflow:visible" + inkscape:isstock="true" + inkscape:collect="always"> + <path + id="path1154" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(-0.8,0,0,-0.8,-10,0)" + inkscape:connector-curvature="0" /> + </marker> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.35" + inkscape:cx="382.16184" + inkscape:cy="-28.417621" + inkscape:document-units="mm" + inkscape:current-layer="layer1" + showgrid="true" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" + inkscape:window-width="1002" + inkscape:window-height="1042" + inkscape:window-x="10" + inkscape:window-y="28" + inkscape:window-maximized="0"> + <inkscape:grid + type="xygrid" + id="grid971" + originx="-58.208333" + originy="-68.791657" /> + </sodipodi:namedview> + <metadata + id="metadata5"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-58.208333,-127.66667)"> + <path + style="fill:#17a81a;fill-opacity:1;stroke:none;stroke-width:0.82824755;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 127,132.95834 0.0687,26.45833 h 63.43127 l 5.29167,-5.29167 v -26.45833 h -63.5 z" + id="path3715-5-6-7-9-8-7" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccccc" /> + <path + style="fill:#3a4055;fill-opacity:1;stroke:none;stroke-width:0.67261654;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 68.791667,132.95834 v 26.45833 H 105.83333 L 111.125,154.125 V 127.66667 H 74.083333 Z" + id="path3715-5-6-7-9-8-7-6-3" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccccc" /> + <path + style="fill:#848895;fill-opacity:1;stroke:none;stroke-width:0.52087492;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 58.208333,173.96875 V 185.875 h 48.947917 l 3.96875,-3.96875 V 170 H 62.177083 Z" + id="path3715-5-6-7-9-8-7-6-56" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccccc" /> + <path + style="fill:#17a81a;fill-opacity:1;stroke:none;stroke-width:0.82824755;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 127.00003,175.29167 0.0687,26.45833 H 190.5 l 5.29167,-5.29167 V 170 h -63.5 z" + id="path3715-5-6-7-9-8-7-2" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccccc" /> + <path + style="fill:#848895;fill-opacity:1;stroke:none;stroke-width:0.52087492;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 58.208333,195.13542 v 11.90625 h 48.947917 l 3.96875,-3.96875 V 191.16667 H 62.177083 Z" + id="path3715-5-6-7-9-8-7-6-56-7" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccccc" /> + <path + style="fill:#848895;fill-opacity:1;stroke:none;stroke-width:0.52087492;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 58.208343,216.30209 v 11.90625 h 48.947907 l 3.96875,-3.96875 V 212.33334 H 62.177093 Z" + id="path3715-5-6-7-9-8-7-6-56-0" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccccc" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05555534px;line-height:1.25;font-family:Titillium;-inkscape-font-specification:'Titillium, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332" + x="65.68634" + y="179.68727" + id="text1032"><tspan + sodipodi:role="line" + id="tspan1030" + x="65.68634" + y="179.68727" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05555534px;font-family:Titillium;-inkscape-font-specification:'Titillium, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke-width:0.26458332">PythonType1</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05555534px;line-height:1.25;font-family:Titillium;-inkscape-font-specification:'Titillium, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332" + x="65.326508" + y="200.85394" + id="text1032-1"><tspan + sodipodi:role="line" + id="tspan1030-1" + x="65.326508" + y="200.85394" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05555534px;font-family:Titillium;-inkscape-font-specification:'Titillium, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke-width:0.26458332">PythonType2</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05555534px;line-height:1.25;font-family:Titillium;-inkscape-font-specification:'Titillium, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332" + x="65.319458" + y="222.02061" + id="text1032-4"><tspan + sodipodi:role="line" + id="tspan1030-6" + x="65.319458" + y="222.02061" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05555534px;font-family:Titillium;-inkscape-font-specification:'Titillium, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke-width:0.26458332">PythonType3</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:1.25;font-family:Titillium;-inkscape-font-specification:Titillium;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332" + x="90.120621" + y="139.29776" + id="text1062"><tspan + sodipodi:role="line" + id="tspan1060" + x="90.120621" + y="139.29776" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.87777805px;font-family:Titillium;-inkscape-font-specification:'Titillium, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke-width:0.26458332">C++</tspan><tspan + sodipodi:role="line" + x="90.120621" + y="152.52693" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.87777805px;font-family:Titillium;-inkscape-font-specification:'Titillium, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke-width:0.26458332" + id="tspan1064">Type</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:1.25;font-family:Titillium;-inkscape-font-specification:Titillium;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332" + x="135.41069" + y="138.95909" + id="text1068"><tspan + sodipodi:role="line" + id="tspan1066" + x="135.41069" + y="138.95909" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8.46666622px;font-family:Titillium;-inkscape-font-specification:'Titillium, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke-width:0.26458332">Converter</tspan><tspan + sodipodi:role="line" + x="135.41069" + y="152.18826" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8.46666622px;font-family:Titillium;-inkscape-font-specification:'Titillium, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke-width:0.26458332" + id="tspan1070">C++ -> Python</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:1.25;font-family:Titillium;-inkscape-font-specification:Titillium;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332" + x="135.41072" + y="181.29242" + id="text1068-9"><tspan + sodipodi:role="line" + id="tspan1066-7" + x="135.41072" + y="181.29242" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8.46666622px;font-family:Titillium;-inkscape-font-specification:'Titillium, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke-width:0.26458332">Converter</tspan><tspan + sodipodi:role="line" + x="135.41072" + y="194.52159" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8.46666622px;font-family:Titillium;-inkscape-font-specification:'Titillium, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke-width:0.26458332" + id="tspan1070-5">Python -> C++</tspan></text> + <path + style="fill:#3a4055;fill-opacity:1;stroke:none;stroke-width:0.67261654;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 211.66667,175.29167 V 201.75 h 37.04166 L 254,196.45833 V 170 h -37.04167 z" + id="path3715-5-6-7-9-8-7-6-3-9" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccccc" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58333302px;line-height:1.25;font-family:Titillium;-inkscape-font-specification:Titillium;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332" + x="232.99562" + y="181.63109" + id="text1062-7"><tspan + sodipodi:role="line" + id="tspan1060-4" + x="232.99562" + y="181.63109" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.87777805px;font-family:Titillium;-inkscape-font-specification:'Titillium, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke-width:0.26458332">C++</tspan><tspan + sodipodi:role="line" + x="232.99562" + y="194.86026" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.87777805px;font-family:Titillium;-inkscape-font-specification:'Titillium, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:center;writing-mode:lr-tb;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke-width:0.26458332" + id="tspan1064-9">Type</tspan></text> + <path + style="fill:#848895;fill-opacity:1;stroke:none;stroke-width:0.52087492;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 211.66667,131.63542 v 11.90625 h 48.94791 l 3.96875,-3.96875 v -11.90625 h -48.94791 z" + id="path3715-5-6-7-9-8-7-6-56-0-1" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccccc" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05555534px;line-height:1.25;font-family:Titillium;-inkscape-font-specification:'Titillium, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332" + x="220.67876" + y="137.35394" + id="text1032-4-7"><tspan + sodipodi:role="line" + id="tspan1030-6-0" + x="220.67876" + y="137.35394" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05555534px;font-family:Titillium;-inkscape-font-specification:'Titillium, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke-width:0.26458332">PythonType</tspan></text> + <path + style="fill:none;stroke:#000000;stroke-width:0.26499999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Lend)" + d="M 111.125,143.54167 H 127" + id="path1149" + inkscape:connector-curvature="0" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker1443)" + d="M 111.125,175.29167 H 127" + id="path1433" + inkscape:connector-curvature="0" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker1479)" + d="M 111.125,196.45834 127,185.875" + id="path1469" + inkscape:connector-curvature="0" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker1521)" + d="M 111.125,217.625 127,201.75" + id="path1511" + inkscape:connector-curvature="0" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker1569)" + d="m 195.79166,185.875 h 15.875" + id="path1559" + inkscape:connector-curvature="0" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker1623)" + d="m 195.79166,138.25001 h 15.875" + id="path1613" + inkscape:connector-curvature="0" /> + </g> +</svg> diff --git a/sources/shiboken2/doc/images/shibokenqtarch.png b/sources/shiboken2/doc/images/shibokenqtarch.png Binary files differnew file mode 100644 index 000000000..359413373 --- /dev/null +++ b/sources/shiboken2/doc/images/shibokenqtarch.png diff --git a/sources/shiboken2/doc/images/shibokenqtarch.svg b/sources/shiboken2/doc/images/shibokenqtarch.svg new file mode 100644 index 000000000..d9212f18c --- /dev/null +++ b/sources/shiboken2/doc/images/shibokenqtarch.svg @@ -0,0 +1,188 @@ +<?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="275" + height="197.55103" + id="svg2" + sodipodi:version="0.32" + inkscape:version="0.92.2 2405546, 2018-03-11" + version="1.0" + sodipodi:docname="shibokenqtarch.svg" + inkscape:output_extension="org.inkscape.output.svg.inkscape" + inkscape:export-filename="shibokenqtarch.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + <defs + id="defs4"> + <marker + inkscape:stockid="Arrow2Lend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Lend" + style="overflow:visible"> + <path + id="path3636" + style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" + inkscape:connector-curvature="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.0474359" + inkscape:cx="110.19617" + inkscape:cy="69.09871" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="true" + inkscape:window-width="1002" + inkscape:window-height="1042" + inkscape:window-x="10" + inkscape:window-y="28" + showguides="true" + inkscape:guide-bbox="true" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" + inkscape:window-maximized="0"> + <inkscape:grid + type="xygrid" + id="grid44" + originx="-44.999996" + originy="-12.44898" /> + </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" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-106.0768,-311.50489)"> + <path + style="fill:#21be2b;fill-opacity:1;stroke:none;stroke-width:2.20567369;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 106.0768,322.72938 v 44.89796 h 262.2093 l 12.7907,-11.22449 V 311.50489 H 117.53514 Z" + id="path3715-5-6-7-9-8-7" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccccc" /> + <path + style="fill:#17a81a;fill-opacity:1;stroke:none;stroke-width:1.57079244;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 251.99517,457.61034 v 51.44557 H 369.85231 L 381.0768,498.76679 V 447.32122 H 263.21966 Z" + id="path3715-5-6-7-9-6-7" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccccc" /> + <path + style="fill:#53586b;fill-opacity:1;stroke:none;stroke-width:1.57079256;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 106.0768,457.61034 v 51.44557 h 117.85714 l 11.22449,-10.28912 V 447.32122 H 117.30129 Z" + id="path3715-5-6-7-9-6-7-5" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccccc" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:16.68707466px;line-height:1.25;font-family:Titillium;-inkscape-font-specification:'Titillium, Semi-Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.12244904;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + x="120.87232" + y="334.88406" + id="text153"><tspan + sodipodi:role="line" + id="tspan151" + x="120.87232" + y="334.88406" + style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:16.68707466px;font-family:Titillium;-inkscape-font-specification:'Titillium, Semi-Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.12244904;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1">Qt for Python</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.74510956px;line-height:1.25;font-family:Titillium;-inkscape-font-specification:Titillium;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.31862774" + x="121.09701" + y="354.01886" + id="text157"><tspan + sodipodi:role="line" + x="121.09701" + y="354.01886" + id="tspan159" + style="fill:#ffffff;fill-opacity:1;stroke-width:0.31862774">Qt classes and functions exported to Python</tspan></text> + <path + style="fill:#53586b;fill-opacity:1;stroke:none;stroke-width:2.20567369;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 106.0768,391.19877 v 44.89796 h 262.2093 l 12.7907,-11.22449 V 379.97428 H 117.53514 Z" + id="path3715-5-6-7-9-8-7-6" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccccc" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:16.68707466px;line-height:1.25;font-family:Titillium;-inkscape-font-specification:'Titillium, Semi-Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.41717955" + x="121.0225" + y="403.38095" + id="text153-2"><tspan + sodipodi:role="line" + id="tspan151-9" + x="121.0225" + y="403.38095" + style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:16.68707466px;font-family:Titillium;-inkscape-font-specification:'Titillium, Semi-Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke-width:0.41717955">Shiboken</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.74510956px;line-height:1.25;font-family:Titillium;-inkscape-font-specification:Titillium;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.31862774" + x="121.09701" + y="421.95245" + id="text157-1"><tspan + sodipodi:role="line" + x="121.09701" + y="421.95245" + id="tspan159-2" + style="fill:#ffffff;fill-opacity:1;stroke-width:0.31862774">Generator that exposes C++ classes to Python</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:17.95918465px;line-height:1.25;font-family:Titillium;-inkscape-font-specification:'Titillium, Semi-Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.31862774" + x="123.35368" + y="482.61551" + id="text157-1-7"><tspan + sodipodi:role="line" + x="123.35368" + y="482.61551" + id="tspan159-2-0" + style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:17.95918465px;font-family:Titillium;-inkscape-font-specification:'Titillium, Semi-Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke-width:0.31862774">CPython API</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:17.95918465px;line-height:1.25;font-family:Titillium;-inkscape-font-specification:'Titillium, Semi-Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.4132798" + x="265.1445" + y="483.19019" + id="text157-1-9"><tspan + sodipodi:role="line" + x="265.1445" + y="483.19019" + id="tspan159-2-3" + style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:17.95918465px;font-family:Titillium;-inkscape-font-specification:'Titillium, Semi-Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke-width:0.4132798">Qt 5 Libraries</tspan></text> + </g> +</svg> diff --git a/sources/shiboken2/doc/overview.rst b/sources/shiboken2/doc/overview.rst index 5f50610ff..97ef2c13c 100644 --- a/sources/shiboken2/doc/overview.rst +++ b/sources/shiboken2/doc/overview.rst @@ -23,13 +23,13 @@ Each module of the generator system has an specific role. 3. Modify the API to expose the objects in a way that fits you target language best. 4. Insert customizations where handwritten code is needed. -.. figure:: images/boostqtarch.png +.. figure:: images/shibokenqtarch.png :scale: 80 :align: center Runtime architecture -The newly created binding will run on top of Boost.Python library which takes +The newly created binding will run on top of Shiboken which takes care of interfacing Python and the underlying C++ library. Handwritten inputs diff --git a/sources/shiboken2/doc/ownership.rst b/sources/shiboken2/doc/ownership.rst index 69791f855..f3744a537 100644 --- a/sources/shiboken2/doc/ownership.rst +++ b/sources/shiboken2/doc/ownership.rst @@ -35,7 +35,7 @@ Invalidating objects ==================== To prevent segfaults and double frees, the wrapper objects are invalidated. -An invalidated can't be passed as argument or have an attributte or method accessed. +An invalidated can't be passed as argument or have an attribute or method accessed. Trying to do this will raise RuntimeError. The following situations can invalidate an object: @@ -48,7 +48,7 @@ C++ taking ownership :ref:`virtual destructor <ownership-virt-method>` or the transfer is due to the special case of :ref:`parent ownership <ownership-parent>`. - Besides being passed as argument, the callee object can have its ownership changed, like + Besides being passed as argument, the called object can have its ownership changed, like the `setParent` method in Qt's `QObject`. Invalidate after use @@ -69,7 +69,7 @@ Objects with virtual methods any derived class in Python also override it. If the class has a virtual destructor (and C++ classes with virtual methods should have), this - C++ instance invalidates the wrapper only when the overriden destructor is called. + C++ instance invalidates the wrapper only when the overridden destructor is called. One exception to this rule is when the object is created in C++, like in a factory method. This way the wrapped object is a C++ instance of the native @@ -128,7 +128,7 @@ Not saving unowned objects references ------------------------------------- Sometimes when you pass an instance as argument to a method and the receiving - instance will need that object to live indifinitely, but will not take ownership + instance will need that object to live indefinitely, but will not take ownership of the argument instance. In this case, you should hold a reference to the argument instance. diff --git a/sources/shiboken2/doc/projectfile.rst b/sources/shiboken2/doc/projectfile.rst index 6c9808da4..aa703d941 100644 --- a/sources/shiboken2/doc/projectfile.rst +++ b/sources/shiboken2/doc/projectfile.rst @@ -4,9 +4,9 @@ Binding Project File ******************** -Instead of directing the Generator behaviour via command line, the binding developer -can write a text project file describing the same information, and avoid the hassle -of a long stream of command line arguments. +Instead of directing the Generator behavior via command line, the binding +developer can write a text project file describing the same information, and +avoid the hassle of a long stream of command line arguments. .. _project-file-structure: @@ -34,11 +34,13 @@ Project file tags The generator project file tags are in direct relation to the :ref:`command line arguments <command-line>`. All of the current command line -options provided by |project| were already seen on the :ref:`project-file-structure`, -for new command line options provided by additional generator modules (e.g.: qtdoc, -Shiboken) could also be used in the generator project file following simple conversion rules. +options provided by |project| were already seen on the +:ref:`project-file-structure`, for new command line options provided by +additional generator modules (e.g.: qtdoc, Shiboken) could also be used in the +generator project file following simple conversion rules. -For tags without options, just write as an empty tag without any attributes. Example: +For tags without options, just write as an empty tag without any attributes. +Example: .. code-block:: bash diff --git a/sources/shiboken2/doc/sequenceprotocol.rst b/sources/shiboken2/doc/sequenceprotocol.rst index 587c0f95b..26ae3b220 100644 --- a/sources/shiboken2/doc/sequenceprotocol.rst +++ b/sources/shiboken2/doc/sequenceprotocol.rst @@ -1,7 +1,8 @@ Sequence Protocol ----------------- -Support for the sequence protocol is achieved adding functions with special names, this is done using the add-function tag. +Support for the sequence protocol is achieved adding functions with special +names, this is done using the add-function tag. The special function names are: @@ -15,9 +16,14 @@ The special function names are: __concat__ PyObject* self, PyObject* _other PyObject* PySequence_Concat ============= =============================================== ==================== =================== -You just need to inform the function name to the add-function tag, without any parameter or return type information, when you do it, |project| will create a C function with parameters and return type definied by the table above. +You just need to inform the function name to the add-function tag, without any +parameter or return type information, when you do it, |project| will create a C +function with parameters and return type defined by the table above. -The function needs to follow the same semantics of the *CPython equivalent* function, the only way to do it is using the :doc:`inject-code <codeinjectionsemantics>` tag. - -A concrete exemple how to add sequence protocol support to a class can be found on shiboken tests, more precisely in the definition of the Str class in ``tests/samplebinding/typesystem_sample.xml``. +The function needs to follow the same semantics of the *CPython equivalent* +function, the only way to do it is using the +:doc:`inject-code <codeinjectionsemantics>` tag. +A concrete example how to add sequence protocol support to a class can be found +on shiboken tests, more precisely in the definition of the Str class in +``tests/samplebinding/typesystem_sample.xml``. diff --git a/sources/shiboken2/doc/typeconverters.rst b/sources/shiboken2/doc/typeconverters.rst index 3779b26d7..ea32c7f0c 100644 --- a/sources/shiboken2/doc/typeconverters.rst +++ b/sources/shiboken2/doc/typeconverters.rst @@ -2,7 +2,13 @@ User Defined Type Conversion **************************** -In the process of creating Python bindings of a C++ library, most of the C++ classes will have wrappers representing them in Python land. But there may be other classes that are very simple and/or have a Python type as a direct counter part. (Example: a "Complex" class, that represents complex numbers, has a Python equivalent in the "complex" type.) Such classes, instead of getting a Python wrapper, normally have conversions rules, from Python to C++ and vice-versa. +In the process of creating Python bindings of a C++ library, most of the C++ +classes will have wrappers representing them in Python land. +But there may be other classes that are very simple and/or have a Python type +as a direct counter part. (Example: a "Complex" class, that represents complex +numbers, has a Python equivalent in the "complex" type.) Such classes, instead +of getting a Python wrapper, normally have conversions rules, from Python to +C++ and vice-versa. .. code-block:: c++ @@ -22,7 +28,8 @@ In the process of creating Python bindings of a C++ library, most of the C++ cla Complex cpx(real, imag); -For the user defined conversion code to be inserted in the proper places, the "<conversion-rule>" tag must be used. +For the user defined conversion code to be inserted in the proper places, +the "<conversion-rule>" tag must be used. .. code-block:: xml @@ -51,25 +58,23 @@ For the user defined conversion code to be inserted in the proper places, the "< The details will be given later, but the gist of it are the tags -`<native-to-target> <http://www.pyside.org/docs/apiextractor/typesystem_conversionrule.html#native-to-target>`_, -which has only one conversion from C++ to Python, and -`<target-to-native> <http://www.pyside.org/docs/apiextractor/typesystem_conversionrule.html#target-to-native>`_, -that may define the conversion of multiple Python types to C++'s "Complex" type. +`<native-to-target>`_, which has only one conversion from C++ to Python, and +`<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 `<native-to-target> <http://www.pyside.org/docs/apiextractor/typesystem_conversionrule.html#native-to-target>`_, -to directly return the Python result of the conversion, and the added conversions inside the -`<target-to-native> <http://www.pyside.org/docs/apiextractor/typesystem_conversionrule.html#target-to-native>`_ -must attribute the Python to C++ conversion result to the :ref:`%out <out>` variable. +|project| expects the code for `<native-to-target>`_, to directly return the +Python result of the conversion, and the added conversions inside the +`<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 -`<add-conversion> <http://www.pyside.org/docs/apiextractor/typesystem_conversionrule.html#add-conversion>`_ -tag and a custom check must be added. Here's how to do it: +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 `<add-conversion>`_ tag and a custom check must be added. +Here's how to do it: .. code-block:: xml @@ -120,18 +125,18 @@ tag and a custom check must be added. Here's how to do it: </primitive-type> - .. _container_conversions: Container Conversions ===================== -Converters for -`<container-type> <http://www.pyside.org/docs/apiextractor/typesystem_specifying_types.html#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 defined (or automatically generated) for the containees. +Converters for `<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 +defined (or automatically generated) for the containers. +.. _`container-type`: http://www.pyside.org/docs/apiextractor/typesystem_specifying_types.html#container-type .. code-block:: xml @@ -279,10 +284,14 @@ And implemented in a separate C++ file, like this: } -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 -`<add-conversion> <http://www.pyside.org/docs/apiextractor/typesystem_conversionrule.html#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. +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 `<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. + +.. _`<native-to-target>`: http://www.pyside.org/docs/apiextractor/typesystem_conversionrule.html#native-to-target +.. _`<target-to-native>`: http://www.pyside.org/docs/apiextractor/typesystem_conversionrule.html#target-to-native +.. _`<add-conversion>`: http://www.pyside.org/docs/apiextractor/typesystem_conversionrule.html#add-conversion diff --git a/sources/shiboken2/doc/typesystemvariables.rst b/sources/shiboken2/doc/typesystemvariables.rst index 205430550..9de2b02f5 100644 --- a/sources/shiboken2/doc/typesystemvariables.rst +++ b/sources/shiboken2/doc/typesystemvariables.rst @@ -59,9 +59,8 @@ 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 `<remove-default-expression/> - <http://www.pyside.org/docs/apiextractor/typesystem_arguments.html#remove-default-expression>`_ - type system tag. + with the `<remove-default-expression/>`_ type system tag. + Take the following method and related type system description as an example: @@ -334,3 +333,5 @@ that expects a Python sequence instead. </inject-code> </modify-function> + +.. _`<remove-default-expression/>`: http://www.pyside.org/docs/apiextractor/typesystem_arguments.html#remove-default-expression diff --git a/sources/shiboken2/doc/wordsofadvice.rst b/sources/shiboken2/doc/wordsofadvice.rst index b66799338..9aebf1f03 100644 --- a/sources/shiboken2/doc/wordsofadvice.rst +++ b/sources/shiboken2/doc/wordsofadvice.rst @@ -75,7 +75,8 @@ C++ object. In summary: don't do it! Python old style classes and PySide =================================== -Because of some architectural decisions and deprecated Python types. Since PySide 1.1 old style classes are not supported with multiple inheritance. +Because of some architectural decisions and deprecated Python types. +Since PySide 1.1 old style classes are not supported with multiple inheritance. Below you can check the examples: @@ -92,7 +93,8 @@ Example with old style class: pass -this example will raise a 'TypeError' due to the limitation on PySide, to fix this you will need use the new style class: +this example will raise a 'TypeError' due to the limitation on PySide, to fix +this you will need use the new style class: .. code-block:: python @@ -106,4 +108,5 @@ this example will raise a 'TypeError' due to the limitation on PySide, to fix th pass -All classes used for multiple inheritance with other PySide types need to have 'object' as base class. +All classes used for multiple inheritance with other PySide types need to have +'object' as base class. |