From 8e261e0b3c257779c967ce1c0ea9d0c4d2ecabe8 Mon Sep 17 00:00:00 2001 From: con <qtc-committer@nokia.com> Date: Mon, 5 Jan 2009 18:04:24 +0100 Subject: [PATCH] Fixes: - Start on API documentation generation --- doc/api/classic.css | 102 ++++++++++++ doc/api/qtcreator-api.qdoc | 65 ++++++++ .../qtcreator-api.qdocconf} | 154 ++++++++++++++---- doc/workbench.qdoc | 98 ----------- src/libs/extensionsystem/iplugin.cpp | 2 +- src/libs/extensionsystem/pluginmanager.cpp | 11 +- src/libs/extensionsystem/pluginspec.cpp | 2 +- 7 files changed, 297 insertions(+), 137 deletions(-) create mode 100644 doc/api/classic.css create mode 100644 doc/api/qtcreator-api.qdoc rename doc/{workbench.qtdocconf => api/qtcreator-api.qdocconf} (56%) delete mode 100644 doc/workbench.qdoc diff --git a/doc/api/classic.css b/doc/api/classic.css new file mode 100644 index 00000000000..400ee71168c --- /dev/null +++ b/doc/api/classic.css @@ -0,0 +1,102 @@ +h3.fn,span.fn +{ + margin-left: 1cm; + text-indent: -1cm; +} + +a:link +{ + color: #004faf; + text-decoration: none +} + +a:visited +{ + color: #672967; + text-decoration: none +} + +td.postheader +{ + font-family: sans-serif +} + +tr.address +{ + font-family: sans-serif +} + +body +{ + background: #ffffff; + color: black +} + +table tr.odd { + background: #f0f0f0; + color: black; +} + +table tr.even { + background: #e4e4e4; + color: black; +} + +table.annotated th { + padding: 3px; + text-align: left +} + +table.annotated td { + padding: 3px; +} + +table tr pre +{ + padding-top: none; + padding-bottom: none; + padding-left: none; + padding-right: none; + border: none; + background: none +} + +tr.qt-style +{ + background: #a2c511; + color: black +} + +body pre +{ + padding: 0.2em; + border: #e7e7e7 1px solid; + background: #f1f1f1; + color: black +} + +span.preprocessor, span.preprocessor a +{ + color: darkblue; +} + +span.comment +{ + color: darkred; + font-style: italic +} + +span.string,span.char +{ + color: darkgreen; +} + +.subtitle +{ + font-size: 0.8em +} + +.small-subtitle +{ + font-size: 0.65em +} diff --git a/doc/api/qtcreator-api.qdoc b/doc/api/qtcreator-api.qdoc new file mode 100644 index 00000000000..2c939b21bb4 --- /dev/null +++ b/doc/api/qtcreator-api.qdoc @@ -0,0 +1,65 @@ +/*! + \page index.html + \title Qt Creator + + Qt Creator is Qt Software's crossplatform IDE. The core of Qt Creator is + basically only a \l{Plugin Loader Framework}{plugin loader}. + + \section1 Plugins + + As already mentioned, Qt Creator is basically only a plugin loader framework + which gets its IDE functionality through plugins. The most important plugin + is the Core plugin which provides all the basic functionality needed + later to integrate e.g. editors or mode windows. + + \table + \header + \o Plugin Name + \o Description + + \row + \o \l{Core Plugin} {Core} + \o The core plugin. Provides the main window and managers for editors, + actions, mode windows and files, just to mention the most important ones. + + \endtable + +*/ + +/*! + \page classes.html + \title Qt Creator Classes and Namespaces + + \section1 Classes + + \generatelist classes + + \section1 Namespaces + + \generatelist{namespaces} +*/ + +/*! + \page interfaces.html + \title Interfaces + \generatelist mainclasses + +*/ + +/*! + \page functions.html + \title Member Function Index + \generatelist functionindex +*/ + +/*! + \group pluginloader + + \title Plugin Loader Framework +*/ + +/*! + \group qtc + + \title Core Plugin +*/ diff --git a/doc/workbench.qtdocconf b/doc/api/qtcreator-api.qdocconf similarity index 56% rename from doc/workbench.qtdocconf rename to doc/api/qtcreator-api.qdocconf index 7a82c2aac6f..336aa27edcf 100644 --- a/doc/workbench.qtdocconf +++ b/doc/api/qtcreator-api.qdocconf @@ -1,17 +1,17 @@ -project = Workbench -description = Workbench SDK Documentation +project = Qt Creator API +description = Qt Creator API Documentation language = Cpp headerdirs = . \ - ../src/libs/extensionsystem \ - ../src/plugins/core \ - ../src/plugins/core/actionmanager + ../../src/libs/extensionsystem \ + ../../src/plugins/core \ + ../../src/plugins/core/actionmanager sourcedirs = . \ - ../src/libs/extensionsystem \ - ../src/plugins/core \ - ../src/plugins/core/actionmanager + ../../src/libs/extensionsystem \ + ../../src/plugins/core \ + ../../src/plugins/core/actionmanager headers.fileextesnions = "*.h" sources.fileextensions = "*.cpp *.qdoc" @@ -20,35 +20,72 @@ imagedirs = . indexes = $QTDIR/doc/html/qt.index -outputdir = ./html -base = file:./html -versionsym = 1.0.0 -defines = Q_QDOC \ - QT_.*_SUPPORT \ - QT_.*_LIB \ - QT_COMPAT \ - QT_KEYPAD_NAVIGATION \ - QT3_SUPPORT \ - Q_WS_.* \ - Q_OS_.* \ - Q_BYTE_ORDER \ - __cplusplus - +outputdir = ./html-api +base = file:./html-api +versionsym = 0.9.2 codeindent = 1 -extraimages.HTML = qt-logo \ - trolltech-logo +## compat.qdocconf +alias.i = e +alias.include = input + +macro.0 = "\\\\0" +macro.b = "\\\\b" +macro.n = "\\\\n" +macro.r = "\\\\r" +macro.i = "\\o" +macro.i11 = "\\o{1,1}" +macro.i12 = "\\o{1,2}" +macro.i13 = "\\o{1,3}" +macro.i14 = "\\o{1,4}" +macro.i15 = "\\o{1,5}" +macro.i16 = "\\o{1,6}" +macro.i17 = "\\o{1,7}" +macro.i18 = "\\o{1,8}" +macro.i19 = "\\o{1,9}" +macro.i21 = "\\o{2,1}" +macro.i31 = "\\o{3,1}" +macro.i41 = "\\o{4,1}" +macro.i51 = "\\o{5,1}" +macro.i61 = "\\o{6,1}" +macro.i71 = "\\o{7,1}" +macro.i81 = "\\o{8,1}" +macro.i91 = "\\o{9,1}" +macro.img = "\\image" +macro.endquote = "\\endquotation" +macro.relatesto = "\\relates" + +spurious = "Missing comma in .*" \ + "Missing pattern .*" + +## macros.qdocconf +macro.aring.HTML = "å" +macro.Auml.HTML = "Ä" +macro.author = "\\bold{Author:}" macro.br.HTML = "<br />" -macro.QD = "\\e{Qt Designer}" -macro.QA = "\\e{Qt Assistant}" +macro.BR.HTML = "<br />" +macro.aacute.HTML = "á" macro.eacute.HTML = "é" -macro.aring.HTML = "å" +macro.iacute.HTML = "í" +macro.gui = "\\bold" +macro.hr.HTML = "<hr />" +macro.key = "\\bold" +macro.menu = "\\bold" +macro.note = "\\bold{Note:}" macro.oslash.HTML = "ø" macro.ouml.HTML = "ö" -macro.Auml.HTML = "Ä" -macro.uuml.HTML = "ü" +macro.QA = "\\e{Qt Assistant}" +macro.QD = "\\e{Qt Designer}" +macro.QL = "\\e{Qt Linguist}" +macro.param = "\\e" +macro.raisedaster.HTML = "<sup>*</sup>" +macro.reg.HTML = "<sup>®</sup>" +macro.return = "Returns" macro.starslash = "\\c{*/}" +macro.uuml.HTML = "ü" +macro.mdash.HTML = "—" +## qt-cpp-ignore.qdocconf Cpp.ignoretokens = QAXFACTORY_EXPORT \ QDESIGNER_COMPONENTS_LIBRARY \ QDESIGNER_EXTENSION_LIBRARY \ @@ -68,9 +105,11 @@ Cpp.ignoretokens = QAXFACTORY_EXPORT \ QM_EXPORT_WORKSPACE \ QM_EXPORT_XML \ QT_ASCII_CAST_WARN \ + QT_ASCII_CAST_WARN_CONSTRUCTOR \ QT_BEGIN_HEADER \ QT_DESIGNER_STATIC \ QT_END_HEADER \ + QT_FASTCALL \ QT_WIDGET_PLUGIN_EXPORT \ Q_COMPAT_EXPORT \ Q_CORE_EXPORT \ @@ -81,6 +120,7 @@ Cpp.ignoretokens = QAXFACTORY_EXPORT \ Q_EXPORT_CODECS_KR \ Q_EXPORT_PLUGIN \ Q_GFX_INLINE \ + Q_AUTOTEST_EXPORT \ Q_GUI_EXPORT \ Q_GUI_EXPORT_INLINE \ Q_GUI_EXPORT_STYLE_CDE \ @@ -93,17 +133,27 @@ Cpp.ignoretokens = QAXFACTORY_EXPORT \ Q_GUI_EXPORT_STYLE_SGI \ Q_GUI_EXPORT_STYLE_WINDOWS \ Q_GUI_EXPORT_STYLE_WINDOWSXP \ + QHELP_EXPORT \ Q_INLINE_TEMPLATE \ + Q_INTERNAL_WIN_NO_THROW \ Q_NETWORK_EXPORT \ Q_OPENGL_EXPORT \ Q_OUTOFLINE_TEMPLATE \ Q_SQL_EXPORT \ Q_SVG_EXPORT \ Q_SCRIPT_EXPORT \ + Q_SCRIPTTOOLS_EXPORT \ Q_TESTLIB_EXPORT \ Q_TYPENAME \ Q_XML_EXPORT \ - QDBUS_EXPORT + Q_XMLSTREAM_EXPORT \ + Q_XMLPATTERNS_EXPORT \ + QDBUS_EXPORT \ + QT_BEGIN_NAMESPACE \ + QT_BEGIN_INCLUDE_NAMESPACE \ + QT_END_NAMESPACE \ + QT_END_INCLUDE_NAMESPACE \ + PHONON_EXPORT Cpp.ignoredirectives = Q_DECLARE_HANDLE \ Q_DECLARE_INTERFACE \ Q_DECLARE_METATYPE \ @@ -114,34 +164,66 @@ Cpp.ignoredirectives = Q_DECLARE_HANDLE \ Q_DECLARE_TR_FUNCTIONS \ Q_DECLARE_TYPEINFO \ Q_DISABLE_COPY \ + QT_FORWARD_DECLARE_CLASS \ Q_DUMMY_COMPARISON_OPERATOR \ Q_ENUMS \ Q_FLAGS \ Q_INTERFACES \ - __attribute__ + __attribute__ \ + K_DECLARE_PRIVATE \ + PHONON_OBJECT \ + PHONON_HEIR +## qt-html-templates.qdocconf HTML.stylesheets = classic.css HTML.postheader = "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n" \ "<tr>\n" \ "<td align=\"left\" valign=\"top\" width=\"32\">" \ - "<a href=\"http://www.trolltech.com/products/qt\"><img src=\"images/qt-logo.png\" align=\"left\" width=\"32\" height=\"32\" border=\"0\" /></a>" \ + "<a href=\"http://www.trolltech.com/products/qt\"><img src=\"images/qt-logo.png\" align=\"left\" border=\"0\" /></a>" \ "</td>\n" \ "<td width=\"1\"> </td>" \ "<td class=\"postheader\" valign=\"center\">" \ "<a href=\"index.html\">" \ "<font color=\"#004faf\">Home</font></a> ·" \ + " <a href=\"namespaces.html\">" \ + "<font color=\"#004faf\">All Namespaces</font></a> ·" \ " <a href=\"classes.html\">" \ "<font color=\"#004faf\">All Classes</font></a> ·" \ - " <a href=\"interfaces.html\">" \ - "<font color=\"#004faf\">All Interfaces</font></a> ·" \ + " <a href=\"mainclasses.html\">" \ + "<font color=\"#004faf\">Main Classes</font></a> ·" \ + " <a href=\"groups.html\">" \ + "<font color=\"#004faf\">Grouped Classes</font></a> ·" \ + " <a href=\"modules.html\">" \ + "<font color=\"#004faf\">Modules</font></a> ·" \ " <a href=\"functions.html\">" \ "<font color=\"#004faf\">Functions</font></a>" \ "</td>\n" \ - "<td align=\"right\" valign=\"top\" width=\"230\"><a href=\"http://www.trolltech.com\"><img src=\"images/trolltech-logo.png\" align=\"right\" width=\"203\" height=\"32\" border=\"0\" /></a></td></tr></table>" + "<td align=\"right\" valign=\"top\" width=\"230\"></td></tr></table>" HTML.footer = "<p /><address><hr /><div align=\"center\">\n" \ "<table width=\"100%\" cellspacing=\"0\" border=\"0\"><tr class=\"address\">\n" \ - "<td width=\"30%\">Copyright © \$THISYEAR\$ <a href=\"trolltech.html\">Trolltech</a></td>\n" \ + "<td width=\"30%\" align=\"left\">Copyright © %THISYEAR% Nokia Corporation " \ + "and/or its subsidiary(-ies)</td>\n" \ "<td width=\"40%\" align=\"center\"><a href=\"trademarks.html\">Trademarks</a></td>\n" \ "<td width=\"30%\" align=\"right\"><div align=\"right\">Qt \\version</div></td>\n" \ "</tr></table></div></address>" + +## qt-defines.qdocconf +defines = Q_QDOC \ + QT_.*_SUPPORT \ + QT_.*_LIB \ + QT_COMPAT \ + QT_KEYPAD_NAVIGATION \ + QT3_SUPPORT \ + Q_WS_.* \ + Q_OS_.* \ + Q_BYTE_ORDER \ + QT_DEPRECATED \ + Q_NO_USING_KEYWORD \ + __cplusplus + +# Files not referenced in any qdoc file (last four needed by qtdemo) +# See also qhp.Qt.extraFiles +extraimages.HTML = qt-logo \ + trolltech-logo + diff --git a/doc/workbench.qdoc b/doc/workbench.qdoc deleted file mode 100644 index 033b1ae7d4b..00000000000 --- a/doc/workbench.qdoc +++ /dev/null @@ -1,98 +0,0 @@ -/*! - \page index.html - \title Workbench - - Workbench is Trolltech's crossplatform IDE. The core of Workbench is - basically only a \l{Plugin Loader Framework}{plugin loader} comparable to - Eclipse. All major functionality is then added via plugins. The plugins - necessary for a full IDE will be provided by Trolltech, possible addons or - replacements of existing plugins can be provided by anyone. This means that - there will be a place where plugins can be shared. - - The main features of Workbench are: - - \list - \o Fast since it's written in C++ - \o Easy and fast to use (the entire IDE can be controlled via short cuts) - \o Highly extensible - \o Integrated C++ language support, i.e. code completion, class browser, ... - \o Integrated debugger framework and outstanding support for gdb - \o Integrated Qt Designer - \o Qtopia Integration - \endlist - - \section1 Plugins - - As already mentioned, Workbench is basically only a plugin loader framework - which gets its IDE functionality through plugins. The most important plugin - is the QWorkbench plugin which provides all the basic functionality needed - later to integrate e.g. editors or tool windows. - - \table - \header - \o Plugin Name - \o Description - - \row - \o \l{QWorkbench Plugin} {QWorkbench} - \o The core plugin. Provides the main window and managers for editors, - actions, tool windows and files, just to mention the most important ones. - - \endtable - -*/ - -/*! - \page classes.html - \title Workbench Classes and Namespaces - - \section1 Classes - - \generatelist classes - - \section1 Namespaces - - \generatelist{namespaces} -*/ - -/*! - \page interfaces.html - \title Interfaces - \generatelist mainclasses - -*/ - -/*! - \page functions.html - \title Member Function Index - \generatelist functionindex -*/ - -/*! - \group pluginloader - - \title Plugin Loader Framework -*/ - -/*! - \group qwb - - \title QWorkbench Plugin -*/ - -/*! - \namespace Trolltech -*/ - -/*! - \namespace Trolltech::QWorkbench -*/ - -/*! - \namespace Trolltech::QWorkbench::Internal - \brief Classes that manage and control internal features of the workbench environment. -*/ - -/*! - \namespace ExtensionSystem -*/ diff --git a/src/libs/extensionsystem/iplugin.cpp b/src/libs/extensionsystem/iplugin.cpp index 1b75839fa89..70d2366ea9a 100644 --- a/src/libs/extensionsystem/iplugin.cpp +++ b/src/libs/extensionsystem/iplugin.cpp @@ -304,7 +304,7 @@ void IPlugin::addObject(QObject *obj) plugin pool. Usually, registered objects must be removed from the object pool and deleted by hand. Objects added to the pool via addAutoReleasedObject are automatically - removed and deleted in \i reverse order of registration when + removed and deleted in reverse order of registration when the IPlugin instance is destroyed. \sa PluginManager::addObject() */ diff --git a/src/libs/extensionsystem/pluginmanager.cpp b/src/libs/extensionsystem/pluginmanager.cpp index 0603cd87cab..7dc9c4e10af 100644 --- a/src/libs/extensionsystem/pluginmanager.cpp +++ b/src/libs/extensionsystem/pluginmanager.cpp @@ -54,7 +54,8 @@ enum { debugLeaks = 0 }; /*! \namespace ExtensionSystem - \brief Classes that belong to the core plugin system. + \brief The ExtensionSystem namespace provides + classes that belong to the core plugin system. The basic extension system contains of the plugin manager and its supporting classes, and the IPlugin interface that must be implemented by plugin providers. @@ -444,11 +445,19 @@ void PluginManager::startTests() #endif } +/*! + * \fn bool PluginManager::runningTests() const + * \internal + */ bool PluginManager::runningTests() const { return !d->testSpecs.isEmpty(); } +/*! + * \fn QString PluginManager::testDataDirectory() const + * \internal + */ QString PluginManager::testDataDirectory() const { QString s = QString::fromLocal8Bit(qgetenv("IDETESTDIR")); diff --git a/src/libs/extensionsystem/pluginspec.cpp b/src/libs/extensionsystem/pluginspec.cpp index 99e83d9fc64..0e5fa53996f 100644 --- a/src/libs/extensionsystem/pluginspec.cpp +++ b/src/libs/extensionsystem/pluginspec.cpp @@ -221,7 +221,7 @@ QList<PluginDependency> PluginSpec::dependencies() const } /*! - \fn PluginOptionDescriptions optionDescriptions() const + \fn PluginSpec::PluginArgumentDescriptions PluginSpec::argumentDescriptions() const Returns a list of descriptions of command line arguments the plugin processes. */ -- GitLab