From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.9 required=5.0 tests=BAYES_00,FORGED_GMAIL_RCVD, FREEMAIL_FROM autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII Path: g2news1.google.com!postnews.google.com!e7g2000yqf.googlegroups.com!not-for-mail From: Vadim Godunko Newsgroups: comp.lang.ada Subject: Re: Ada and Doxygen Date: Fri, 26 Feb 2010 12:04:19 -0800 (PST) Organization: http://groups.google.com Message-ID: <68cf6a9d-240b-4970-98f0-fee32795f00d@e7g2000yqf.googlegroups.com> References: <4b84fb09$0$6579$9b4e6d93@newsspool3.arcor-online.net> <45d5f4b8-8e8e-43ef-94df-0558262cd978@g11g2000yqe.googlegroups.com> NNTP-Posting-Host: 87.117.14.103 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: posting.google.com 1267214659 16597 127.0.0.1 (26 Feb 2010 20:04:19 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Fri, 26 Feb 2010 20:04:19 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: e7g2000yqf.googlegroups.com; posting-host=87.117.14.103; posting-account=niG3UgoAAAD7iQ3takWjEn_gw6D9X3ww User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.8) Gecko/20100204 SUSE/3.5.8-0.1.1 Firefox/3.5.8,gzip(gfe),gzip(gfe) Xref: g2news1.google.com comp.lang.ada:9335 Date: 2010-02-26T12:04:19-08:00 List-Id: On Feb 26, 10:02=A0pm, Hibou57 (Yannick Duch=EAne) wrote: > Le Fri, 26 Feb 2010 19:43:03 +0100, Vadim Godunko a = =A0 > =E9crit:> I found Qt's documentation excellent. It is generated by the to= ol, see > > tools/qdoc3 in source code package. > > Is there a way to see that without installing Qt libraries ? I had a quic= k =A0 > look to read it on the web but found nothing. > Do you know a link ? > http://doc.qt.nokia.com/ But I can recommend to you to install Qt (or better install complete Qt SDK to see Qt Creator also) and run Qt Assistant to read/navigate/ search around Qt's documentation, otherwise your imagination will be incomplete. > Side note : do you know the Ada rationale about it is that Ada have =A0 > package scope instead of class scope ? ;) > I don't. In my opinion absence of "class scope" is important language design mistake. :-( > > existing "good practice". For example, all parts of documentation is > > in the .cpp files in Qt, which makes .h files clean; > > I guess I will not be able to understand before I ever have a chance to = =A0 > read this docs. However, just right now, I'm a bit surprised to read =A0 > something about mixing .cpp, which is implementation part, with .h, which= =A0 > is specification part, from a user point of view. Or may be you're one of= =A0 > the Qt implementors ? > I am not Qt implementor, but I have some experience in use of it - just because I was architect of QtAda binding and we was use it for large project successfully. > > opposite is > > GNAT's style where all comments are around of entities in > > specifications, which makes it simple to process but also makes > > impossible to see all amount of package's entities on one page :-( The > > sadly news is ARG seems to approve GNAT's style for future versions of > > RM :-( > > Are you talking about merging all definitions provided in multiple packag= e =A0 > on a single page ? I'm not sure I've understood. Is that it ? > No. We are known current GNAT's style for comments. Each package has a description at the specification and each entity also has a description below its declaration in the specification. GPS shows such a comment in tooltips. Qt's uses another way. There are no comments in headers at all. This makes header files clean - it is very important for overview of the class. All comments are placed in the implementation files. Special tool parse both headers and implementation files, construct list of classes, its methods/signals/slots/etc; then parse implementation files and extracts description for each entity; links classes/methods/ slots/signals with their descriptions and construct complete documentation in HTML form, which can be hosted somewhere or read by browser. After that, another tool pack this documentation and all related resources into the one "database" which can be registered in the Qt Assistant to extend useful of it (Qt Assistant allows to do full text search for example). And even it is not a last step, when you use Qt Creator (IDE for Qt) and stay somewhere in the code, you can click key and Qt Creator opens description of class/method you stay on in the Qt Assistant documentation. It is very fast and useful!