aboutsummaryrefslogtreecommitdiffstats
path: root/sources/shiboken2/generator/qtdoc
Commit message (Collapse)AuthorAgeFilesLines
* Documentation: Replace nullptr by None in signaturesFriedemann Kleint2019-01-101-3/+7
| | | | | | Task-number: PYSIDE-903 Change-Id: I4dc2cce4741c87e08b8b3d0dc911c62d044ee054 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* shiboken: Centralize most msg* functions in a separate fileFriedemann Kleint2018-09-101-30/+3
| | | | | | | | | This makes it easier to maintain a consistent style, unclutters the source and allows for re-using formatting helpers. Change-Id: I4f29637a22afb457f629272e2d86f14bedb36008 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com>
* shiboken: Fix visibility of members of the generator classesFriedemann Kleint2018-09-041-2/+1
| | | | | | | | | | Make visibility more restricted by moving definitions to the private/protected section. Remove virtual from Generator::moduleName() since it is not overridden. Change-Id: I6b43f9679741fa8a5c453b339d9bb4228d74c04c Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com>
* Merge remote-tracking branch 'origin/5.11' into devFriedemann Kleint2018-09-041-0/+2
|\ | | | | | | Change-Id: Ie8025300580981c5349b31d4846a7f659481991d
| * shiboken/doc generator: Add FunctionMask case to avoid warningCristian Maureira-Fredes2018-09-031-0/+2
| | | | | | | | | | | | Change-Id: I13226628db54479cc01aab215bb52063684f23c9 Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | shiboken/doc generator: Fix crash when normalizing tablesFriedemann Kleint2018-08-211-1/+7
| | | | | | | | | | | | | | | | | | Do not rely on row 0 to obtain the maximum number of columns, search all instead. Change-Id: I6ddda89c191d1823b346e9e564f31a61de523426 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* | Fix some clang-tidy warnings in shibokenFriedemann Kleint2018-07-231-16/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 'else if' after return/break/continue - Use const ref for complex arguments passed by value where possible - Fix 'if (foo) delete foo' to 'delete foo' - Use container.isEmpty() instead of container.size() in checks - Use ' = default' for trivial constructors/destructors - Use range based for where possible - Complete constructor initializer lists - Fix invocations of static methods - Replace some reinterpret_cast by static_cast - Remove unused variables/fields - Use initializer lists for return types Change-Id: Id5b44a2f9d429f66ef069d532a1cd31df796d38e Reviewed-by: Christian Tismer <tismer@stackless.com>
* | shiboken: Fix command line helpFriedemann Kleint2018-07-191-6/+6
| | | | | | | | | | | | | | | | | | The one-character path options only take one path argument. Add parameter to the doc generator options. Task-number: PYSIDE-363 Change-Id: Ia1a0c1552a5d1e3ec86609e9899e985628874545 Reviewed-by: Christian Tismer <tismer@stackless.com>
* | shiboken: Refactor command line arguments handlingFriedemann Kleint2018-07-162-12/+39
|/ | | | | | | | | | | In main, replace the class ArgsHandler by plain QMap handling. Remove the args parameter of Generator::doSetup() and add a new virtual handleOption(key, value) to the generators instead. Add missing initialization. Change-Id: I9bc844172a81244f729d87a3d4262545e6433904 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* shiboken/doc generator: Search snippets with to suffix "py" firstFriedemann Kleint2018-06-221-1/+7
| | | | | | | | | Replace .cpp by .py and try to find the snippet. Fall back to .cpp. Task-number: PYSIDE-363 Change-Id: I82b23df9894e626c97b44dc5a841f5fa70ae1d57 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* QtXmlToSphinx::transform(): Improve XML error messageFriedemann Kleint2018-05-181-2/+4
| | | | | | | Output line and column. Change-Id: Ide890b93c47ef0fc9ebe3209356da100e0cbde4e Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Make it possible to specify a target directory for additional documentationFriedemann Kleint2018-05-161-27/+44
| | | | | | | | | Introduce a simple [] notation for target directories. Task-number: PYSIDE-363 Change-Id: I3a0cd255faf84f564a64992cba88244ae14c2452 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* QtXmlToSphinx: Refactor link handlingFriedemann Kleint2018-05-072-46/+131
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Forward declare QtXmlToSphinx::LinkContext as a public struct and move the definition to the source file. Replace the linkTag/linkTagEnding strings by an enumeration for the type and flags for storing the bold/italic state. Move the formatting to an operator<<(QTextStream,LinkContext) for clarity. Streamline the code checking the link text against the reference in handleLinkText(), avoiding some unnecessary tests. Add an 'External' type for external pages which do not have a role keyword. This fixes: - Undoes a breakage introduced by c5582d3120249a902681454b2319df765ffa2cd8 converting all link refs to RST labels, clobbering the '~' used for some function references. This is now limited to page type links. - Broken handling of links within italic/bold: The assignment to the linkTag variable by type would clobber the previously assigned italic/bold markers - Enable external links without role Task-number: PYSIDE-363 Change-Id: I2e9a8cd80df93a77f3c6c9f8593243b35eeeb56e Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Change license from all the filesCristian Maureira-Fredes2018-05-032-2/+2
| | | | | | | | | | | | | | | | | Removing the word 'project' from all the headers, and changing the PySide reference from the examples to Qt for Python: The following line was used inside the source/ and build_scripts/ directory: for i in $(grep -r "the Qt for Python project" * |grep -v "pyside2-tools" | awk '{print $1}' | sed 's/:.*//g');do sed -i 's/the\ Qt\ for\ Python\ project/Qt\ for\ Python/g' $i;done and the following line was used inside the examples/ directory: for i in $(grep -r "of the PySide" * |grep -v "pyside2-tools" | awk '{print $1}' | sed 's/:.*//g');do sed -i 's/of\ the\ PySide/of\ the\ Qt\ for\ Python/g' $i;done Change-Id: Ic480714686ad62ac4d81c670f87f1c2033d4ffa1 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* QtXmlToSphinx: Add support for more elementsFriedemann Kleint2018-05-022-2/+41
| | | | | | | | | Add support for <target> and <page> elements for the additional documentation sections. Task-number: PYSIDE-363 Change-Id: I0b04106fbe6ae1779625de333368e18bbc31b962 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* QtXmlToSphinx: Refactor label handlingFriedemann Kleint2018-05-022-6/+38
| | | | | | | | | | Add utility functions to remove invalid characters and a helper for streaming Task-number: PYSIDE-363 Change-Id: I45eb33ed60deed82912262a99551436c538eee22 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Add option to create additional documentationFriedemann Kleint2018-05-022-4/+101
| | | | | | | | | | Add an option taking a list of files under the webxml directory that are run though the Sphinx converter to create .rst files. This can be used for tutorials and example descriptions. Task-number: PYSIDE-363 Change-Id: Ifa6df32517a2b336cd3f755523947d70c5c24f2e Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Rename PySide references to Qt for PythonCristian Maureira-Fredes2018-04-272-2/+2
| | | | | | | | | When referring to the project one should use "Qt for Python" and for the module "PySide2" Change-Id: I36497df245c9f6dd60d6e160e2fc805e48cefcae Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* QtXmlToSphinx: Handle ordered listsFriedemann Kleint2018-04-241-7/+25
| | | | | | | | | | Introduce an enumeration for the list type and handle ordered lists like bullet lists with a different separator. Task-number: PYSIDE-640 Change-Id: I2e770f2dd56958627e423822b8f4b1c23fdd4e16 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com>
* shiboken: Exclude smart-pointer-type from documentationFriedemann Kleint2018-04-192-0/+8
| | | | | | | | | | | | smart-pointer-type is a special type for making getter method and type known to shiboken. It should not be documented. Fixes a lot of warnings when trying to generate documentation for QtQuick.QSharedPointer. Task-number: PYSIDE-363 Change-Id: Icb26fa3e16cd74ae5115cdd1cbe32cb48ab5445b Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* shiboken: Reformat helpFriedemann Kleint2018-04-191-2/+3
| | | | | | | | | Print option descriptions indented by 8 below the option instead of beside the option at column 38 and add some newlines to avoid wrapping. Change-Id: I63295a40aaac588f761c5964b68dbaff8d013c95 Reviewed-by: Christian Tismer <tismer@stackless.com>
* QtXmlToSphinx::Table: Fix crash when having a rowspan > 1 in the last rowFriedemann Kleint2018-03-211-4/+5
| | | | | | | | | Limit the number of added cells to the rowcount. Task-number: PYSIDE-363 Change-Id: I2b05ce97962d56650112b66fe99de0f5ea693abb Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* shiboken/docgenerator: Add missing overrideFriedemann Kleint2018-03-211-8/+8
| | | | | | Change-Id: Ic4ee9c0e36bb727225bccfa7a72bee38a63d17c2 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* shiboken: Rename Generator::fileNamePrefix() to fileNameSuffix()Friedemann Kleint2018-03-212-4/+4
| | | | | | Change-Id: If7464f643fca74aa06099ca4b9905b34bd077193 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* siboken/Typesystem: Replace double used for versions by QVersionNumberFriedemann Kleint2018-03-201-7/+11
| | | | | | | | | | | | | - Change TypeSystemEntry::m_version from double to QVersionNumber. - Determine version at the beginning of the start element processing of the parser and use that. - Remove AddedFunction::m_version which is not needed. - Remove unused parameter double vr from AbstractMetaBuilderPrivate::translateType(). Change-Id: I2941667ba565f8c11aa0c14446ec7d6934da99dc Reviewed-by: Christian Tismer <tismer@stackless.com>
* shiboken/qtdocgenerator: Fix inline imagesFriedemann Kleint2018-02-282-14/+57
| | | | | | | | | | | | | | | | | | The rst ::image elements do not work inline, they require a line each. Work around as recommended by using rst substitution references instead, using a tag enclosed in '|' and defining it below. Split out a separate inline image handler and store the references to be written out later. Fixes warnings like: WARNING: image file not readable: PySide2/QtCore/images/cursor-cross.pngAcrosshaircursor,typicallyusedtohelptheuseraccuratelyselectapointonthescreen. Task-number: PYSIDE-363 Change-Id: I860875957688885ca48038aa3aa96bd9c38da709 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* shiboken/qtdocgenerator: Escape more charactersFriedemann Kleint2018-02-271-1/+6
| | | | | | | | | | Fix several warnings: Inline literal start-string without end-string. Task-number: PYSIDE-363 Change-Id: Iadd753d9e8c46b6f00e915e494b01f763e6ce035 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* shiboken/qtdocgenerator: Pass full name for inheritance diagramFriedemann Kleint2018-02-271-1/+1
| | | | | | | | | | | Fixing numerous warnings: WARNING: Could not import class '...' specified for inheritance diagram Task-number: PYSIDE-363 Task-number: PYSIDE-617 Change-Id: I84013d8be442c43212f0726a141ce0dc9b51c92c Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com>
* QtDocGenerator/QtXmlToSphinx: Fix see-also linksFriedemann Kleint2018-02-222-93/+166
| | | | | | | | | | | | | | | | | "See also" links may appear in the qdoc WebXML output as nested links: <see-also>QAbstractXmlReceiver<link raw="isValid()" href="qxmlquery.html#isValid" type="function">isValid()</link> which was handled in handleLinkTag(), or as direct text: <see-also>rootIsDecorated()</see-also> which was not handled, causing numerous warnings: .../QAbstractXmlNodeModel.rst:448: WARNING: Content block expected for the "seealso" directive; none found. Refactor and split QtXmlToSphinx::handleLinkTag() into several functions to operate on a struct LinkContext and keep 2 instances for nested link tags and directly embedded links. Task-number: PYSIDE-363 Change-Id: I734884267209f3621bfc5db4bf4347b838eb0de6 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* QtDocGenerator: Indent the function list containerFriedemann Kleint2018-02-211-1/+1
| | | | | | | | | Fix warnings: Content block expected for the "container" directive; none found Task-number: PYSIDE-363 Change-Id: Ie855ac355478060c0d280413a31dffcb03cf3935 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* QtDocGenerator: Ensure newline before tablesFriedemann Kleint2018-02-211-4/+19
| | | | | | | | | | | | | | | | | Fix warnings like: warning: Undefined substitution referenced: "Constant |Description" on tables like: *amplitude**period* +-------------------------+-----------+ |Constant |Description| +=========================+===========+ |QEasingCurve.InOutElastic| | +-------------------------+-----------+ Task-number: PYSIDE-363 Change-Id: I56cd9b73dacbfd84260c059a8916db5540029816 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* QtDocGenerator: Add newline before Synopsis/Detailed DescriptionFriedemann Kleint2018-02-211-3/+5
| | | | | | | | | Fix sphinx warnings: warning: Explicit markup ends without a blank line; unexpected unindent Task-number: PYSIDE-363 Change-Id: Iec9d8b35317dc9c1009db468284cb7b7a88104a0 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* DocParser: Add helper function to create list of documentable functionsFriedemann Kleint2018-02-211-27/+26
| | | | | | | | | | | | | | Move code from shouldSkip() helper of the doc generator into the doc parser and use that for the qdoc/doxygen parsers. The additional checks (most importantly the check for declaringClass != ownerClass excluding the virtual functions added by AbstractMetaClass::fixFunctions() to derived classes) avoid running unneeded XPATH queries. Task-number: PYSIDE-363 Change-Id: Ib1141a348c96b269a50c63dd94fe93931c12d1ec Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* shiboken/docgenerator: Refactor code doing the escapes for rstFriedemann Kleint2018-02-201-18/+39
| | | | | | | | | | Introduce a streamable class that does the escaping and some helpers for QString/QStringRef. Task-number: PYSIDE-363 Change-Id: Ica6d8a2ab43eeb597b4e9080330dc2ce700e0ed2 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* shiboken/docgenerator: Remove unneeed QStringRef::toString() callsFriedemann Kleint2018-02-201-5/+5
| | | | | | Change-Id: I4bbaa7d46bab2526906655c5f03bbd25a142bbc4 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* shiboken/docgenerator: Pad table rows up to header column countFriedemann Kleint2018-02-201-3/+7
| | | | | | | | | | Fix a warning about a malformed table (qcursor.cpp) whose last row has too few columns. Task-number: PYSIDE-363 Change-Id: I5eec88226e48064ee54e3abe1247d9dc06dc1d82 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* shiboken/docgenerator: Refactor code using split()Friedemann Kleint2018-02-201-48/+38
| | | | | | | | Use splitRef() where applicable or rewrite. Task-number: PYSIDE-363 Change-Id: I08dcafbba82327f6ff4c02f582341083b4b48755 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* shiboken/docgenerator: Remove helper createRepeatedChar()Friedemann Kleint2018-02-201-10/+23
| | | | | | | | | | Add a streamable Pad class for these purposes or use the corresponding QString constructor. Task-number: PYSIDE-363 Change-Id: I7e58ae19d2b0f2e1e14c0a235a5ab311350174c2 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* shiboken: Fix loops in QtDocGenerator::writeConstructors()Friedemann Kleint2018-02-191-6/+7
| | | | | | | | | Remove removed constructors and move constructors first before writing out documentation. Task-number: PYSIDE-363 Change-Id: I8dbe3e96ccc8f293253eb52e00c384d3ff458dcc Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* shiboken/docgenerator: Handle empty snippetsFriedemann Kleint2018-02-151-10/+13
| | | | | | | | | | | | | Empty snippets may actually be valid in case a single closing bracket in C++ is turned into an empty line in Python (customstyle.cpp[1]). Differentiate between those by using QString::isNull() for the fallback mechanism. Always output snippet identifier in messages. Amends 45f3126a04cd5493323b689c85a48106d0f8367e. Task-number: PYSIDE-363 Change-Id: I0391b18fafacbd4c57c4017adb08126a5e2c7c7e Reviewed-by: Christian Tismer <tismer@stackless.com>
* shiboken/docgenerator: Fall back to C++ snippet when Python snippet cannot ↵Friedemann Kleint2018-02-151-13/+70
| | | | | | | | | | be found Use the "path" attribute. Task-number: PYSIDE-363 Change-Id: I27adc86cfb58d20a90f411842c2f78de9dbe1a60 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Refactor QtXmlToSphinx::readFromLocation()Friedemann Kleint2018-02-131-9/+15
| | | | | | | | | Split out the code path for empty identifier and port to QRegularExpression. Task-number: PYSIDE-363 Change-Id: I6c0eeba1d62762e475de12d503fdc1a9d495d349 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Refactor QtDocGenerator::writeFormattedText()Friedemann Kleint2018-02-131-8/+15
| | | | | | | | | Rewrite to use QStringRef and add some checks preventing overflow should the text contain empty lines. Task-number: PYSIDE-363 Change-Id: I850221bc6e7a6b88fc3b6078cf2cb2e01663ab15 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Fix some spelling errors in qtdocgenerator.h/.cppFriedemann Kleint2018-02-132-15/+19
| | | | | | Task-number: PYSIDE-363 Change-Id: I781fc0dc195bc8f3222f9fce7c863b67d3d2c568 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* QtXmlToSphinx: Improve error handling for snippetsFriedemann Kleint2018-02-132-27/+53
| | | | | | | | | | Change the qCDebug() to qCWarning() for snippets issues and pass the errors up so that more context can be given. Task-number: PYSIDE-363 Change-Id: I23310cd55a1cdb3b040dd785db43717fa3c4c07d Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* shiboken/QtDocGenerator: Copy imagesFriedemann Kleint2018-02-022-7/+63
| | | | | | | | | | | | | | | Previously, the doc generator would rewrite the URLs to point to QTDIR/doc/src/images where the images were located in Qt 4. Add a function to copy the images from the webxml/images directory to a matching directory under rst where they can be picked up by sphinx. Task-number: PYSIDE-363 Change-Id: I1da83a7717dd61a9c0b80a7cc18444e00a1f4c1b Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Fix clazy warnings in the doc generatorsFriedemann Kleint2018-01-261-7/+5
| | | | | | | | | | | - Unused variables - Mixing const/non-const iterators - Signedness - Missing const ref in range-based for - Uninitialized variable Change-Id: I02e6d4c5b0416aa8462f7b9d567b562a702a5740 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Refactor typesystem modification structsFriedemann Kleint2017-12-051-2/+2
| | | | | | | | | | | - Use member initialization where possible - Make constructors explicit - Remove unused version attributes, unused comparison operators of FunctionModification and unused struct ExpensePolicy - Rearrange members to minimize Clang warnings about padding Change-Id: I1423f120b2117237c2674cdbb6d06923c842999f Reviewed-by: Christian Tismer <tismer@stackless.com>
* shiboken: Further refactor command line arguments and helpFriedemann Kleint2017-06-092-14/+13
| | | | | | | | | | | | | | Replace the QMap of options returned by the generators by a vector of pairs to allow for specifying the order. This allows for better formatting -I/-F/-T in multiple lines. Add -h for help. Move the missing typelib file handling into main and print a help hint there. Change-Id: I5a95bd8d193be012aaa7ce3934945b25e21d3f79 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* move everying into sources/shiboken2 (5.9 edition)Oswald Buddenhagen2017-05-223-0/+1971
in preparation for a subtree merge. this should not be necessary to do in a separate commit, but git is a tad stupid about following history correctly without it.