Commit Graph

84 Commits (1d91d155f28fb178eb4e5a2a33b45bc68be718a4)

Author SHA1 Message Date
Sergio Ahumada 48e0c4df23 Update copyright year in Digia's license headers
Change-Id: Ic804938fc352291d011800d21e549c10acac66fb
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-01-18 09:07:35 +01:00
Martin Smith 3e33d29a86 qdoc: Listing group members across modules
This is a first attempt at fixing the problem, but
it probably is not the entire solution. The problem
requires adding attributes to the index files and
then reusing them when the index files are read.
The same problem will be affecting the module
lists themselves, but that is not fixed in this
update.

Task-number: QTBUG-28036
Change-Id: I8593d5b9446e51a5204b6c71f8c4f2b63f445972
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-27 15:54:45 +01:00
Martin Smith d9d8845d50 qdoc: Fixed the since list for modularized Qt
This required adding a "since" attribute to the index file.

Task number: QTBUG-27695

Change-Id: I97ca96b837ce404ea85ca8086718be4e7a9e21a8
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-02 12:41:43 +01:00
Martin Smith 5e6e6dd116 qdoc: Change qdoc to use QML terminology
\since command's output to "This QML type was introduced..."

Task number: QTBUG-24784

Change-Id: I741efb57979eb76f4675915ef1a6b983deb492d9
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-10-08 09:12:00 +02:00
Mitch Curtis 6b6fefad48 Remove duplicate words and punctuation from documentation.
Change-Id: I5550c62d412510bc2c5acceb2cae7d2f2ef6a8d3
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-09-26 04:03:20 +02:00
Marc Mutz 06c89ae026 Use QStringList::join(QChar) overload where applicable [tools]
This is an automated change performing the following replacements:
                    join\("(.)"\) -> join('\1')
  join\(QLatin1String\("(.)"\)\)  -> join(QLatin1Char('\1'))
  join\(QStringLiteral\("(.)"\)\) -> join(QLatin1Char('\1'))

Change-Id: Ia087beb886bbaec1a0976cd924440d8904044879
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2012-09-23 23:30:33 +02:00
Iikka Eklund be15856f61 Change copyrights from Nokia to Digia
Change copyrights and license headers from Nokia to Digia

Change-Id: If1cc974286d29fd01ec6c19dd4719a67f4c3f00e
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
2012-09-22 19:20:11 +02:00
Oswald Buddenhagen 2794b99bc6 make src/tools/ compile without CamelCase headers
so the build works with syncqt -minimal

Change-Id: Ief5e8eb9a504dd6c84cff76cc3e5257450386a0f
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-09-19 19:54:44 +02:00
Martin Smith 14f7eb86ca qdoc: Refactoring of qdoc data structures
This commit is the beginning of a significant
overhaul of qdoc. A new class, QDocDatabase, is
added, which will eventually encapsulate all the
data structures used by qdoc. In this commit, the
Tree class is made private and only accessible
from QDocDatabase. Several maps structures are
also moved into QDocDatabase from other classes.

Much dead code and unused parameters were removed.
Further simplification will follow.

Change-Id: I237411c50f3ced0d2fc8d3b0fbfdf4e55880f8e9
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@nokia.com>
2012-09-14 15:23:15 +02:00
Martin Smith 5f4d793d81 doc: Replaced FakeNode with DocNode
The name FakeNode was a bad choice. It was used
to represent something that wasn't derived from
a C++ declaration in a .h file. Any generic page
or QML item or any special kind of qdoc construct
was stored in a FakeNode. The name was unfortunate
because the constructs stored in FakeNodes were
just as real as C++ constructs.

So FakeNode has been renamed to DocNode, which
just refers to a documentation node. The node
type Fake has been replaced with node type
Document.

Change-Id: Ida9de8288b7b8915bf9273fd890ca84aaf05e182
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-08-21 16:15:21 +02:00
Martin Smith d61c356516 qdoc: Removed useless qdoc warnings
qdoc was printing warning messages when a QML type
was not given a minor version number in its
\inqmlmodule command. The minor version number is
not used for anything, so the warning messages are
no longer printed.

