Commit 629832ce authored by Jarek Kobus's avatar Jarek Kobus
Browse files

Merge branch 'master' of git@scm.dev.nokia.troll.no:creator/mainline

parents 1b77e4e9 0bbed6d7
......@@ -70,11 +70,8 @@ src/xml/lib/
# Binaries
# --------
bin/Aggregation.dll
bin/CodeModel.dll
bin/ExtensionSystem.dll
bin/QtConcurrent.dll
bin/Utils.dll
bin/*.dll
bin/qtcreator
bin/qtcreator.exe
doc/qtcreator.qch
tests/manual/cplusplus/cplusplus0
......@@ -1123,8 +1123,8 @@ static void qDumpQHash(QDumper &d)
while (node != end) {
d.beginHash();
if (simpleKey) {
qDumpInnerValueHelper(d, keyType, addOffset(node, keyOffset), "name");
P(d, "nameisindex", "1");
P(d, "name", "[" << i << "]");
qDumpInnerValueHelper(d, keyType, addOffset(node, keyOffset), "key");
if (simpleValue)
qDumpInnerValueHelper(d, valueType, addOffset(node, valueOffset));
P(d, "type", valueType);
......@@ -1310,6 +1310,42 @@ static void qDumpQLocale(QDumper &d)
d.disarm();
}
static void qDumpQMapNode(QDumper &d)
{
const QMapData *h = reinterpret_cast<const QMapData *>(d.data);
const char *keyType = d.templateParameters[0];
const char *valueType = d.templateParameters[1];
qCheckAccess(h->backward);
qCheckAccess(h->forward[0]);
P(d, "value", "");
P(d, "numchild", 2);
if (d.dumpChildren) {
//unsigned keySize = d.extraInt[0];
//unsigned valueSize = d.extraInt[1];
unsigned mapnodesize = d.extraInt[2];
unsigned valueOff = d.extraInt[3];
unsigned keyOffset = 2 * sizeof(void*) - mapnodesize;
unsigned valueOffset = 2 * sizeof(void*) - mapnodesize + valueOff;
d << ",children=[";
d.beginHash();
P(d, "name", "key");
qDumpInnerValue(d, keyType, addOffset(h, keyOffset));
d.endHash();
d.beginHash();
P(d, "name", "value");
qDumpInnerValue(d, valueType, addOffset(h, valueOffset));
d.endHash();
d << "]";
}
d.disarm();
}
static void qDumpQMap(QDumper &d)
{
QMapData *h = *reinterpret_cast<QMapData *const*>(d.data);
......@@ -1355,26 +1391,32 @@ static void qDumpQMap(QDumper &d)
while (node != end) {
d.beginHash();
P(d, "name", "[" << i << "]");
if (simpleKey) {
P(d, "type", valueType);
qDumpInnerValueHelper(d, keyType, addOffset(node, keyOffset), "name");
P(d, "nameisindex", "1");
qDumpInnerValueHelper(d, keyType, addOffset(node, keyOffset), "key");
if (simpleValue)
qDumpInnerValueHelper(d, valueType, addOffset(node, valueOffset));
P(d, "type", valueType);
P(d, "addr", addOffset(node, valueOffset));
} else {
P(d, "name", "[" << i << "]");
P(d, "type", NS"QMapNode<" << keyType << "," << valueType << " >");
#if QT_VERSION >= 0x040500
// actually, any type (even 'char') will do...
P(d, "exp", "*('"NS"QMapNode<" << keyType << "," << valueType << " >'*)" << node);
P(d, "type", NS"QMapNode<"
<< keyType << "," << valueType << " >");
P(d, "exp", "*('"NS"QMapNode<"
<< keyType << "," << valueType << " >'*)" << node);
//P(d, "exp", "*('"NS"QMapData'*)" << (void*)node);
//P(d, "exp", "*(char*)" << (void*)node);
// P(d, "addr", node); does not work as gdb fails to parse
// e.g. &((*('"NS"QMapNode<QString,Foo>'*)0x616658))
#else
P(d, "type", NS"QMapData::Node<"
<< keyType << "," << valueType << " >");
P(d, "exp", "*('"NS"QMapData::Node<"
<< keyType << "," << valueType << " >'*)" << node);
#endif
}
d.endHash();
......@@ -1387,6 +1429,11 @@ static void qDumpQMap(QDumper &d)
d.disarm();
}
static void qDumpQMultiMap(QDumper &d)
{
qDumpQMap(d);
}
static void qDumpQModelIndex(QDumper &d)
{
const QModelIndex *mi = reinterpret_cast<const QModelIndex *>(d.data);
......@@ -1431,42 +1478,6 @@ static void qDumpQModelIndex(QDumper &d)
d.disarm();
}
static void qDumpQMapNode(QDumper &d)
{
const QMapData *h = reinterpret_cast<const QMapData *>(d.data);
const char *keyType = d.templateParameters[0];
const char *valueType = d.templateParameters[1];
qCheckAccess(h->backward);
qCheckAccess(h->forward[0]);
P(d, "value", "");
P(d, "numchild", 2);
if (d.dumpChildren) {
//unsigned keySize = d.extraInt[0];
//unsigned valueSize = d.extraInt[1];
unsigned mapnodesize = d.extraInt[2];
unsigned valueOff = d.extraInt[3];
unsigned keyOffset = 2 * sizeof(void*) - mapnodesize;
unsigned valueOffset = 2 * sizeof(void*) - mapnodesize + valueOff;
d << ",children=[";
d.beginHash();
P(d, "name", "key");
qDumpInnerValue(d, keyType, addOffset(h, keyOffset));
d.endHash();
d.beginHash();
P(d, "name", "value");
qDumpInnerValue(d, valueType, addOffset(h, valueOffset));
d.endHash();
d << "]";
}
d.disarm();
}
static void qDumpQObject(QDumper &d)
{
const QObject *ob = reinterpret_cast<const QObject *>(d.data);
......@@ -2355,6 +2366,8 @@ static void handleProtocolVersion2and3(QDumper & d)
qDumpQMapNode(d);
else if (isEqual(type, "QModelIndex"))
qDumpQModelIndex(d);
else if (isEqual(type, "QMultiMap"))
qDumpQMap(d);
break;
case 'O':
if (isEqual(type, "QObject"))
......@@ -2457,6 +2470,9 @@ void qDumpObjectData440(
"\""NS"QMap\","
"\""NS"QMapNode\","
"\""NS"QModelIndex\","
#if QT_VERSION >= 0x040500
"\""NS"QMultiMap\","
#endif
"\""NS"QObject\","
"\""NS"QObjectMethodList\"," // hack to get nested properties display
"\""NS"QObjectPropertyList\","
......@@ -2483,6 +2499,10 @@ void qDumpObjectData440(
"\"std::vector\","
"\"std::wstring\","
"]";
d << ",qtversion=["
"\"" << ((QT_VERSION >> 16) & 255) << "\","
"\"" << ((QT_VERSION >> 8) & 255) << "\","
"\"" << ((QT_VERSION) & 255) << "\"]";
d << ",namespace=\""NS"\"";
d.disarm();
}
......
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
}
/*!
\page index.html
\title Qt Creator
Qt Creator is Qt Software's crossplatform IDE. The core of Qt Creator is
basically only a \l{ExtensionSystem}{plugin loader}.
\section1 Core Libraries
There are a few core libraries used by many parts of Qt Creator.
\table
\header
\o Library Name
\o Description
\row
\o \l{Aggregation}{Aggregation}
\o Adds functionality for "glueing" QObjects of different
types together, so you can "cast" between them.
\row
\o \l{ExtensionSystem}{ExtensionSystem}
\o Implements the plugin loader framework. Provides a base class for plugins and
basic mechanisms for plugin interaction like an object pool.
\endtable
\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} {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
\generatelist classes
*/
/*!
\page namespaces.html
\title Qt Creator Namespaces
\generatelist namespaces
*/
/*!
\page mainclasses.html
\title Qt Creator Main Classes
\generatelist mainclasses
*/
/*!
\page functions.html
\title Qt Creator Functions
\generatelist functionindex
*/
/*!
\group qtc
\title Core Plugin
*/
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/aggregation \
../../src/libs/extensionsystem \
../../src/plugins/core \
../../src/plugins/core/actionmanager
sourcedirs = . \
../src/libs/extensionsystem \
../src/plugins/core \
../src/plugins/core/actionmanager
../../src/libs/aggregation \
../../src/libs/extensionsystem \
../../src/plugins/core \
../../src/plugins/core/actionmanager
headers.fileextesnions = "*.h"
sources.fileextensions = "*.cpp *.qdoc"
......@@ -22,33 +24,70 @@ 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
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 = "&aring;"
macro.Auml.HTML = "&Auml;"
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 = "&aacute;"
macro.eacute.HTML = "&eacute;"
macro.aring.HTML = "&aring;"
macro.iacute.HTML = "&iacute;"
macro.gui = "\\bold"
macro.hr.HTML = "<hr />"
macro.key = "\\bold"
macro.menu = "\\bold"
macro.note = "\\bold{Note:}"
macro.oslash.HTML = "&oslash;"
macro.ouml.HTML = "&ouml;"
macro.Auml.HTML = "&Auml;"
macro.uuml.HTML = "&uuml;"
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>&reg;</sup>"
macro.return = "Returns"
macro.starslash = "\\c{*/}"
macro.uuml.HTML = "&uuml;"
macro.mdash.HTML = "&mdash;"
## qt-cpp-ignore.qdocconf
Cpp.ignoretokens = QAXFACTORY_EXPORT \
QDESIGNER_COMPONENTS_LIBRARY \
QDESIGNER_EXTENSION_LIBRARY \
......@@ -68,9 +107,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 +122,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 +135,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 +166,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\">&nbsp;&nbsp;</td>" \
"<td class=\"postheader\" valign=\"center\">" \
"<a href=\"index.html\">" \
"<font color=\"#004faf\">Home</font></a>&nbsp;&middot;" \
" <a href=\"namespaces.html\">" \
"<font color=\"#004faf\">All&nbsp;Namespaces</font></a>&nbsp;&middot;" \
" <a href=\"classes.html\">" \
"<font color=\"#004faf\">All&nbsp;Classes</font></a>&nbsp;&middot;" \
" <a href=\"interfaces.html\">" \
"<font color=\"#004faf\">All&nbsp;Interfaces</font></a>&nbsp;&middot;" \
" <a href=\"mainclasses.html\">" \
"<font color=\"#004faf\">Main&nbsp;Classes</font></a>&nbsp;&middot;" \
" <a href=\"groups.html\">" \
"<font color=\"#004faf\">Grouped&nbsp;Classes</font></a>&nbsp;&middot;" \
" <a href=\"modules.html\">" \
"<font color=\"#004faf\">Modules</font></a>&nbsp;&middot;" \
" <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 &copy; \$THISYEAR\$ <a href=\"trolltech.html\">Trolltech</a></td>\n" \
"<td width=\"30%\" align=\"left\">Copyright &copy; %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
# Generate docs. Does not work for shadow builds and never will.
# (adding a "docs" make target).
unix {
QDOC = SRCDIR=$$PWD OUTDIR=$$OUT_PWD/html $$(QTDIR)/tools/qdoc3/qdoc3
QDOC = SRCDIR=$$PWD OUTDIR=$$OUT_PWD/doc/html $$(QTDIR)/tools/qdoc3/qdoc3
HELPGENERATOR = qhelpgenerator
} else {
QDOC = $$(QTDIR)\tools\qdoc3\release\qdoc3.exe
HELPGENERATOR = qhelpgenerator
}
QHP_FILE = $$OUT_PWD/html/qtcreator.qhp
QCH_FILE = $$OUT_PWD/qtcreator.qch