summaryrefslogtreecommitdiffstats
path: root/src/tools/qdoc/ditaxmlgenerator.cpp
Commit message (Collapse)AuthorAgeFilesLines
* qdoc: Further changes to the QML specializationMartin Smith2012-05-011-12/+25
| | | | | | | | | Re-adding <qmlInherits>, <qmlInheritedBy>, <qmlInstantiates>, and <qmlSince>. Also adding <qmlAttached>. Change-Id: Iebd70a37b083bc404ce621d0bb9d3090dbc1109e Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* qdoc: Further changes to the QML specializationMartin Smith2012-04-281-2/+7
| | | | | | | | | | The <qmlPropertyGroup> tag now has an id attribute of the form "id-qml-propertygroup-xxx" where the xxx is the property name. //This should be unique within the document. Change-Id: I20b30266dbe92b85b60400de30ebf9b1f1e292ea Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* qdoc: Further changes to the QML specializationMartin Smith2012-04-241-58/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Body elements to include type, property, method, signal, enum info, so: qmlDetail to - qmlTypeDetail - qmlPropertyDetail - qmlEnumerationDetail - qmlMethodDetail - qmlSignalDetail 2. Same thing for a section that contains elements specialized for QML, so qmlDef to - qmlTypeDef - qmlPropertyDef - qmlEnumerationDef - qmlMethodDef - qmlSignalDef Rationale for both items above is that otherwise the body and section content models would have to be exactly the same for a type, property, method, etc. 3. For the import statement use: <qmlImportModule> <apiItemName>QtGraphicalEffects</apiItemName> <apiData>1.0</apiData> </qmlImportModule> So we have an element indicating that this is for the import statement, not an outputclass. And no need to specialize the elements inside it as we know from the ancestor (qmlImportModule) what they're for. <qmlImportModule> to be specialized from apiDef. 4. The 'description' section name doesn't need to be specialized further from the API ref. DTDs so <qmlDesc> should be <apiDesc> The content model for the 'description' section would be similar to that of a normal DITA section, specialized into apiDesc in the API ref. DTDs, so we don't need to rename it for QML. 5. We need a separate element for the since information. <qmlSince> <apiItemName>QtGraphicalEffects</apiItemName> <apiData>1.0</apiData> </qmlSince> 6. Public identifier should be like this for a type: -//NOKIA//DTD DITA QML Type//EN Not like this: -//NOKIA//DTD DITA QML API Type Reference v0.1.0//EN Change-Id: Ie9047965bf32a2e3e9339eb743f2019cb38c88e4 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* qdoc: Don't write '...' for empty <apiName>Martin Smith2012-04-231-2/+2
| | | | | | | qdoc now <apiName/>, when there is no name. Change-Id: I0aa85eef633776f691c9e2238514194cf89b8a8f Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* qdoc: Update qdoc to use QML spec for DITAMartin Smith2012-04-231-177/+247
| | | | | | | | qdoc now generates DITA XML from QML docs according to the QML specialization. Change-Id: I51d93c2ab3b1deefab9bbedcd2e752f49648809f Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* QDoc: Generate index file for DITAXML.Casper van Donderen2012-04-191-2/+6
| | | | | | | | | | | This change moves the fullDocumentLocation function to the generator base-class and adds generateIndex to the DITAXML Generator. All function calls to fullDocumentLocation are now handled by the static function in the base-class which will use the file extension from the currently active generator (either DITAXML or HTML). Change-Id: I24ce09c05a63eb5980b1243c58990e7ce9d42036 Reviewed-by: Martin Smith <martin.smith@nokia.com>
* QDoc: Write subclasses of namespaces in automatic ditamap.Casper van Donderen2012-04-171-13/+22
| | | | | | | Now we also write the subclasses of namespaces sorted to qt.ditamap. Change-Id: I4a4376bac208b9bacd5a2ddd5265faef13dc2eba Reviewed-by: Martin Smith <martin.smith@nokia.com>
* qdoc: Fixed bugs causing invalid DITA XMLMartin Smith2012-04-141-153/+177
| | | | | | | | | | | Fixed a bug in qdoc that caused too many end elements to be generated. Also fixed some doc errors that caused invalid DITA to be generated. Task nr: QTBUG-25302 Change-Id: Ifbbf457d28c51c2691a252888447739da7713bc9 Reviewed-by: Martin Smith <martin.smith@nokia.com> Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* QDoc: Fix infinite loop when finding items in ditamaps.Casper van Donderen2012-04-131-1/+2
| | | | | Change-Id: Ic033676e21a252db07543fccba0d2a41f4b52294 Reviewed-by: Martin Smith <martin.smith@nokia.com>
* QDoc: Generate missing image error.Casper van Donderen2012-04-121-0/+1
| | | | | Change-Id: I98faf3b3422fa0a7ebd3f65c7ba64e6dc31bad86 Reviewed-by: Martin Smith <martin.smith@nokia.com>
* qdoc: Fixed to report read-only QML properties correctlyMartin Smith2012-04-111-19/+11
| | | | | | | | | | | | Now the default for a QML property is writable. If qdoc can't detect the actual read-only status, writable is assumed. There were some cases where qdoc could not determine the actual read-only/writable status for a QML property. In these cases, qdoc reported read-only because the default was read-only, which was not optimal. Change-Id: I55aeb2bedcde92a414f4d48a8d995e5e9dbca5da Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* qdoc: Don't lower case <shortdesc> in DITA.Martin Smith2012-04-021-32/+31
| | | | | | | | The first letter of a short description no longer has a lower case letter. Change-Id: I98f04d2feba070a0a77161316773306386cc6b67 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* qdoc: Add the \hr commandMartin Smith2012-04-021-0/+5
| | | | | | | | Now you can out put a horizontal line anywhere in your text. Change-Id: I9b8bbbd6aa312e8386fb1a3b165876d76057f784 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* qdoc: Allow documenting a C++ class as a QML type.Martin Smith2012-04-021-68/+176
| | | | | | | | | | | | | | | | | | | Now qdoc can handle the case where a C++ class is documented as a QML type of the same name, or as both a C++ class and a QML type of the same name. And collisions pages are created for both the HTML and the DITA XML output. A collision page is created when two items have the same name. The collision pages will be augmented later to include the list of pages where ambiguous links to one of the items listed on the collision page are actually located, so the writer can go back to those links and add the appropriate qualifier. Change-Id: I5a9632b2d2209e0784392047056bed8962005624 Reviewed-by: Martin Smith <martin.smith@nokia.com> Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* QDoc: Fix assert and remove duplicate description.Casper van Donderen2012-04-011-6/+6
| | | | | Change-Id: Idac8488c1a2ba8cabe584244a0ea9a824a31cd65 Reviewed-by: Martin Smith <martin.smith@nokia.com>
* QDoc: Add hand-written ditamaps as children of qt.ditamapCasper van Donderen2012-03-291-30/+83
| | | | | | | | | Known issues: the hand-written ditamap has to be a flat list. The function used should preferably become a recursive function, which would allow you to have as many nested items as you want. Change-Id: I0dc897da5222f6409e2e58c42200c342bc8cacf2 Reviewed-by: Martin Smith <martin.smith@nokia.com>
* QDoc: Remove LOCAL LINK debug output.Casper van Donderen2012-03-291-1/+0
| | | | | Change-Id: Iac8c5df2ca22315f34bbb738314299a23c646b2a Reviewed-by: Martin Smith <martin.smith@nokia.com>
* QDoc: Do not generate the sub-lists in automatic ditamap.Casper van Donderen2012-03-291-92/+0
| | | | | Change-Id: I6f91495dabf5e4aa2d0d7c1fbc690bd1fd53bd17 Reviewed-by: Martin Smith <martin.smith@nokia.com>
* qdoc: Add simple return types such as void to output.Casper van Donderen2012-03-281-0/+5
| | | | | Change-Id: I2c9b2bc982f9fa3390a7b5bd322df9e015e53824 Reviewed-by: Martin Smith <martin.smith@nokia.com>
* qdoc: Use otherprops attribute for DITA signals/slots.Casper van Donderen2012-03-281-4/+4
| | | | | Change-Id: Id85860abfb8abdf0b7bd95a65384576d8970096b Reviewed-by: Martin Smith <martin.smith@nokia.com>
* qdoc: also allow \page index as head of ditamap.Casper van Donderen2012-03-281-1/+1
| | | | | | | | QDoc previously only supported having \page index.html as root of the ditamap, this is hard to understand. Change-Id: I9f99bf53440aad372bb72b59e7bfa1a0427cb652 Reviewed-by: Martin Smith <martin.smith@nokia.com>
* qdoc: Rename QML classes to QML types in ditamap.Casper van Donderen2012-03-281-1/+1
| | | | | Change-Id: I7b1a10d0d25a0a79fb018ab9138f2ef32470475d Reviewed-by: Martin Smith <martin.smith@nokia.com>
* qdoc: Do not write index.dita multiple times in ditamap.Casper van Donderen2012-03-281-0/+9
| | | | | Change-Id: I69719237d0ab567ce2a606c96b38f6baa2a601b5 Reviewed-by: Martin Smith <martin.smith@nokia.com>
* qdoc: Implement \uicontrol command.Casper van Donderen2012-03-281-0/+3
| | | | | Change-Id: I10381cd69d32352c590ec5a7d4041465af57b88b Reviewed-by: Martin Smith <martin.smith@nokia.com>
* qdoc: Remove short description from apiDescMartin Smith2012-03-201-0/+12
| | | | | | | The XSLT already adds this from the <shortdesc>. Change-Id: I5813bf668f9b198e6b76bc0af8f26c7a910890fb Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* qdoc: Remove the spectitle attributeMartin Smith2012-03-201-3/+3
| | | | | | | | qdoc no longer writes the title as the value of the spectitle attribute in the <apiDesc> element. Change-Id: I3f89142fa764c9ac2f3f3bcf9d9162bcf3528df2 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* qdoc: Enable XSLTs to produce correct #include info.Martin Smith2012-03-201-40/+42
| | | | | | | | | qdoc no longer writes the expected "include" statment in a codeblock in the detailed description. It writes it as an <othermeta> element in the <prolog> instead. Change-Id: I303477dbba7f2383fb374a398c890760a15744de Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* qdoc: Merge PageGenerator into Generator class.Casper van Donderen2012-03-201-31/+11
| | | | | | | | | | | This change also sorts all functions in Generator by alphabet and moves the implementation of the GenerateQmlInheritedBy function to the Generator class, since the implementation in both the DITA and HTML generators was the same. Task-number: QTBUG-24833 Change-Id: I44588079159e03b7ff7549e5478babb1aabdaf1b Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* qdoc: Structure the DITA map with a root node.Martin Smith2012-03-171-2/+8
| | | | | | | | | | Use the title from the index.html page for the navtitle, if there is a title on the index.html page. Otherwise use the project as the navtitle. Task-number: Mzilla bug - 7229 Change-Id: I25fc1f09b0bdff58c6340cec7d9d8a43d95845a2 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* qdoc: Structure the DITA map with a root node.Martin Smith2012-03-151-84/+34
| | | | | | | | | | | The root topicref is now always index.dita, unless there is no index.dita. But there is always a root topicref that has the project name as its navtitle, even if there is no index.dita file to map it to. Task-number: Mzilla bug - 7229 Change-Id: I0c9fdf1a2e3ba847fe8975a0745667189a77a755 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* qdoc3: Change suffix of DITA files to .ditaMartin Smith2012-03-151-7/+8
| | | | | | | | | | The files output by the DITA XML generator now have .dita on the end instead of .xml, but the ditamap files still use .ditamap . Task-number: Mzilla bug - 7291 Change-Id: Idb8b70c5d3f2ac2c4fdf195e385393f7ac68b7ba Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* qdoc3: qdoc now handles overloaded methods for QMLMartin Smith2012-03-131-5/+21
| | | | | | | | | | | | When a C++ class is documented as a QML type, it can have overloaded QML methods. These are now handled correctly by qdoc. The method list for QML types is now output with the full method signature. For signals and handlers too. Task-number: QTBUG-24670 Change-Id: If529d4136f5b480373b6ac25d2dceef15e6ea3db Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Move qdoc into qtbase and bootstrap itLars Knoll2012-03-081-0/+6434
We need qdoc in qtbase to be able to properly modularize our documentation and build it when building the different Qt modules. qdoc does contain a copy of the qml parser from qmldevtools, but this is the lesser evil compared to how we are currently forced to genereate our docs (and the fact that no developer can run qdoc and check the docs for their module). Change-Id: I9f748459382a11cf5d5153d1ee611d7a5d3f4ac1 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com> Reviewed-by: Martin Smith <martin.smith@nokia.com>