summaryrefslogtreecommitdiffstats
path: root/src/tools/qdoc/generator.cpp
Commit message (Collapse)AuthorAgeFilesLines
* qdoc: Support documentation of JavaScriptMartin Smith2015-02-201-37/+52
| | | | | | | | | | | | | | | | | | | | | This update provides the actual support for documenting JavaScript. It has been tested with JavaScript commands in qdoc comments in .qdoc files but not in .js files. Currently, we have the use case of needing to document JavaScript using qdoc comments in .qdoc files. For each qdoc command for QML, i.e. \qmltype, \qmlproperty, etc, there is now a corresponding JavaScript command, i.e. \jstype, \jsproperty, etc. Some of these might not be needed, but they are all provided. Briefly, document JavaScript in a .qdoc file the same way you would document QML in a .qdoc file, but instead of using the \qmlxxx commands, use \jsxxx commands. Change-Id: Ib68a5f66c16472af87d9f776db162332ca13fbb7 Task-number: QTBUG-43715 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* qdoc: Clear the list of output files during generator initTopi Reinio2015-02-161-0/+1
| | | | | | | | | | | | | QDoc keeps a list of files it generates (or copies) to the output directory, for writing it to a .qhp file later on. In single-exec mode, QDoc processes several qdocconf files without deleting the generator in between. Therefore, we need to clear the list of files whenever the generator is initialized, to avoid duplicating the filenames across multiple .qhp files. Change-Id: Ibc2a6b171466aa1db6cfe3da9a820d5ba2845004 Reviewed-by: Martin Smith <martin.smith@digia.com>
* Update copyright headersJani Heikkinen2015-02-111-7/+7
| | | | | | | | | | | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Outdated header.LGPL removed (use header.LGPL21 instead) Old header.LGPL3 renamed to header.LGPL3-COMM to match actual licensing combination. New header.LGPL-COMM taken in the use file which were using old header.LGPL3 (src/plugins/platforms/android/extract.cpp) Added new header.LGPL3 containing Commercial + LGPLv3 + GPLv2 license combination Change-Id: I6f49b819a8a20cc4f88b794a8f6726d975e8ffbe Reviewed-by: Matti Paaso <matti.paaso@theqtcompany.com>
* qdoc: Change uses of module and qmlModuleMartin Smith2015-02-031-6/+6
| | | | | | | | | | | | | | | | | The uses of moduleName and qmlModuleName are changed to physicalModuleName and logicalModuleName respectively. A few other names are also changed in the same way. These changes are being done both to support documentation of javascript but also to emphasize that moduleName is really the name of the physical library module the entity is part of, and qmlModuleName is really the name of a collection of logical entities that is versionable and that may contain entities located in different physical modules. Change-Id: If49392aabf5950dc7b97c84f8134e9369e76dd1b Task-number: QTBUG-43715 Reviewed-by: Martin Smith <martin.smith@digia.com>
* qdoc: Change name of node typeMartin Smith2015-01-221-9/+6
| | | | | | | | | | | | QmlClassNode is renamed to QmlTypeNode. This is done in preparation for implementing qdoc support for documenting javascript code. Next, QmlTypeNode will be renamed to JsTypeNode, and a new QmlTypeNode will be declared that will inherit JsTypeNode. Change-Id: Ia5d0c367d06c26cb43f887927bbcb096afcb7301 Task-number: QTBUG-43715 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* qdoc: Remove support for DITA XMLMartin Smith2015-01-211-1/+0
| | | | | | | | This update makes removes Qdoc's DITA XML generator. Change-Id: Ibcfd013ace00e56a23268a2a5d850e6c9ea093d0 Task-number: QTBUG-43174 Reviewed-by: Martin Smith <martin.smith@digia.com>
* qdoc: Fixed broken links for abstract QML typesMartin Smith2015-01-171-0/+1
| | | | | | | | | | | | | | | When a QML base type is abstract, the documentation for its properties is supposed to appear on the reference page for each QML type that inherits the abstract type. And then links to those properties from within the property documentation must refer to the documentation for that property on the reference page for the particular inheriting QML type. These links were dead, but this fix corrects the problem. Change-Id: Icaf01d67edf44567099f5a6a59fd6348de8df380 Task-number: QTBUG-43200 Reviewed-by: Nico Vertriest <nico.vertriest@digia.com> Reviewed-by: Tero Kojo <tero.kojo@digia.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* qdoc: Generate QA pagesMartin Smith2014-10-171-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | qdoc has a new command line option, -write-qa-pages. Using this flag on the command line will tell qdoc to generate a QA html page in each module's output directory. The QA page contains information that is useful for Quality Assurance checking of the module's docs. The QA file name begins with "aaa" so it will always be listed at the top of the output directory. The file name for the QA file for QtCore, for example, is aaa-qtcore-qa-page.html. Currently, the QA page only contains a report listing the intermodule link count for each module that is the target of links from the documented module. The link report can be used to optimize the search order qdoc uses when resolving inter-module links. By default, the search order is the same as the ordering of the modules in the depends list in the .qdocconf file. Using the report, the user can reorder that list according to the number of links found in each module. i.e. in descending order of link count. The modules are listed in descending order of link count. Additionally, an actual depends variable is printed. It can be cut and pasted into the module's qdocconf file. Change-Id: I442596aeb54dcdd5db4a0821096a5273c15627e6 Task-number: QTBUG-41850 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* qdoc: qdoc was too slowMartin Smith2014-10-171-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The hard-coded search order is now removed. The search order is now constructed from the depends variable in the qdocconf file. The basic idea is that qdoc is run once. It gets a list of all the qdocconf files for the modules in Qt5. First, qdoc runs in -prepare mode for each qdocconf file in the list. It generates the index file for each module, but these index files are never used. At the end of the -prepare phase for each module, qdoc keeps the tree structure for the module in a collection of trees. Second, qdoc runs in -generate mode for each qdocconf file in the list. But now it uses the existing tree for that module, so it doesn't have to read the sources files again, and it doesn't have to read any index files. Now it generates the docs for each module. The runtime for qdoc has been reduced by 90% when running qdoc for all of Qt5 on a not so new iMac. Before this update, qdoc took about 10 minutes to generate docs for Qt5. Now it takes a little over 1 minute. The new way to run qdoc is described in the Qt bug report referenced here. Note that running qdoc this new (old) way also generates fewer qdoc errors than when running qdoc the old way. This indicates that the index files qdoc uses when running the old way are incomplete. Note also that the old way of running qdoc is not affected by this update. The old way is still required for running qdoc in the current qmake/make system. That process must be changed to be able to use the faster qdoc. The details are provided in the Qt bug report. Change-Id: Ibec41d6fbaa9fc8cd070a05d04357bd02c4478f0 Task-number: QTBUG-41705 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* Update license headers and add new license filesMatti Paaso2014-09-241-19/+11
| | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 - Removed LICENSE.GPL Change-Id: Iec3406e3eb3f133be549092015cefe33d259a3f2 Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
* qdoc: Enable listing of example files with .html extensionTopi Reinio2014-08-261-1/+1
| | | | | | | | | | | | | If a (non-external) link string ends in '.html', qdoc assumed it is a direct link to a generated html page. However, it could also refer to an example file with .html extension. This commit fixes a corner case where links to an example file page were broken for such files. Task-number: QTBUG-40831 Change-Id: I31acc141970b6768f0a93964723be82611d37a3d Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* qdoc: Write all generated files to .qhpTopi Reinio2014-08-261-7/+4
| | | | | | | | | | | | | | | | | | | | | When writing the Qt Help Project XML file, QDoc traverses the documentation nodes recursively, adding html filenames for each node to the XML. The logic that QDoc uses for this process is not perfect, and needs to be kept up to date whenever the internal structure of the node tree changes. This often leads to problems where some pages are generated but not added to the .qhp, resulting in missing pages in the offline documentation. This change fixes this problem by having the generator keep track of the created filenames, and passing that to the help project writer. Task-number: QTBUG-40572 Change-Id: Ife60a30724183a2b6dcd2397ea79bfbdc2addd04 Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* qdoc: Remove all collision node stuff from qdocMartin Smith2014-08-221-104/+45
| | | | | | | | | | | | Now that the qdoc link command has ability to tell qdoc which module contains a link target or whether to link to a QML or CPP entity, collision pages should no longer be necessary. In fact, qdoc hasn't been generating any collisions for some time. This task removes all the collision node code from qdoc. Task-number: QTBUG-40506 Change-Id: I34d1980ca1c0fe4bb5ad27dd4b00e61fa7e6e335 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* qdoc: Distinguish between QML property and attached propertyTopi Reinio2014-08-121-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | A recent change in qtdeclarative (60ed6a43) added an attached property 'Window' to Item type, with property names identical to the ones already available in Window. This caused QDoc to report warnings for duplicate documentation for QML properties, because there was no distiction between a QML property and an attached property. This change fixes the issue by: - Allowing identical names for \qmlproperty and \qmlattachedproperty - Using distinct URLs/UUIDs/anchor references for them - Marking attached properties with '[attached]' qualifier in 'All Members' page. This doesn't solve the issue of disambiguating between a similarly named QML property and attached property when linking from an external location. However, these can be solved with the help of the \target command. Task-number: QTBUG-40674 Change-Id: Icc74de237366e9897334689fe354ab83e4af0356 Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* qdoc: Give documenter more control of linkingMartin Smith2014-06-011-46/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | This update is preparation for implementing the actual task described in the bug. To implement it required converting the QML type node and the QML basic type node to be first order tree nodes instead of subtypes of the documentation node. This cleans up a lot of messy logic in some places. It was also necessary to split the getLink() function in the html output generator into two functions, one still called getLink(), which handles the \l command, and one called qetAutoLink() which is called for generating auto links. This should make qdoc run faster. The basic infrastructure was also added for parsing the string in the square brackets for the \l command. There will be a further update to complete this task. Note that some autolinks might not be generated due to this change. I haven't seen any yet, but I believe there will be some. This can be fixed later, if it is a problem. Task-number: QTBUG-39221 Change-Id: I8135229984398408205ba901b9ef95ceac74683c Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* qdoc: attaching type of attached properties was missingMartin Smith2014-05-021-9/+10
| | | | | | | | | | | | | This bug was probably intoroduced when the QmlPropertyGroup became a first class Node type. Otherwise, there is no way to explain how it worked at all. But now qdoc includes the attaching type. Some debugging code was also cleaned up. Task-number: QTBUG-35559 Change-Id: I478efb7f4356d51015af9f33c893958d4b4ae301 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* qdoc: Simplify config code for reading file pathsTopi Reinio2014-05-021-11/+11
| | | | | | | | | | | | | | | | | | | | This change greatly simplifies the code used for reading paths from config files: near-identical functions Config::getCanonicalPathList() and Config::getPathList() are combined into one, and the use of Config::getCleanPathList() is replaced with the above. Effectively, all paths read from the config files are now converted into canonical ones. It also adds support for absolute paths in config files. Task-number: QTBUG-36193 Change-Id: I2dc1ee6a67a400e056404ec1c09c6e81f643aa77 Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* qdoc: Unexplained empty ref attributes in qhp filesMartin Smith2014-03-311-4/+6
| | | | | | | | | | | | | | | This update fixes a bug introduced by the extensive changes for QTBUG-35377. Three node subtypes - Group, Module, and QML module, were promoted to be first line node types in the update for QTBUG-35377. This broke the file name construction routine for those node subtypes, which used to have the DocNode node type. This caused empty ref attributes to appear for those keyword elements in the qhp file. The file name construction routine has now been corrected to account for this. Task-number: QTBUG-37658 Change-Id: I307979255fdfd48493b3a4cebaf996b2130bc2c7 Reviewed-by: Martin Smith <martin.smith@digia.com>
* qdoc: fix inheritance information for some QML typesMartin Smith2014-03-311-4/+4
| | | | | | | | | | | | | | | This update fixes a bug introduced by the extensive changes for QTBUG-35377. For a QML base type loaded from an index file, its QML base type was not being resolved. This resulted in the "All members" page for some QML types to be incomplete because the pointer to the base type was 0 when it should have been set. This change also introduces the concept of "just in time" resolution for base type pointers, which appears to speed up qdoc a little. Task-number: QTBUG-37326 Change-Id: I5f09336ec70ba84029b44b245c56f7f8fe349757 Reviewed-by: Martin Smith <martin.smith@digia.com>
* doc: Remove "current child" codeMartin Smith2014-03-311-11/+1
| | | | | | | | | | | | | | | | The current child concept was added to the Name Collision Node to heuristically provide better linking when a link operation reached a collision node. It is doubtful that this improved linking much, but now that qdoc uses multiple trees, it is much less likely that collision nodes will occur. In fact, there are none in in the current Qt5. Therefore, the current child code is hereby removed from qdoc. Task-number: QTBUG-37067 Change-Id: I33aea5d550afb7ceaf941d49112e02c21d44f6dc Reviewed-by: Martin Smith <martin.smith@digia.com>
* qdoc: Teach qdoc to use multiple trees (part 3)Martin Smith2014-03-311-13/+53
| | | | | | | | | | | | | | | | | | With this update, qdoc is now ready for testing with multiple trees. In making this change to using multiple trees, it has become clear that qdoc does not really need trees the way it currently uses them. Each C++ class or namespace, or QML type is naturally a tree tree structure, but above that level, what we currently call a tree in qdoc should really be called a collection of maps. This change has moved qdoc in that direction. It remains to replace the Tree class with a class that encapsulates a set of maps, one for each major node type. That can be implemented later. Task-number: QTBUG-35377 Change-Id: I39068a0cb26c01f14ec0e4621742d727efb913bf Reviewed-by: Martin Smith <martin.smith@digia.com>
* qdoc: Teach qdoc to use multiple trees (part 2)Martin Smith2014-03-311-6/+10
| | | | | | | | | | | | | | | | | | | qdoc now knows how to search the forrest of node trees in an optimal order. But there remain some problems with specific searches that cross module boundaries. These include group membership and C++ and QML module membership, as well ass C++ base class resolution. Part 3 will be concerned with fixing these remaining bugs. With this update, qdoc now takes less time to generate the docs for Qt 5. Testing indicates that qdoc run time has dropped from about 14 minutes to about 7.5 minutes on an iMac. Task-number: QTBUG-35377 Change-Id: I6bded6ef54124b4f6e5914cad4548f0b600209b0 Reviewed-by: Martin Smith <martin.smith@digia.com>
* qdoc: Teach qdoc to use multiple treesMartin Smith2014-03-311-18/+21
| | | | | | | | | | | | | | | | | | | | | | | qdoc now builds a separate Node Tree for each index file it parsed. The main Node Tree now contains only the Nodes of things being documented in the current module. This should make qdoc run a little faster. qdoc now uses these separate trees to make intra-module and inter-module linking more robust by searching the trees in an order that depends on the type of link it is searching for. The tree for the current module is always searched first. Then qdoc searches the trees for either the C++ modules or the QML modules, depending on whether it is looking for a C++ link or a QML link. In preparation for this update, qdoc was also simplified a lot. Many functions became obsolete and were removed. Others were combined. Task-number: QTBUG-35377 Change-Id: Iea4e49869ff6a6ff0f4d53090728770d40d892f3 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* QDoc: Do not warn about a file overwritting while writing to /dev/nullJędrzej Nowacki2014-03-061-1/+1
| | | | | | Change-Id: I7d23edf5a73d521bad361f1007be0750acd4c1e9 Reviewed-by: Topi Reiniö <topi.reinio@digia.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* qdoc: fix memory leaks, unchecked open(), hardcoded path - in debugging codeDavid Faure2014-02-101-6/+5
| | | | | | | Change-Id: I3b065dd18f60214a858543d062dfb2f0f1dc1b36 Reviewed-by: Laurent Montel <laurent.montel@kdab.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Martin Smith <martin.smith@digia.com>
* qdoc: Fix crash in Generator::generateInnerNodeAlbert Astals Cid2014-01-221-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using an iterator is not a good idea since the generateInnerNode can end up adding new items to the childrenNode list and thus the iterator becomes invalid Without this patch i was getting this trace in valgrind ==19251== Invalid read of size 8 ==19251== at 0x474350: Generator::generateInnerNode(InnerNode*) (generator.cpp:1018) ==19251== by 0x4A422D: HtmlGenerator::generateTree() (htmlgenerator.cpp:276) ==19251== by 0x4AC369: processQdocconfFile(QString const&) (main.cpp:515) ==19251== by 0x40B894: main (main.cpp:669) ==19251== Address 0x943c1c0 is 0 bytes after a block of size 32 free'd ==19251== at 0x4C2C72E: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==19251== by 0x51676F2: QListData::realloc(int) (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.2.0) ==19251== by 0x51677EE: QListData::append(int) (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.2.0) ==19251== by 0x439BAB: QList<Node*>::append(Node* const&) (qlist.h:533) ==19251== by 0x4B46B3: InnerNode::addChild(Node*) (node.cpp:1262) ==19251== by 0x4B48DC: Node::Node(Node::Type, InnerNode*, QString const&) (node.cpp:179) ==19251== by 0x4B539F: InnerNode::InnerNode(Node::Type, InnerNode*, QString const&) (node.cpp:1193) ==19251== by 0x4B54EB: DocNode::DocNode(InnerNode*, QString const&, Node::SubType, Node::PageType) (node.cpp:1608) ==19251== by 0x4C0C5E: QDocDatabase::findQmlModule(QString const&) (node.h:535) ==19251== by 0x497EEA: HtmlGenerator::generateQmlRequisites(QmlClassNode*, CodeMarker*) (htmlgenerator.cpp:2005) ==19251== by 0x4995B9: HtmlGenerator::generateDocNode(DocNode*, CodeMarker*) (htmlgenerator.cpp:1533) ==19251== by 0x474508: Generator::generateInnerNode(InnerNode*) (generator.cpp:1010) ==19251== by 0x474372: Generator::generateInnerNode(InnerNode*) (generator.cpp:1019) ==19251== by 0x4A422D: HtmlGenerator::generateTree() (htmlgenerator.cpp:276) ==19251== by 0x4AC369: processQdocconfFile(QString const&) (main.cpp:515) ==19251== by 0x40B894: main (main.cpp:669) Change-Id: I7a6ae0a689ea5edddacf7f27f9dce95b26a441df Reviewed-by: Martin Smith <martin.smith@digia.com>
* qdoc: Fix output filenames for QML basic type documentationTopi Reinio2013-12-041-8/+8
| | | | | | | | | | | | | | | qdoc intends to prepend all html files related to QML with a 'qml-' prefix. This doesn't work for basic QML types, as those nodes do not have valid qml module name information. This change fixes the issue by removing the requirement for a qml module name, thereby always using the qml prefix for a qml (basic) type. Task-number: QTBUG-35229 Change-Id: If61572b2dc8a39be08140c37aa59646b88e99b29 Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* qdoc: Fix output file name generation for examplesTopi Reinio2013-11-071-1/+5
| | | | | | | | | | | | | | | | When generating output file names for examples, qdoc prepends a module-specific prefix. Unless already defined, it defaults to the project name defined in .qdocconf file. This leads to wrong prefix being used in some cases - specifically, on pages in qtdoc module listing examples in other modules. This change takes the modulename prefix from the node, and only uses the project name as a fallback. Task-number: QTBUG-34581 Change-Id: Ia0a940cbc05ed819ff36c328cf9c1e30e2c65b5e Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* qdoc: Don't output docs for internal thingsMartin Smith2013-11-011-0/+4
| | | | | | | | | | | | This update to the Generator base class prevents qdoc from writing an html file for anything that is marked \internal if the user has not set the showinternal flag. Task-number: QTBUG-34269 Change-Id: Ia60109d4568447501370bb9d4c1344a48f9b6113 Reviewed-by: Topi Reiniö <topi.reinio@digia.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: Nico Vertriest <nico.vertriest@digia.com>
* qdoc: Eliminate uses of qmlModuleIdentifier()Martin Smith2013-10-041-2/+2
| | | | | | | | | The QML module identifier is no longer useful. The function to generate it is retained for now. Task-number: QTBUG-32173 Change-Id: Ic811ed432f2059c0370e9e0d86b2e334b5c82a3c Reviewed-by: Martin Smith <martin.smith@digia.com>
* qdoc: Correct location info for typedefs with associated enumsTopi Reinio2013-09-271-0/+6
| | | | | | | | | | | | | | For typedef nodes that have an associated enumeration, qdoc generates incorrect location info (written to index files) by simply appending '-typedef' to the node name. The correct location to link to is the associated enumeration, if one exists. Task-number: QTBUG-33684 Change-Id: I749171ccae9ccc10f084a40fda14e72d5f4d44cf Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Martin Smith <martin.smith@digia.com>
* Doc: Restore QDoc's use of the \sinceJerome Pasion2013-09-241-10/+3
| | | | | | | | | | -one argument: assume it is the Qt version -more than one argument: copy verbatim Task-number: QTBUG-32172 Change-Id: Iaf5ec538f23abf4d1dfdf50bffcbbdede56d0b22 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Martin Smith <martin.smith@digia.com>
* Improve qdoc performance.Jędrzej Nowacki2013-09-211-1/+1
| | | | | | | | | | | Valgrind blamed CppCodeMarker::addMarkUp as slow, the patch improves situation by ~12% Use of QStringLiterals instead of const char* reduce amount of allocations on startup. Change-Id: I8737e02785506bba7e23868ab3952eab09d543d2 Reviewed-by: Martin Smith <martin.smith@digia.com>
* qdoc: Better use of versions of QML modulesMartin Smith2013-09-101-30/+33
| | | | | | | | | | | | | | Now qdoc doesn't use the QML module version number when it isn't necessary. Page names are cleaner without appending the version number to the QML module name. Also reduces the number of duplicate page warnings, but this will be updated further next time. Task-number: QTBUG-33257 Change-Id: Iba587164532bdc819523e0666f7561ac2dbd5e52 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* qdoc: Make example file names uniqueMartin Smith2013-08-221-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | To avoid duplicate files for examples, the files are named this way. Suppose you have an example called mandelbrot. The example is in a subdirectory named mandelbrot, and there is a \example command somewhere like this: \example mandelbrot In this case, the mandelbrot example is in the QtCore module. Then the name of the example page will be: "qtcore-mandelbrot-example" ...and the names of the example files will be: "qtcore-mandelbrot-main-cpp.html" "qtcore-mandelbrot-mandelbrot-pro.html" "qtcore-mandelbrot-mandelbrotwidget-cpp.html" "qtcore-mandelbrot-mandelbrotwidget-h.html" "qtcore-mandelbrot-renderthread-cpp.html" "qtcore-mandelbrot-renderthread-h.html" Task-number: QTBUG-32580 Change-Id: Ic4445fd65b679523d6d94a8b0c19289d049ef0b0 Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* qdoc: Restore support for output in one directoryMartin Smith2013-08-081-9/+16
| | | | | | | | | | | | | | | | | | | | | | The basic functionality is working. Add these lines to qt-html-templates-offline.qdocconf, or add them to the online version: HTML.nosubdirs = "true" HTML.outputsubdir = "html" Before it opens a .html file for writing, it tests whether the file alread exists. If so, it writes an error message, e.g.: ...platform-notes.qdoc:140: error: HTML file already exists; overwriting .../doc/html/platform-notes-windows.html There are currently nearly 100 files being overwritten for Qt5. Task-number: QTBUG-32580 Change-Id: I02b103fd00b9d1e624665ac518d571acc791be9d Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Doc: Unified the summary for C++ classes and QML types.Jerome Pasion2013-07-301-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The placement of the header, since, inherits, instantiates, and instantiated-by are now in a table. For C++ classes: Header: #include <class name> Since: <version> Instantiated by: <QML type> Inherits: <parent class> Inherited by: <list of classes> For QML types: To import: import <QML module> Since: <version> Inherited by:<list of QML types> Instantiates: <C++ class> Inherits: <parent QML type> Inherited by: <list of QML types> This is only a part of the work being done for QTBUG-32172. Task-number: QTBUG-32172 Change-Id: Ia9d29e824ef7ab4052ea59c6397b5f8fd24022b9 Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* qdoc: Don't try to output from index nodesMartin Smith2013-07-251-0/+2
| | | | | | | | | | | | When qdoc traverses its internal node tree to generate either the html docs or the help file, it no longer traverses nodes that were added to the tree as the result of reading an index file. Task-number: QTBUG-32622 Change-Id: Iac63ac2ce177b15b85a2aa73850c45891cbbc624 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Sergio Ahumada2013-07-241-1/+1
|\ | | | | | | refs/staging/dev
| * Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-07-231-1/+1
| |\ | | | | | | | | | | | | | | | | | | Conflicts: tests/auto/dbus/qdbusabstractinterface/tst_qdbusabstractinterface.cpp Change-Id: I18a9d83fc14f4a9afdb1e40523ec51e3fa1d7754
| | * Changed digia contact details to */legal, updated licensesTeemu Kaukoranta2013-07-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Scripts are available in internal mkdist repo. Added license tags, updated licenses and copyrights/contacts Change-Id: Ibc734275f3000987eaa4f5c57f19d4e1fda2c479 Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* | | doc: Ensure page name does not changeMartin Smith2013-07-231-3/+13
|/ / | | | | | | | | | | | | | | | | | | | | | | This fix ensures that the page name is set only once. Also included are a few internal documentation changes that bring qdoc's internal terminology up to date. Task-number: QTBUG-31578 Change-Id: Ib52a5a9024533d5a695cee0055bf2bc4d9bc2af9 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* | qdoc: Implement better handling of QML property groupsMartin Smith2013-07-111-6/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The \qmlpropertygroup command is added, and qdoc is taught to generate better output for it. The format is, e.g.: \qmlpropertygroup QtQuick2::Item::anchors \qmlproperty AnchorLine QtQuick2::Item::anchors.top \qmlproperty AnchorLine QtQuick2::Item::anchors.bottom \qmlproperty AnchorLine QtQuick2::Item::anchors.left \qmlproperty AnchorLine QtQuick2::Item::anchors.right \qmlproperty AnchorLine QtQuick2::Item::anchors.horizontalCenter \qmlproperty AnchorLine QtQuick2::Item::anchors.verticalCenter \qmlproperty AnchorLine QtQuick2::Item::anchors.baseline \qmlproperty Item QtQuick2::Item::anchors.fill \qmlproperty Item QtQuick2::Item::anchors.centerIn \qmlproperty real QtQuick2::Item::anchors.margins \qmlproperty real QtQuick2::Item::anchors.topMargin \qmlproperty real QtQuick2::Item::anchors.bottomMargin \qmlproperty real QtQuick2::Item::anchors.leftMargin \qmlproperty real QtQuick2::Item::anchors.rightMargin \qmlproperty real QtQuick2::Item::anchors.horizontalCenterOffset \qmlproperty real QtQuick2::Item::anchors.verticalCenterOffset \qmlproperty real QtQuick2::Item::anchors.baselineOffset \qmlproperty bool QtQuick2::Item::anchors.alignWhenCentered Task-number: QTBUG-32341 Change-Id: I4b06a3a061b23680e663e8d4e82ac9863ffd4ecb Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-06-201-0/+2
|\| | | | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm src/plugins/platforms/qnx/qqnxrasterbackingstore.cpp tools/configure/configureapp.cpp Change-Id: I3092bd3276af14304b7ab3ae1e1cc05d11cdede0
| * Make qtbase compile with QT_NO_TEXTCODECTasuku Suzuki2013-06-171-0/+2
| | | | | | | | | | Change-Id: I1614dc08c0dd1950020e415f37c97160431b2336 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-05-231-1/+1
|\| | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/qdatastream.cpp src/corelib/io/qdatastream.h src/corelib/json/qjsonwriter.cpp src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/xcb/qxcbkeyboard.cpp Change-Id: I46fef1455f5a9f2ce1ec394a3c65881093c51b62
| * qdoc: The \wrapper command is addedMartin Smith2013-05-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If \wrapper appears in a \class comment or a \qmltype comment, qdoc will not print warnings when it finds public members of the class or the QML type that are not documented. The \wrapper command is added to several opengl classes. This reduces the number of qdoc warnings by several thousands. Task-number: QTBUG-30755 Change-Id: Iba1eebc1590ccf54100e40fe91423240c1b3d09d Reviewed-by: Topi Reiniö <topi.reinio@digia.com> Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com> Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-04-221-3/+11
|\| | | | | | | Change-Id: I059725e3b7d7ffd5a16a0931e6c17200917172b5
| * qdoc: Add index of obsolete members to obsolete pageMartin Smith2013-04-171-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | qdoc has been modified to emit a compact list of the classes that have one or more obsolete members. The command is: \generatelist obsoletecppmembers This generates an index of all such classes, where each class name is a link to the class's subpage of obsolete members. A class's subpage of obsolete members is also accessible from the class's reference page, but now it is also accessible from this index. Also, The command shown has been added to the page obsoleteclasses.html in the generated output. This page already contains the index of obsolete classes. Currently, no such output is generated for QML types and QML types with obsolete members. But qdoc does accept commands for those: \generatelist obsoleteqmltypes and \generatelist obsoleteqmlmembers ...but qdoc doesn't know what to do with those commands yet. Task-number: QTBUG-30270 Change-Id: If19a3b977f64c948e4bd6f14a9e0a287419baa8a Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* | Add new option to qdoc.Jędrzej Nowacki2013-04-051-1/+4
|/ | | | | | | | | | The -redirect-documentation-to-dev-null option allows to get all qdoc errors, without creating full documentation. It significantly reduces amount IO operations. Change-Id: I80fb6f9e304eb106f1c1d1e6320a1b38d788f6fc Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>