diff options
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. |