Change-Id: I5586b4d860fcc8e392de3d388c3327ed0029e266
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-08-01 15:37:46 +02:00
Martin Smith 3658eedc97 qdoc: Changed \qmlclass to \qmltype, added \instantiates
The \qmlclass qdoc command is now deprecated. Use \qmltype instead.
\qmlclass had two arguments, the QML type name and, if the QML type
was elemental, the name of the C++ class that the QML element
instantiates. The \qmltype command has only one argument, the QML type
name.

If the QML type is elemental, then the \qmltype command should be
followed by a \instantiates context command in the same qdoc
comment. e.g.:

\qmltype Item
\instantiates QDeclarativeItem

When the developer does not include the \instantiates command for an
elemental QML type, qdoc will no longer be able to detect that the C++
class name is missing, and qdoc will no longer be able to detect when
the name specified for a \qmlproperty of the elemental QML type has
the wrong name.

Task nr: QTBUG-26648

Change-Id: Ia60872a35113a6f615bfc751ce1e9db6279dfb8e
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-07-26 14:24:40 +02:00
Martin Smith a4cd6ef25d qdoc: Fixed incorrect href attribute values in qdoc
There were two fileBase() functions, but only one
was correct. The wrong one was being called in some
cases. Now there is only one fileBase() function,
which is always called.

Task nr: QTBUG-26591

Change-Id: I2c40e2152a8c7ad1bb9db256ecf1367148f0e7f6
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-07-25 01:00:41 +02:00
Sergio Ahumada 59339941e0 Fix some spelling errors
Change-Id: I19d3b2e9a5180b13deb828b55195404ef20be295
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2012-07-11 14:52:37 +02:00
Martin Smith 2f0dbd0439 qdoc: Removed several #if 0 blocks.
Removed a lot of dead code.

Change-Id: I237521efab7dd046d3a47ab92a6a0e083c59ab55
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-07-06 03:54:26 +02:00
Martin Smith 14b0722166 qdoc: Better error messages for QML command errors
Some error messages were not clear for these qdoc commands: \qmlclass,
\qmlmodule, \inqmlmodule, and \qmlproperty. They have been made clearer
now.

Also, qdoc now parses input files in the same order all the time now.
The order is alphabetic now. This might not be the optimal order.

Change-Id: Id53a5ec8105009c71f4bbd41973a54aed7821099
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-06-12 04:29:31 +02:00
Thiago Macieira 395f7579c0 Make qdoc compile with QT_STRICT_ITERATORS
Change-Id: I2923315678d1aef516b35a8c83fe734367723a28
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-05-29 11:35:21 +02:00
Martin Smith f3a0422acb qdoc: Report multiple QML property docss
Documentation authors sometimes make the mistake of
documenting a QML property more than once. Here, we
refer to cases where a C++ class is documented in a
.cpp file as a QML type. In this context one QML
property might be documented in two qdoc comments,
because the author of the second comment does not
search the file for an existing qdoc comment for
the property before adding the second one. When DITA
XML is generated for this case, the QML type element
will contain two <qmlproperty> elements with identical
id attributes, which is invalid XML. id attributes
must be unique within an XML document.

qdoc now reports an error for this case, indicating
that the QMLN property has been documented multiple
times.

This problem can't occur when documenting QML in a
.qml file because in .qml files, each comment must
appear directly above the thing it applies to.

Change-Id: I3a22650a58371fbda2ac7a5429fc036f41750423
Reviewed-by: Martin Smith <martin.smith@nokia.com>
2012-05-18 15:22:39 +02:00
Martin Smith 6eae3e1da3 qdoc: Include QML type name in method quid
A case was found where a method inherited from a
QML type marked abstract had the same name as a
method in the inheriting class, and these two
methods received the same quid. This was fixed
by including the QML type name in the guid for
QML methods.

Change-Id: I110eb254b3c6be014cb67fdc5b57b5aa2f575220
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-05-16 19:37:44 +02:00
Friedemann Kleint 078ba2d0a2 qdoc: Fix some QString usage issues (Krazy warnings).
- Avoid single-character constants.
- Use QString() instead of "".

Change-Id: If04eff389e7b6d4a18201365b711708fdf545d00
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-05-16 12:30:32 +02:00
Martin Smith 0909c01b2f qdoc: Fixed a regression bug caused by fixing error messages
The C++ code marker is the default code marker. The default
code marker was being called for .qdoc files. But when the
tree nodes were each assigned a location object based on
the location in the source file where the node was built,
the default code marker was no longer used. Instead, the
plain code marker was used. This was wrong. qdoc now knows
to use the C++ code marker for all .qdoc files.

Change-Id: I15a58168db74cc5aa82a1fbccc5b7ece219ec297
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-05-11 15:11:20 +02:00
Martin Smith 81c68fe029 qdoc: Fixed three qdoc error problems
1. For QML properties documented in a .qml file,
qdoc no longer prints the error message that it
can't detect whether the property is read-only.

2. For QML properties documented in .cpp files,
qdoc now includes the file path and line number,
when it prints the error that it can't detect
whether the property is read-only.

3. qdoc also includes the completely qualified
property name in the error messages described
in 2.

Change-Id: If88381783fd0f29271f579ae170a0a6f4b1a7344
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-05-09 20:10:44 +02:00
Martin Smith 025d544caa qdoc: Fixed qdoc error messages
qdoc prints many error messages without including the
source file path and the line number for where the error
occurs. This makes it difficult to find the place to
fix the error. This update corrects some of those error
messages. Further updates will fix the others.

Change-Id: I9c0eed96482c61643a2d83c5135368413e63ae52
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-05-09 02:28:44 +02:00
Martin Smith 62467e2dd8 qdoc: Fixed minor version number in DITA XML
The DITA XML didn't contain the correct
QML Module version mumber in the imports
statement.

Change-Id: I22b75facc1396c5adea88be49c86fff11f19f27b
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-05-04 17:57:46 +02:00
Casper van Donderen 9a140d6521 QDoc: Generate unique ids for qmlMethods.
Also delete unused function.

Change-Id: I8c3590d17c823bc27dcb9d9e73b7b812e078d33b
Reviewed-by: Martin Smith <martin.smith@nokia.com>
2012-05-04 17:57:46 +02:00
Casper van Donderen c0f0a7825e QDoc: Remove all occurences of 'qdoc3' in source.
Change-Id: I7d4e3238a9233d6aab32cc7a3c5a883e718113d5
Reviewed-by: Martin Smith <martin.smith@nokia.com>
2012-05-02 14:53:41 +02:00
Martin Smith 82fa92b23c qdoc: Further changes to the QML specialization
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>
2012-04-28 13:53:37 +02:00
Martin Smith aabd54b8bb qdoc: Fixed bugs causing invalid DITA XML
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>
2012-04-14 19:46:00 +02:00
Martin Smith b1addf36c1 qdoc: Fixed to report read-only QML properties correctly
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>
2012-04-11 16:08:09 +02:00
Martin Smith 9b0c0823c0 qdoc: Allow documenting a C++ class as a QML type.
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>
2012-04-02 12:30:04 +02:00
Casper van Donderen d06de7f919 qdoc: Rename qt3 support pages to Compatibility pages.
Task-number: QTBUG-24849

Change-Id: I9453e38372f909d75bb4fb8642dc9bd7b993aa7e
Reviewed-by: Martin Smith <martin.smith@nokia.com>
2012-03-20 14:11:06 +01:00
Martin Smith 33ea784aa8 qdoc3: Change suffix of DITA files to .dita
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>
2012-03-15 00:50:47 +01:00
Martin Smith 0d43b8c617 qdoc3: qdoc now handles overloaded methods for QML
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>
2012-03-13 18:04:12 +01:00
Lars Knoll 448a3cfe17 Move qdoc into qtbase and bootstrap it
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>
2012-03-08 05:31:40 +01:00